Yes, it is much slower. If you want to dramatically speed up the Windows build use --no-eigen. For some reason the MSVC compiler takes much longer when Eigen is involved (probably because Eigen is a heavily templated library).
I did what you said.
I hope it goes well because i’ve started compiling with three threads about 9 hours ago and it still goes on!
There is a “link.exe” in process started few hours ago and uses most cpu since then:
Yes, the link time of libpanda is ridiculous with Eigen enabled, especially with the 32-bit build. :-/ Not really sure what we can do about that, except perhaps integrating a different math library.
So far changing pvector to epvector seemed to make it get past the point where it failed.
It’s about 30 hours now since i’ve started compiling!! and still there is “link.exe” with over 95 percent cpu usage.
Should i cancel it?
I’m using Windows XP in vbox with 900mb ram and one core cpu with 1.3ghz speed.
Yes. 900 MB is not enough to compile Panda on Windows, especially not with Eigen.
Note that you don’t have to compile Panda in Windows XP in order to get a build that will run on Windows XP. You do have to pass --no-touchinput (and also --no-sse2 if you want to target older CPUs) in order to disable Windows 7 specific features.
You can use --arch i386 to make a 32-bit build on a 64-bit host system.
Now i’m in Win7 x64 with two cpu core and 1600mb ram and it’s about 8 hours since i’ve started compiling.
In Task Manager i can see almost half of my ram is empty and “link.exe” is using about 305mb ram which is increasing gradually.
What config do you recommend for compiling on Windows?
I don’t know. I’ll think about possible ways we might solve the compile time issues, perhaps through the use of precompiled headers. In the meantime, I would suggest that you disable eigen.
Note that if you compile with rtdist, it does an optimize level 4 build by default, which means that it does link time code generation, which means that all the compilation time is deferred to the link step. So it makes sense that the link step takes so long for an rtdist build. But not 8 hours.
I’ve decided that the 32-bit release of Panda 1.9.0 for Windows will be compiled without Eigen too, because the build was still not done. Ugh. We compile with --no-sse2 on 32-bit systems, so it’s of questionable benefit anyway.
I don’t want to start a new post, but I feel like the compile time heavily increased in the last months, arround 5 Months ago I could do a fullbuild with eigen in about 1 hour, now I had to abort the build because it was building for ages. Might it be that there is a bug, increasing compile time by a lot?
Yes, I also noticed increased compile times. I don’t know. Maybe including an Eigen header in some central header file was to blame, or something like that. Hmm.
I have half a heart to just kick out Eigen and hand-roll my own SSE2 implementation.