Hi All,
This question is related to the performance of wine using wine and WineLib
I have a win32 program that uses a dll. I am checking the timing to execute a function that is exported by the dll
I wanted to execute this program in Linux (using wine and WineLib) and check the performance.
When I executed the win32 program in Linux using wine <win32program> The execution time of the function exported by the dll is as same as in direct execution of the program in windows
Then I converted the dll into .so and compiled and linked this .so with win32 program using WineLib and Wineg++ The timing that was taken to execute the function exported by the dll ( through .so ) is almost two times, compread with executing using wine.
Does any one has any reference for further investigation on this problem or any information
Thank you Ajay
On 1/3/06, Ananth M mekaananth@gmail.com wrote:
Then I converted the dll into .so and compiled and linked this .so
with win32 program using WineLib and Wineg++ The timing that was taken to execute the function exported by the dll ( through .so ) is almost two times, compread with executing using wine.
Does any one has any reference for further investigation on this
problem or any information
I'm not sure if this is the reason or not, but we discussed this a bit at WineConf last year. The concensus was that MSVC produces much faster code compared to GCC. Maybe try compiling with MinGW on Windows and see what happens with the DLL in Windows?
-Brian
This may sound like a stupid thought, and may have already been discussed (I couldnt attend wineconf), but doesnt g++ compile everything with -Ox upon request, so it is size-optimized (read: Compressed), and don't most people use that same flag on most compilations? It seems to me that if the above 2 statements are correct, then the reason MSVC produces faster code than g++ is because MSVC doesnt compress it's output, you have to use something like upx to compress it, while keeping it executable, and then once that is done, the binary runs slower... Like I said, probably already discussed, and probably incorrect, but my 2c either way.
Brian Vincent wrote:
On 1/3/06, Ananth M mekaananth@gmail.com wrote:
Then I converted the dll into .so and compiled and linked this .so
with win32 program using WineLib and Wineg++ The timing that was taken to execute the function exported by the dll ( through .so ) is almost two times, compread with executing using wine.
Does any one has any reference for further investigation on this
problem or any information
I'm not sure if this is the reason or not, but we discussed this a bit at WineConf last year. The concensus was that MSVC produces much faster code compared to GCC. Maybe try compiling with MinGW on Windows and see what happens with the DLL in Windows?
-Brian
Hi,
On 1/4/06, Tom Spear (aka Dustin Navea) speeddymon@gmail.com wrote:
This may sound like a stupid thought, and may have already been discussed (I couldnt attend wineconf), but doesnt g++ compile everything with -Ox upon request, so it is size-optimized (read: Compressed), and don't most people use that same flag on most compilations? It seems to me that if the above 2 statements are correct, then the reason MSVC produces faster code than g++ is because MSVC doesnt compress it's output, you have to use something like upx to compress it, while keeping it executable, and then once that is done, the binary runs slower... Like I said, probably already discussed, and probably incorrect, but my 2c either way.
The resulting msvc binaries tend to be smaller and faster so you don't need any sort of compression. At least this is the case for C++ code, I have never bothered to check for C code but I assume this to be the case. The simple fact is any recent msvc produces better, faster, smaller binaries. It even compiles in less time in most cases than gcc with pch+distcc+ccache and all the other hacks. Unless you need to call a native linux library from your application there is really no point in making a winelib app.
-- Steven Edwards - ReactOS and Wine developer
"There is one thing stronger than all the armies in the world, and that is an idea whose time has come." - Victor Hugo