Hello,

I encountered a performance bug in Pharo 6 under Windows 10 with Moose,
starting from the Moose 6.1 (beta) image in Pharo Launcher.

I migrated my code from Pharo 5 and it uses a PharoCommandLineHandler to
load an MSE file, which sometimes has many (15K) warnings/errors. It was
taking over a minute to run something that in Moose takes only a few
seconds.

To debug and make a minimal example, I removed the Moose file part of my
CommandLineHandler and simulated the writing of errors (i/o) with a loop. I
believe the I/O to the stderr is why the performance is bad. In Windows 10
Task Manager, I can see that the process is not using much CPU. As I
recall, my code didn't have this performance problem in Pharo 5.

The command in windows to execute my minimal sample is something like:

C:\Users\me>Documents\Pharo\vms\61-x86\PharoConsole.exe -headless
"C:\Users\me\Documents\Pharo\images\Moose Suite 6.1 (beta)\CommandHandler
VM slow bug.image" mooseminer --msefile blah

The last part (--msefile blah) is needed because I didn't want to remove
the argument validation.

Here's a copy of the image:

https://www.dropbox.com/s/7cgt37lef2xh2ut/CommandHandler%20VM%20slow%20bug.image?dl=0

A workaround is to run without -headless (or to not have so many errors).

I hope this is useful to someone. For RMOD people I'm happy to demo this on
my machine. Cheers,

-- 
Christopher Fuhrman, P.Eng, PhD

*Professor in the Département of Software and IT EngineeringÉTS (École de
technologie supérieure)*
http://profs.etsmtl.ca/cfuhrman
+1 514 396 8638
*L'ÉTS est une constituante de l'Université du Québec*

Reply via email to