I’m currently developing my Django projects on both:
- Mac OS X 10.5, 32 bit
- Ubuntu Server 9.10 64 bits (1 CPU, 512MB RAM)
Both of the above OS are using:
- Python 2.6.4
- Django 1.1.1
- MySQL 5.1
Running 12 tests for one of my application take:
- Mac: 57.513s
- Linux: 30.935s
EDIT:
Mac Hardware Spec:
- MacBook Pro
- 2.2 GHz Intel Core 2 Duo
- 3GB RAM
I’m running the Ubuntu OS on the same mac above through VMware Fusion 2.0.6.
You might argue that Ubuntu Server 64 bits is faster but I have observed a similar speed difference on Ubuntu 8.10 32 bits desktop edition. Even if I turn off my linux VM and other mac applications, I still experience the slowness. Has anyone else experienced this Django test speed difference across those two OS?
Found the answer:
Thanks to the comment from istruble and the answer from DZPM (I’ve +1 to you since I can’t accept an answer in expired bounty question). It looks like the MySQL database as a test database on the mac is causing the performance issue. Using sqlite3 for tests make the test run time comparable on both platforms.
It depends on your tests, but the bottleneck should be in the database. Could you benchmark MySQL 5.1 in both platforms?
If that’s the case, you should set the database in another machine, then configure your project to use it.