In squeak, that would be: Frank Shearar uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-fbs.513.mcz ==================== Summary ==================== Name: Collections-fbs.513 Author: fbs Time: 26 April 2013, 11:13:00.656 am UUID: dba4f808-6844-414c-a5bf-5cda0cf4e342 Ancestors: Collections-bf.512 This fixes the recent report of an Ubuntu 13.04 machine not being able to save a class comment. https://bugzilla.redhat.com/show_bug.cgi?id=956376 I presume that the workaround in Pharo appeared more or less simultaneously since Pavel was active in the bug report. Now we re-discover that such workaround can have side effects... 2017-04-01 10:06 GMT+02:00 Nicolas Cellier < nicolas.cellier.aka.nice@gmail.com>:
AFAIR, flushing after each write was a workaround against some linux problem. I think that flush is not exagerately expensive on linux, because there's a difference between flush (transfer data from user space buffers to kernel space buffers) and sync (transfer data to the disc).
In Win32 VM, the fileFlush and fileSync primitives do the same call to FlushFileBuffers. The msdn tells it's a bad thing to repeatedly call FlushFileBuffers https://msdn.microsoft.com/en-us/library/windows/desktop/ aa364439(v=vs.85).aspx I don't see such thing as a "cheap" flush on windows.
But do we really need to flush? Couldn't we rather implement a linuxWorkaroundFlush: aFile method that would flush on linux and do nothing anywhere else?
2017-04-01 6:40 GMT+02:00 Martin Dias <tinchodias@gmail.com>:
Hi all. I rarely use Windows but this night entered again to repeat the load test in Pharo.
Cyril: I uninstalled the antivirus and excluded .changes and .images files in the "Windows Defender" (didn't know it exists). I may note some speed up but not much, so it wasn't THE solution.
Peter: I didn't check firewall but "Compiling methods..." is what stays on screen so it shouldn't be the network.
Eliot: this time I profiled it and can highlight from report that Leaves shows 91% in StandardFileStream>>primFlush:. I guess it isn't too surprising since file writing is expensive but it's a lot. However I didn't compare it yet with the respective report in linux. For the record, I attach the report.
Code evaluated: AndreasSystemProfiler spyOn: [ Gofer new url: 'http://www.smalltalkhub.com/mc/ObjectProfile/Roassal2/main' ; package: 'ConfigurationOfRoassal2'; load. #ConfigurationOfRoassal2 asClass load.]
Regards MartÃn
On Thu, Mar 16, 2017 at 8:03 PM, Cyril Ferlicot D. < cyril.ferlicot@gmail.com> wrote:
Le 16/03/2017 à 05:11, Martin Dias a écrit :
And it takes >30 minutes to load Roassal2, while takes <1 minyte in Linux (same notebook). Script:
Do you have an anti-virus? If yes did you excluded the .changes and ombu files from the files to check? If not the anti-virus might analyze your file at each compilation.
-- Cyril Ferlicot
2 rue Jacques Prévert 01, 59650 Villeneuve d'ascq France