Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » Coffee corner » Ultimate++ for My Thesis
Ultimate++ for My Thesis [message #13622] Thu, 17 January 2008 20:30 Go to next message
niofis is currently offline  niofis
Messages: 9
Registered: January 2008
Promising Member
I really really need to thank the Ultimate++ team. Thanks to you for helping me get my thesis project one big step furter.

I'm (still) working, on a ray tracing engine that distributes the rendering work over many (all available), comodity pcs networked together, intened to achieve realtime rendering. Akin to OpenRT.

At the beginning I was using VCEE 2005, but ran into different problems with it.

The first was that, the client gui, was hard to develop. Mostly because my not so extensive experiense mising c++(non-managed) and c++(managed), with .net framework libraries.

Second was that not all windows xp machines were able to run the binaries, much less a BartPE WinXP Live CD, that I wanted to do some testing with. No compiler/linker tweaking could make it work, nor discard those non-needed libraries.

And finally, I couldn't run the program on Linux using wine, because the lack of .NET Framework 2.0.

After some searching for a C++ IDE, I stumbled upon Ultimate++ and TheIDE. Fiddling with it for a week made me discard VCEE, and move my project on to Upp.

What a great library you have!!!!. Just doing a little work to networking classes, using your network classes, and rebuilding the client gui. My program was running and compiling natively on windows and linux. And with a little changes on the Upp sources (might share with you if you're interested), I could make it run on then PocketPC platform!!, a feat my peers said would take much time and trouble Very Happy.

I'm very impressed with the Ultimate++ library, thank you very much.


niofis


PD. I would like sharing some findings: MinGW outputs code that is almost 40% faster than the one compiled with MSC. Windows MinGW vs Linux GCC speed comparison shows that the linux version is around 11% faster than the windows one.
Re: Ultimate++ for My Thesis [message #13624 is a reply to message #13622] Thu, 17 January 2008 21:05 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
niofis wrote on Thu, 17 January 2008 14:30


PD. I would like sharing some findings: MinGW outputs code that is almost 40% faster than the one compiled with MSC. Windows MinGW vs Linux GCC speed comparison shows that the linux version is around 11% faster than the windows one.


Interesting. Are you sure you have compiled in optimal mode?

Also, if you application is FP heavy, maybe mingw has activated SSE 2 FP by default, while MSC stays with x87. Would be interesting to investigate. So far, MSC always seems on par with Mingw to me in generated code quality and 2-3x faster compiling.

Mirek
Re: Ultimate++ for My Thesis [message #13627 is a reply to message #13622] Thu, 17 January 2008 22:17 Go to previous messageGo to next message
niofis is currently offline  niofis
Messages: 9
Registered: January 2008
Promising Member
I've compiled using the optimise speed settings for both.

My application is very FP intensive (as is memory intensive too), because it calculates intersections between tree dimensional objects and rays to build the rendered output. All in single float poing precission.

Quote:

Also, if you application is FP heavy, maybe mingw has activated SSE 2 FP by default, while MSC stays with x87.


I wasn't aware that mingw had SSE 2 optimizations by default, altough I knew MSC was using x87 after looking at the disassembly.

How can I enable those optimizations on MSC and or get better ones, on both?.

Anyway, I'm willing to help yo investigate further, because it's the kind of information I need to include on my paper. I was going to add the MinGW vs MSC speed test, but will need correction if it's found to be flawed.


niofis
Re: Ultimate++ for My Thesis [message #13628 is a reply to message #13627] Thu, 17 January 2008 22:25 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
niofis wrote on Thu, 17 January 2008 16:17


I wasn't aware that mingw had SSE 2 optimizations by default, altough I knew MSC was using x87 after looking at the disassembly.

How can I enable those optimizations on MSC and or get better ones, on both?.

Anyway, I'm willing to help yo investigate further, because it's the kind of information I need to include on my paper. I was going to add the MinGW vs MSC speed test, but will need correction if it's found to be flawed.
niofis


Actually, I am not sure about either Smile

http://msdn2.microsoft.com/en-us/library/7t5yh4fd(VS.71).asp x

Seems you should add "/arch:SSE2" to the build method options.

Should speed-up your code in any case Smile

Mirek

[Updated on: Thu, 17 January 2008 22:26]

Report message to a moderator

Re: Ultimate++ for My Thesis [message #13629 is a reply to message #13622] Fri, 18 January 2008 00:12 Go to previous messageGo to next message
niofis is currently offline  niofis
Messages: 9
Registered: January 2008
Promising Member
You might find this quite interesting...

Ater a quick test with these different compiler options:
MSC8 -> -O2 -GS- -arch:SSE2 (with and without this one)
MinGW -> -O3 -ffunction-sections -msse2 (with and without this one)

And found this:
using -arch:SSE2 on MSC gave me a 1.75% speed boost
using -msse2 on MinGW gave me a 2.47% speed boost

Actual results
Quote:


msc8
19331.9ms -O2 -GS-
18992.8ms -O2 -GS- -arch:SSE2

mingw
12425.4ms -O3 -ffunction-sections
12118.1ms -O3 -ffunction-sections -msse2



Not so much of an improvement, but worth using it for the task at hand.

As you can see MinGW still holds it's edge over MSC, altough more research should be done.

niofis
Re: Ultimate++ for My Thesis [message #13630 is a reply to message #13629] Fri, 18 January 2008 00:22 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
niofis wrote on Thu, 17 January 2008 18:12

You might find this quite interesting...

Ater a quick test with these different compiler options:
MSC8 -> -O2 -GS- -arch:SSE2 (with and without this one)
MinGW -> -O3 -ffunction-sections -msse2 (with and without this one)

And found this:
using -arch:SSE2 on MSC gave me a 1.75% speed boost
using -msse2 on MinGW gave me a 2.47% speed boost

Actual results
Quote:


msc8
19331.9ms -O2 -GS-
18992.8ms -O2 -GS- -arch:SSE2

mingw
12425.4ms -O3 -ffunction-sections
12118.1ms -O3 -ffunction-sections -msse2



Not so much of an improvement, but worth using it for the task at hand.

As you can see MinGW still holds it's edge over MSC, altough more research should be done.

niofis


What CPU is that?

Mirek
Re: Ultimate++ for My Thesis [message #13631 is a reply to message #13622] Fri, 18 January 2008 00:26 Go to previous messageGo to next message
niofis is currently offline  niofis
Messages: 9
Registered: January 2008
Promising Member
I'm using a
Pentium 4 640 3.0 GHz (Prescott)

Supports MMX,SSE,SSE2,SSE3,EM64T


niofis

[Updated on: Fri, 18 January 2008 00:27]

Report message to a moderator

Re: Ultimate++ for My Thesis [message #13632 is a reply to message #13631] Fri, 18 January 2008 07:59 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Thinking further, another possible explanation is STL - if you are using it a lot.. Starting with MSVC 2005, STL implementation is quite slow...

Mirek
Re: Ultimate++ for My Thesis [message #13642 is a reply to message #13632] Fri, 18 January 2008 16:40 Go to previous message
niofis is currently offline  niofis
Messages: 9
Registered: January 2008
Promising Member
luzr wrote on Thu, 17 January 2008 23:59

Thinking further, another possible explanation is STL - if you are using it a lot.. Starting with MSVC 2005, STL implementation is quite slow...



Actually yes, I use the STL quite a lot, I need to change that and implement NTL. I guess that would bring a good performance enhacement. Hopefully on PocketPC too, that thing is awfully slow.


niofis
Previous Topic: Successfull cross-compile to ARM9, AT91SAM9263-ek
Next Topic: an interesting C++ compiler (supports C++0x)
Goto Forum:
  


Current Time: Sat Apr 27 01:27:45 CEST 2024

Total time taken to generate the page: 3.92749 seconds