Mattias Gärtner wrote: > > Multithreading means that all strings access need critical sections.
So is this always the case for Windows applications? Would that mean that applications that don't used multi-threading actually run faster under Linux, *BSD and OS X compared to Windows? > So adding cthreads will deccelerate your application, even if you do > not start any thread. Is this in theory, or has somebody actually done some speed tests to see by what factor the applications are slowed down? What would be a good test to see a speed difference? > See also > http://wiki.lazarus.freepascal.org/Multithreaded_Application_Tutorial#Units_needed_for_a_multi-threaded_application Thanks for the link, but that wiki pages misses a vital piece of information - and the reason for this message thread. It should include the answer as to why Windows has multi-threading support enabled by default, but all other platforms do not. It just says that other non-Windows platforms are handled differently, but it doesn't say why. Like I mentioned earlier, does that mean you cannot create a non multi-threaded application in Windows? Also does that mean non multi-threaded applications run faster on other platforms than on Windows, because Windows must use critical sections for all string access? If it's a requirement for Windows, why not for other platforms too. Seeing the actually speed difference between enabled/disabled multi-threading support might answer this question and maybe be a valid reason. Is there a test suite for this speed comparison - so I can try it out myself? Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/ -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
