Build Performance on Windows
Filed under: Tool Chain
By Thomas Herchenröder @ October 16, 2008 5:52 pm
I've been recently playing with building qooxdoo 0.8 under Windows, and was shouting out how long it took on my laptop to do a "generate.py build" of the demobrowser including all demos. I was using a Python 2.5.1 under cygwin. My laptop is a moderately outdated machine (Single-core Pentium M 725 1.6Ghz with 512MB RAM running WinXPSP2). Johnny started an argument about the impact of cygwin on the performance, so I did the same again with a native Windows Python, and was shocked: The native version used 34 minutes to finish, whereas the cygwin version took 50! Given all other constraints (e.g. the native Python has the Stackless patch applied) I wouldn't have expected the native version to be so much faster.
Would be interesting to hear if others observe the same dramatic differences.

Comment by Helder Magalhães
Yes, generating a build under Windows+cygwin is painful, even if only for a particular application or subset of applications. It’s something to leave doing during lunch break.
My current experience comes from 0.7.x so this may be even be a bit more biased (”make” overhead added to the result), but Windows is really slow compared to a native Python environment (such as Linux). A good comparison to add would be gathering the same numerical results under Linux and compare to the Windows+native Python. Nevertheless, this surely deserves some attention and, possibly, putting a note on cygwin usage on qooxdoo SDK install documentation.
I’m (also) amazed by your results and will surely take this into consideration while switching to 0.8!
October 16, 2008 10:21 pm
Comment by Jeremy
I’ve noticed this as well…I just ran the setup for the demo in native and it took about 23 minutes on a comp with about 2 gigs of ram and a 2.8 ghz processor. Cygwin seems to take forever. Still doesn’t beat python running in a VM session with ubuntu on virtual box though on the same machine though…
October 16, 2008 11:40 pm
Comment by Derrell Lipman
On my Intel Core2 Duo CPU T7800 @ 2.60GHz laptop running Ubuntu Linux (Hardy), a ‘generate.py build’ of demobrowser took 13:16.34 after distclean)
Derrell
October 17, 2008 3:32 pm
Comment by peter
Gentlemen,
I just wanted to thank you for the wonderful work you’ve done so far. Qooxdoo rocks and IMHO beats every other JS framework.
Using QX-SDK-7, I developed a web 2.0 application a while ago. Have a look at it: http://www.foxmemo.com
I’m looking forward to using QX8!
October 17, 2008 11:00 pm
Comment by Benoit Collignon
Same Problem… Also, there also is a persistent problem/bug “Couldn’t store cache !!!” at the end of the process. I found this seemed disappear when general memory used in Process List was low. Switching to ubuntu became thus a necessity when I saw the performance difference.
October 18, 2008 12:53 pm
Comment by Thomas Herchenröder
Thanks to everybody for their feedback. I will try to wrap it up in the upcoming weekly. While the focus of my post was on the comparison between Python running under cygwin and Python running under Windows directly, looking at other platforms’ perfomances is also worthwhile. So thanks for chiming in with e.g. Linux. But the real impact of this posting is for Windows users.
@Benoit: I’m not sure but it looks like this could be a RAM problem. This might occur when you’re compiling a very large project, or have very little memory. But this would also be the case when you run Linux on the same hardware. And Linux becomes *really* slow when you exhaust both real and virtual memory.
October 23, 2008 10:48 am