Now that the iPad 2 comes with two CPU cores, the debugging of threading issues will be more important than ever. Now I'm wondering: Does the iOS-Simulator actually use the multiple cores available on the Mac?
Asked
Active
Viewed 3,147 times
2 Answers
19
To run iOS programs on the simulator, Xcode compiles your program for the Intel processor. The simulator does not emulate an ARM processor, so exact execution of threaded code will differ from an iOS device and the simulator. Regardless of how many cores the iOS simulator uses, threaded code execution may vary greatly between the ARM processors in iOS devices and the Intel processor running on the Mac. Therefore any issues that crop up due to the multicore iPad 2 processor may or may not show up in the simulator.
In other words, you'll want to debug such issues on the iPad 2, not the simulator, so it doesn't matter how many cores the simulator uses.

Mr. Berna
- 10,525
- 1
- 39
- 42
-
Of course, nothing replaces debugging on the real thing. Just trying to do my best, everything will run flawlessly from day 0 when it comes out. – Ortwin Gentz Mar 02 '11 at 20:24
-
@fluchtpunkt, I did and upvoted yours and your comment to compensate ;) – Ortwin Gentz Mar 02 '11 at 20:26
-
2When dealing with threading hazards, debugging is not the solution, either on the Simulator or any one of many devices. – hotpaw2 Mar 02 '11 at 20:40
-
@fluchtpunkt: No, your answer is better. For one, because it actually answers the original question. Second, because it does not imply that threading issues are reproducable or even deterministic on the device. It is a good idea to begin debugging on a multicore machine even if the target architecture differs. – Nikolai Ruhe May 19 '11 at 13:49
-
@fluchtpunkt I agree that your answer is better. I was seeing some issues that happened on iPad 2 and the simulator but not on the iPad 1. Based on your experiment I strongly suspect it's related to issues around multiple cores. Thanks! – Jon Tirsen Oct 05 '11 at 14:07