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
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:


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