Slow writing to Transcript (stderr) in Windows 10 PharoConsole.exe -headless

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Slow writing to Transcript (stderr) in Windows 10 PharoConsole.exe -headless

Christopher Fuhrman

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:

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)
+1 514 396 8638
L'ÉTS est une constituante de l'Université du Québec