Project::OSiRiON

  • Status Assigned
  • Percent Complete
    10%
  • Task Type Bug Report
  • Category src → client
  • Assigned To No-one
  • Operating System Windows
  • Severity Medium
  • Priority Very Low
  • Reported Version Development
  • Due in Version 0.5.0-alpha
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Project::OSiRiON
Opened by Michael Rodenhurst - 2011-07-06
Last edited by Stijn Buys - 2013-01-19

FS#56 - Extremely slow to load.

Windows is extremely slow to load compared to other platforms.

$time ./src/osirion +connect +quit

Linux: 3.3 seconds
Windows: 23.7 seconds

This may be related to the binaries being produced via mingw:

http://osdir.com/ml/gnu.mingw.msys/2006-03/msg00024.html

The best solution is to probably use a Visual C++ toolchain for windows binaries.

Admin
Michael Rodenhurst commented on Thursday, 05 January 2012, 23:14 GMT

I've found that no amount of gcc options will cause an increase in performance worth mentioning. Using the following crazy concoction of cflags, I've found that in total it took about 1 second off the load time in windows (average weighing of 5 attempts)

flags .............. -pipe -O3 -ffast-math -mfpmath=sse -mpc80 -mhard-float -s -march=core2 -mtune=core2 -minline-all-stringops -fstrict-overflow -fno-asynchronous-unwind-tables -fno-non-call-exceptions -fno-unwind-tables -fmerge-all-constants -fira-loop-pressure -fno-exceptions -fstrict-aliasing -fno-ident -fomit-frame-pointer -mms-bitfields

Admin
Michael Rodenhurst commented on Sunday, 08 January 2012, 03:03 GMT

No, the answer is not MSVC, MSVC builds are only slightly faster.

Admin
Stijn Buys commented on Saturday, 19 January 2013, 13:31 GMT

When using iterators in C++, there's a distinct performance difference between it++ and ++it.
I optimized all iterator loops in the map loader by replacing it++ with ++it where possible.
There's a noticable performance gain on windows.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing