А посему сравнение эмуляторов-симуляторов снова откладывается, но на сладкое и вкусное у нас есть интересное сравнение быстродействия iPhone 3G и 3GS, а стало быть и iPod Touch 2G и 3G.
Первоисточник: http://aussiebloke.blogspot.com/2010/01/micro-benchmarking-2nd-3rd-gen-iphones.html
iPhone 3G
ARM1176 ~412MHz / 2.4ns per cycle
| Name | Iterations | Total time (sec) | Time per (ns) |
| IMP-cached message send | 100000000 | 3.9 | 38.6 |
| C++ virtual method call | 100000000 | 5.0 | 49.9 |
| Floating-point division | 10000000 | 0.8 | 81.3 |
| Float division with int conversion | 10000000 | 0.8 | 81.4 |
| 16 byte memcpy | 10000000 | 1.4 | 136.0 |
| Objective-C message send | 100000000 | 14.9 | 148.6 |
| Integer division | 100000000 | 16.2 | 162.2 |
| CF CFArrayGetValueAtIndex | 10000000 | 2.0 | 201.7 |
| Objective-C objectAtIndex: | 10000000 | 4.2 | 418.3 |
| NSInvocation message send | 100000 | 0.2 | 1833.2 |
| 16 byte malloc/free | 10000000 | 27.3 | 2729.8 |
| NSObject alloc/init/release | 100000 | 1.4 | 14179.1 |
| NSAutoreleasePool alloc/init/release | 100000 | 1.9 | 18956.7 |
| 16MB malloc/free | 1000 | 0.0 | 47811.3 |
| Zero-second delayed perform | 1000 | 0.8 | 803419.3 |
| pthread create/join | 100 | 0.1 | 1085830.0 |
| 1MB memcpy | 100 | 1.0 | 9902796.7 |
iPhone 3GS (ARMv7 binary)
ARM Cortex A8 ~600MHz / 1.66 ns per cycle
| Name | Iterations | Total time (sec) | Time per (ns) |
| IMP-cached message send | 100000000 | 1.2 | 11.8 |
| C++ virtual method call | 100000000 | 4.3 | 42.9 |
| Objective-C message send | 100000000 | 5.9 | 59.2 |
| CF CFArrayGetValueAtIndex | 10000000 | 1.0 | 97.9 |
| Integer division | 100000000 | 9.8 | 98.4 |
| 16 byte memcpy | 10000000 | 1.1 | 109.3 |
| Floating-point division | 10000000 | 1.2 | 118.5 |
| Objective-C objectAtIndex: | 10000000 | 1.3 | 129.0 |
| Float division with int conversion | 10000000 | 1.4 | 142.6 |
| 16 byte malloc/free | 10000000 | 7.5 | 748.6 |
| NSInvocation message send | 100000 | 0.1 | 806.0 |
| NSObject alloc/init/release | 100000 | 0.5 | 4793.1 |
| NSAutoreleasePool alloc/init/release | 100000 | 0.5 | 4953.1 |
| 16MB malloc/free | 1000 | 0.0 | 17969.2 |
| Zero-second delayed perform | 1000 | 0.2 | 211840.4 |
| pthread create/join | 100 | 0.0 | 214742.5 |
| 1MB memcpy | 100 | 0.3 | 3162774.6 |
Пропускная способность памяти:
iPhone 3G - 200MB/s
iPhone 3GS - 800Mb/s
Комментариев нет:
Отправить комментарий