Slow compilation on one of my Windows PCs

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
37 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Slow compilation on one of my Windows PCs

Jan Blizničenko
Hello

I have a long-term problem with loading of packages. Compilation takes very long time on my Windows PCs. On desktop it takes "only" double amount of time in comparison with linux, but on notebook, it is more than 10 times slower. Desktop has Windows 7 Ultimate 64-bit and notebook PC with Windows 7 Home Premium 64-bit, both have somehow similar specs (4-6 years old dual-core processors on 2,9 and 2,4 GHz), similar software, both have magnetic HDDs. I believe it used to take very long time on my notebook too, but I tried opening Pharo there again and it was somehow OK, but I'm not aware of any major change which could have caused it ... I mean... a lot changes on my PCs, but I can't remember anything which could directly affect it.

Following "benchmarks" are both on same (copy paste) of VM - Windows VM 453 from 2015-06-18. Both on clean image 50141. All tested in as much as similar conditions as possible with everything else (possible) turned off. However, it used to be slow like that for a long time on multiple previous VMs and images since I can even remember (which is about a year).


[
        Gofer new
                configurationOf: 'Roassal2';
                url: 'http://smalltalkhub.com/mc/ObjectProfile/Roassal2/main/';
                loadDevelopment.
] timeToRun inspect.

Desktop: 386 s.
Notebook: 48 s.
Linux in VM on notebook: 27 s.



|results|
results := OrderedCollection new.
20 timesRepeat: [results add: (Float readFrom: [
Object compile: 'a'.
] bench)].
('compilations per second - avg: ', results average asString, ', min: ', results min asString, ', max: ', results max asString) inspect.

Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
Linux in VM on notebook: compilations per second - avg: 529.0066600000001, min: 5.0, max: 573.97


I tried turning off antivirus, turning off file indexing, praying to multiple gods, but with no success.

I will appreciate any help.

Jan
Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Peter Uhnak
I've had also bad results on windows... 
Windows XP 32bit (VirtualBox) - 178.200 (compilations per second)

compared to

Ubuntu 32bit (VirtualBox) - 694.932 
Debian 64bit (host) - 669.932

I had also had experience with Git handling small files on windows was incredibly slow... so maybe it has something to do with disk writes?
What exactly is happening when a method is compiled? A write to changes browser, to the image, parsing, ...?

Peter

On Mon, Jun 29, 2015 at 7:52 PM, Jan Blizničenko <[hidden email]> wrote:
Hello

I have a long-term problem with loading of packages. Compilation takes very
long time on my Windows PCs. On desktop it takes "only" double amount of
time in comparison with linux, but on notebook, it is more than 10 times
slower. Desktop has Windows 7 Ultimate 64-bit and notebook PC with Windows 7
Home Premium 64-bit, both have somehow similar specs (4-6 years old
dual-core processors on 2,9 and 2,4 GHz), similar software, both have
magnetic HDDs. I believe it used to take very long time on my notebook too,
but I tried opening Pharo there again and it was somehow OK, but I'm not
aware of any major change which could have caused it ... I mean... a lot
changes on my PCs, but I can't remember anything which could directly affect
it.

Following "benchmarks" are both on same (copy paste) of VM - Windows VM 453
from 2015-06-18. Both on clean image 50141. All tested in as much as similar
conditions as possible with everything else (possible) turned off. However,
it used to be slow like that for a long time on multiple previous VMs and
images since I can even remember (which is about a year).


[
        Gofer new
                configurationOf: 'Roassal2';
                url: 'http://smalltalkhub.com/mc/ObjectProfile/Roassal2/main/';
                loadDevelopment.
] timeToRun inspect.

Desktop: 386 s.
Notebook: 48 s.
Linux in VM on notebook: 27 s.



|results|
results := OrderedCollection new.
20 timesRepeat: [results add: (Float readFrom: [
Object compile: 'a'.
] bench)].
('compilations per second - avg: ', results average asString, ', min: ',
results min asString, ', max: ', results max asString) inspect.

Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
Linux in VM on notebook: compilations per second - avg: 529.0066600000001,
min: 5.0, max: 573.97


I tried turning off antivirus, turning off file indexing, praying to
multiple gods, but with no success.

I will appreciate any help.

Jan



--
View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Jan Blizničenko
In reply to this post by Jan Blizničenko
And one another benchmark of linux in VM on that desktop PC:
Roassal loading - 58 s
compilations per second - avg: 262.4682, min: 257.194, max: 289.684
...so the desktop PC is capable of better result and problem is somewhere in Windows, which I was afraid of...

I'd also like to add to previous Windows tests that with antivirus turned on everything takes more time approximately by half of original time.

Jan

Jan Blizničenko wrote
Desktop: 386 s.
Notebook: 48 s.
Linux in VM on notebook: 27 s.


Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
Linux in VM on notebook: compilations per second - avg: 529.0066600000001, min: 5.0, max: 573.97
Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Clément Béra
What about "1 tinyBenchmarks" ?

Just to know if the VM is slower as a whole or only compilation / source access ?

2015-06-30 0:36 GMT+02:00 Jan Blizničenko <[hidden email]>:
And one another benchmark of linux in VM on that desktop PC:
Roassal loading - 58 s
compilations per second - avg: 262.4682, min: 257.194, max: 289.684
...so the desktop PC is capable of better result and problem is somewhere in
Windows, which I was afraid of...

I'd also like to add to previous Windows tests that with antivirus turned on
everything takes more time approximately by half of original time.

Jan


Jan Blizničenko wrote
> Desktop: 386 s.
> Notebook: 48 s.
> Linux in VM on notebook: 27 s.
>
>
> Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
> Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
> Linux in VM on notebook: compilations per second - avg: 529.0066600000001,
> min: 5.0, max: 573.97





--
View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834713.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Nicolai Hess


2015-06-30 3:17 GMT+02:00 Clément Bera <[hidden email]>:
What about "1 tinyBenchmarks" ?

Just to know if the VM is slower as a whole or only compilation / source access ?

most time is spend on primitives
FilePrimitives are slow on windows.

 

2015-06-30 0:36 GMT+02:00 Jan Blizničenko <[hidden email]>:
And one another benchmark of linux in VM on that desktop PC:
Roassal loading - 58 s
compilations per second - avg: 262.4682, min: 257.194, max: 289.684
...so the desktop PC is capable of better result and problem is somewhere in
Windows, which I was afraid of...

I'd also like to add to previous Windows tests that with antivirus turned on
everything takes more time approximately by half of original time.

Jan


Jan Blizničenko wrote
> Desktop: 386 s.
> Notebook: 48 s.
> Linux in VM on notebook: 27 s.
>
>
> Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
> Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
> Linux in VM on notebook: compilations per second - avg: 529.0066600000001,
> min: 5.0, max: 573.97





--
View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834713.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Peter Uhnak
Windows XP
1011857707 bytecodes/sec; 132044070 sends/sec

Debian
1172295363 bytecodes/sec; 144744207 sends/sec

But I think taking the compile: method apart tells a better story

~~~~~~~~~~~~~~~~~~~
code := 'a'.

method := Object compiler
source: code;
requestor: nil;
failBlock: [ ^nil ];
compile.

all := [ 
Object compile: code.
].

compile := [ 
Object compiler
source: code;
requestor: nil;
failBlock: [ ^nil ];
compile.
].

store := [ 
method putSource: code inFile: 2
withPreamble: [:f | f cr; nextPut: $!; nextChunkPut: 'Behavior method'; cr].
].

add := [ 
Object addSelector: method selector withMethod: method notifying: nil.
].
~~~~~~~~~~~~~~~~~~~


Windows XP:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
all bench. "'183.763 per second'"
compile bench. "'10,729 per second'"
store bench. "'286.170 per second'"
add bench. "'697.883 per second'"
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Debian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
all bench. "'622.551 per second'"
compile bench. "'11,129 per second'"
store bench. "'41,604 per second'"
add bench. "'787.885 per second'"
~~~~~~~~~~~~~~~~~~~~~~~~~~~

150x slower disk operations? -_-

I mean for normal programming this doesn't really matter, but when we are downloading even medium-sized package it takes ages to process...

Peter
Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Jan Blizničenko
In reply to this post by Clément Béra
Good idea. Results are...

desktop: 664 503 569 bytecodes/sec; 837 14 077 sends/sec.
Linux in VM on desktop: 716 083 916 bytecodes/sec; 74 030 622 sends/sec
notebook: 1 114 861 186 bytecodes/sec; 148 958 012 sends/sec
...results fluctuate by about 10 % on all systems when tried multiple times with some pauses between.

It is right that notebook is almost two times faster (but not 10 times like with compilation), because it has more recent processor (Core i5 mobile vs Athlon 64 x2).

Jan

Clément Bera-4 wrote
What about "1 tinyBenchmarks" ?

Just to know if the VM is slower as a whole or only compilation / source
access ?

2015-06-30 0:36 GMT+02:00 Jan Blizničenko <[hidden email]>:

> And one another benchmark of linux in VM on that desktop PC:
> Roassal loading - 58 s
> compilations per second - avg: 262.4682, min: 257.194, max: 289.684
> ...so the desktop PC is capable of better result and problem is somewhere
> in
> Windows, which I was afraid of...
>
> I'd also like to add to previous Windows tests that with antivirus turned
> on
> everything takes more time approximately by half of original time.
>
> Jan
>
>
> Jan Blizničenko wrote
> > Desktop: 386 s.
> > Notebook: 48 s.
> > Linux in VM on notebook: 27 s.
> >
> >
> > Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
> > Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
> > Linux in VM on notebook: compilations per second - avg:
> 529.0066600000001,
> > min: 5.0, max: 573.97
>
>
>
>
>
> --
> View this message in context:
> http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834713.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Jan Blizničenko
In reply to this post by Peter Uhnak
I ran it in Pharo 4 (40616) because method putSource:inFile:withPreamble: no longer exists in Pharo 5 and results are:

Desktop...
all: 13.062 per second
compile: 6,603 per second (why the hell is there comma as separator and not dot?)
store: 13.431 per second
add: 406.400 per second

Notebook...
all: 210.180 per second
compile: 12,007 per second
store: 454.818 per second
add: 806.239 per second

Jan

Peter Uhnák wrote
Windows XP
1011857707 bytecodes/sec; 132044070 sends/sec

Debian
1172295363 bytecodes/sec; 144744207 sends/sec

But I think taking the compile: method apart tells a better story

~~~~~~~~~~~~~~~~~~~
code := 'a'.

method := Object compiler
source: code;
requestor: nil;
failBlock: [ ^nil ];
compile.

all := [
Object compile: code.
].

compile := [
Object compiler
source: code;
requestor: nil;
failBlock: [ ^nil ];
compile.
].

store := [
method putSource: code inFile: 2
withPreamble: [:f | f cr; nextPut: $!; nextChunkPut: 'Behavior method'; cr].
].

add := [
Object addSelector: method selector withMethod: method notifying: nil.
].
~~~~~~~~~~~~~~~~~~~


Windows XP:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
all bench. "'183.763 per second'"
compile bench. "'10,729 per second'"
*store bench. "'286.170 per second'"*
add bench. "'697.883 per second'"
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Debian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
all bench. "'622.551 per second'"
compile bench. "'11,129 per second'"
*store bench. "'41,604 per second'"*
add bench. "'787.885 per second'"
~~~~~~~~~~~~~~~~~~~~~~~~~~~

150x slower disk operations? -_-

I mean for normal programming this doesn't really matter, but when we are
downloading even medium-sized package it takes ages to process...

Peter
Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Mariano Martinez Peck
Do you have antivirus running in windows that may be bothering with .changes? 
Please try temporary disable antivirus and try again. 

On Tue, Jun 30, 2015 at 4:25 AM, Jan Blizničenko <[hidden email]> wrote:
I ran it in Pharo 4 (40616) because method putSource:inFile:withPreamble: no
longer exists in Pharo 5 and results are:

Desktop...
all: 13.062 per second
compile: 6,603 per second (why the hell is there comma as separator and not
dot?)
store: 13.431 per second
add: 406.400 per second

Notebook...
all: 210.180 per second
compile: 12,007 per second
store: 454.818 per second
add: 806.239 per second

Jan


Peter Uhnák wrote
> Windows XP
> 1011857707 bytecodes/sec; 132044070 sends/sec
>
> Debian
> 1172295363 bytecodes/sec; 144744207 sends/sec
>
> But I think taking the compile: method apart tells a better story
>
> ~~~~~~~~~~~~~~~~~~~
> code := 'a'.
>
> method := Object compiler
> source: code;
> requestor: nil;
> failBlock: [ ^nil ];
> compile.
>
> all := [
> Object compile: code.
> ].
>
> compile := [
> Object compiler
> source: code;
> requestor: nil;
> failBlock: [ ^nil ];
> compile.
> ].
>
> store := [
> method putSource: code inFile: 2
> withPreamble: [:f | f cr; nextPut: $!; nextChunkPut: 'Behavior method';
> cr].
> ].
>
> add := [
> Object addSelector: method selector withMethod: method notifying: nil.
> ].
> ~~~~~~~~~~~~~~~~~~~
>
>
> Windows XP:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~
> all bench. "'183.763 per second'"
> compile bench. "'10,729 per second'"
> *store bench. "'286.170 per second'"*
> add bench. "'697.883 per second'"
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Debian
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> all bench. "'622.551 per second'"
> compile bench. "'11,129 per second'"
> *store bench. "'41,604 per second'"*
> add bench. "'787.885 per second'"
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> 150x slower disk operations? -_-
>
> I mean for normal programming this doesn't really matter, but when we are
> downloading even medium-sized package it takes ages to process...
>
> Peter





--
View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834771.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.




--
Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Jan Blizničenko
Unfortunately no - all benchmarks I made with antivirus disabled.

Mariano Martinez Peck wrote
Do you have antivirus running in windows that may be bothering with
.changes?
Please try temporary disable antivirus and try again.

--
Mariano
http://marianopeck.wordpress.com
Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Mariano Martinez Peck
Can you think of any other window process that could be detecting changes all the time in .changes and therefore have an impact in the performance?  Do you have such pharo image in dropbox or similar service?

On Tue, Jun 30, 2015 at 9:37 AM, Jan Blizničenko <[hidden email]> wrote:
Unfortunately no - all benchmarks I made with antivirus disabled.


Mariano Martinez Peck wrote
> Do you have antivirus running in windows that may be bothering with
> .changes?
> Please try temporary disable antivirus and try again.
>
> --
> Mariano
> http://marianopeck.wordpress.com





--
View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834883.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.




--
Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Marcus Denker-4
we really should get rid of the .changes file… it would simplify things a lot.

On 30 Jun 2015, at 15:02, Mariano Martinez Peck <[hidden email]> wrote:

Can you think of any other window process that could be detecting changes all the time in .changes and therefore have an impact in the performance?  Do you have such pharo image in dropbox or similar service?

On Tue, Jun 30, 2015 at 9:37 AM, Jan Blizničenko <[hidden email]> wrote:
Unfortunately no - all benchmarks I made with antivirus disabled.


Mariano Martinez Peck wrote
> Do you have antivirus running in windows that may be bothering with
> .changes?
> Please try temporary disable antivirus and try again.
>
> --
> Mariano
> http://marianopeck.wordpress.com





--
View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834883.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.




--

Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Stephan Eggermont-3
In reply to this post by Jan Blizničenko
On 30-06-15 14:37, Jan Blizničenko wrote:
> Unfortunately no - all benchmarks I made with antivirus disabled.

Including the Microsoft stuff itself? (Security Essentials/Windows
Defender) Does your desktop have a drive > 2TB?

Stephan



Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Mariano Martinez Peck
I would check the processes running and CPU of Windows while loading the code...

On Tue, Jun 30, 2015 at 11:35 AM, Stephan Eggermont <[hidden email]> wrote:
On 30-06-15 14:37, Jan Blizničenko wrote:
Unfortunately no - all benchmarks I made with antivirus disabled.

Including the Microsoft stuff itself? (Security Essentials/Windows Defender) Does your desktop have a drive > 2TB?

Stephan






--
Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

philippeback
In reply to this post by Jan Blizničenko

Silly question: do you have a couple of Nautilus windows open?

Loading stuff generates annoucements and Nautilus updates are killing performance.

Phil

Le 30 juin 2015 00:36, "Jan Blizničenko" <[hidden email]> a écrit :
And one another benchmark of linux in VM on that desktop PC:
Roassal loading - 58 s
compilations per second - avg: 262.4682, min: 257.194, max: 289.684
...so the desktop PC is capable of better result and problem is somewhere in
Windows, which I was afraid of...

I'd also like to add to previous Windows tests that with antivirus turned on
everything takes more time approximately by half of original time.

Jan


Jan Blizničenko wrote
> Desktop: 386 s.
> Notebook: 48 s.
> Linux in VM on notebook: 27 s.
>
>
> Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
> Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
> Linux in VM on notebook: compilations per second - avg: 529.0066600000001,
> min: 5.0, max: 573.97





--
View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834713.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Mariano Martinez Peck


On Tue, Jun 30, 2015 at 12:03 PM, [hidden email] <[hidden email]> wrote:

Silly question: do you have a couple of Nautilus windows open?

Loading stuff generates annoucements and Nautilus updates are killing performance.


And previously TestRunner too (don;t know now)
 

Phil

Le 30 juin 2015 00:36, "Jan Blizničenko" <[hidden email]> a écrit :
And one another benchmark of linux in VM on that desktop PC:
Roassal loading - 58 s
compilations per second - avg: 262.4682, min: 257.194, max: 289.684
...so the desktop PC is capable of better result and problem is somewhere in
Windows, which I was afraid of...

I'd also like to add to previous Windows tests that with antivirus turned on
everything takes more time approximately by half of original time.

Jan


Jan Blizničenko wrote
> Desktop: 386 s.
> Notebook: 48 s.
> Linux in VM on notebook: 27 s.
>
>
> Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
> Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
> Linux in VM on notebook: compilations per second - avg: 529.<a href="tel:0066600000001" value="+66600000001" target="_blank" class="vt-p">0066600000001,
> min: 5.0, max: 573.97





--
View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834713.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





--
Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Peter Uhnak
I think we've safely established that the bottleneck is disk operations.

Quoting from previous emails...

store := [ 
method putSource: code inFile: 2
withPreamble: [:f | f cr; nextPut: $!; nextChunkPut: 'Behavior method'; cr].
].

machine 1:
Debian 64bit (laptop)
store bench. 41604 per second

Windows XP 32bit (virtualbox; host Debian)
store bench. 286 per second

Ubuntu 32bit (virtualbox; host Debian)
store bench. 36604 per second

machine 2:
Windows 7 Ultimate 64-bit (desktop pc)
store bench. 13 per second

machine 3:
Windows 7 Home Premium 64-bit (laptop)
store bench. 454 per second

all disks are HDD.

On Tue, Jun 30, 2015 at 6:26 PM, Mariano Martinez Peck <[hidden email]> wrote:


On Tue, Jun 30, 2015 at 12:03 PM, [hidden email] <[hidden email]> wrote:

Silly question: do you have a couple of Nautilus windows open?

Loading stuff generates annoucements and Nautilus updates are killing performance.


And previously TestRunner too (don;t know now)
 

Phil

Le 30 juin 2015 00:36, "Jan Blizničenko" <[hidden email]> a écrit :
And one another benchmark of linux in VM on that desktop PC:
Roassal loading - 58 s
compilations per second - avg: 262.4682, min: 257.194, max: 289.684
...so the desktop PC is capable of better result and problem is somewhere in
Windows, which I was afraid of...

I'd also like to add to previous Windows tests that with antivirus turned on
everything takes more time approximately by half of original time.

Jan


Jan Blizničenko wrote
> Desktop: 386 s.
> Notebook: 48 s.
> Linux in VM on notebook: 27 s.
>
>
> Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
> Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
> Linux in VM on notebook: compilations per second - avg: 529.<a href="tel:0066600000001" value="+66600000001" target="_blank">0066600000001,
> min: 5.0, max: 573.97





--
View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834713.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





--

Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Sven Van Caekenberghe-2

> On 30 Jun 2015, at 18:36, Peter Uhnák <[hidden email]> wrote:
>
> I think we've safely established that the bottleneck is disk operations.

Let's take it one level down then,

[ 'foo.txt' asFileReference in: [ :file |
    file writeStreamDo: [ :out |
      3 timesRepeat: [ out << String loremIpsum ] ].
    file ensureDelete ] ] bench

  => "'512.595 per second'"

We could experiment with variants, calling #flush, writing by character, adding buffering, etc, but this is a start. At least this takes the source code stuff out of the equations.

> Quoting from previous emails...
>
> store := [
> method putSource: code inFile: 2
> withPreamble: [:f | f cr; nextPut: $!; nextChunkPut: 'Behavior method'; cr].
> ].
>
> machine 1:
> Debian 64bit (laptop)
> store bench. 41604 per second
>
> Windows XP 32bit (virtualbox; host Debian)
> store bench. 286 per second
>
> Ubuntu 32bit (virtualbox; host Debian)
> store bench. 36604 per second
>
> machine 2:
> Windows 7 Ultimate 64-bit (desktop pc)
> store bench. 13 per second
>
> machine 3:
> Windows 7 Home Premium 64-bit (laptop)
> store bench. 454 per second
>
> all disks are HDD.
>
> On Tue, Jun 30, 2015 at 6:26 PM, Mariano Martinez Peck <[hidden email]> wrote:
>
>
> On Tue, Jun 30, 2015 at 12:03 PM, [hidden email] <[hidden email]> wrote:
> Silly question: do you have a couple of Nautilus windows open?
>
> Loading stuff generates annoucements and Nautilus updates are killing performance.
>
>
> And previously TestRunner too (don;t know now)
>  
> Phil
>
> Le 30 juin 2015 00:36, "Jan Blizničenko" <[hidden email]> a écrit :
> And one another benchmark of linux in VM on that desktop PC:
> Roassal loading - 58 s
> compilations per second - avg: 262.4682, min: 257.194, max: 289.684
> ...so the desktop PC is capable of better result and problem is somewhere in
> Windows, which I was afraid of...
>
> I'd also like to add to previous Windows tests that with antivirus turned on
> everything takes more time approximately by half of original time.
>
> Jan
>
>
> Jan Blizničenko wrote
> > Desktop: 386 s.
> > Notebook: 48 s.
> > Linux in VM on notebook: 27 s.
> >
> >
> > Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
> > Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
> > Linux in VM on notebook: compilations per second - avg: 529.0066600000001,
> > min: 5.0, max: 573.97
>
>
>
>
>
> --
> View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834713.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>


Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Peter Uhnak
Debian (host) "'4,855 per second'"

Ubuntu (vbox) "'4,709 per second'"

Win XP (vbox) "'504.099 per second'"

The difference here is just one order of magnitude and not two... so maybe I should take apart CompileMethod>>putSource:inFile:withPreambule statement by statement.

Is there some more convenient way to do it than wrap each statement in a block? Some way to profile a method or something.

Peter




On Tue, Jun 30, 2015 at 7:00 PM, Sven Van Caekenberghe <[hidden email]> wrote:

> On 30 Jun 2015, at 18:36, Peter Uhnák <[hidden email]> wrote:
>
> I think we've safely established that the bottleneck is disk operations.

Let's take it one level down then,

[ 'foo.txt' asFileReference in: [ :file |
    file writeStreamDo: [ :out |
      3 timesRepeat: [ out << String loremIpsum ] ].
    file ensureDelete ] ] bench

  => "'512.595 per second'"

We could experiment with variants, calling #flush, writing by character, adding buffering, etc, but this is a start. At least this takes the source code stuff out of the equations.

> Quoting from previous emails...
>
> store := [
>       method putSource: code inFile: 2
>                       withPreamble: [:f | f cr; nextPut: $!; nextChunkPut: 'Behavior method'; cr].
> ].
>
> machine 1:
> Debian 64bit (laptop)
> store bench. 41604 per second
>
> Windows XP 32bit (virtualbox; host Debian)
> store bench. 286 per second
>
> Ubuntu 32bit (virtualbox; host Debian)
> store bench. 36604 per second
>
> machine 2:
> Windows 7 Ultimate 64-bit (desktop pc)
> store bench. 13 per second
>
> machine 3:
> Windows 7 Home Premium 64-bit (laptop)
> store bench. 454 per second
>
> all disks are HDD.
>
> On Tue, Jun 30, 2015 at 6:26 PM, Mariano Martinez Peck <[hidden email]> wrote:
>
>
> On Tue, Jun 30, 2015 at 12:03 PM, [hidden email] <[hidden email]> wrote:
> Silly question: do you have a couple of Nautilus windows open?
>
> Loading stuff generates annoucements and Nautilus updates are killing performance.
>
>
> And previously TestRunner too (don;t know now)
>
> Phil
>
> Le 30 juin 2015 00:36, "Jan Blizničenko" <[hidden email]> a écrit :
> And one another benchmark of linux in VM on that desktop PC:
> Roassal loading - 58 s
> compilations per second - avg: 262.4682, min: 257.194, max: 289.684
> ...so the desktop PC is capable of better result and problem is somewhere in
> Windows, which I was afraid of...
>
> I'd also like to add to previous Windows tests that with antivirus turned on
> everything takes more time approximately by half of original time.
>
> Jan
>
>
> Jan Blizničenko wrote
> > Desktop: 386 s.
> > Notebook: 48 s.
> > Linux in VM on notebook: 27 s.
> >
> >
> > Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
> > Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
> > Linux in VM on notebook: compilations per second - avg: 529.0066600000001,
> > min: 5.0, max: 573.97
>
>
>
>
>
> --
> View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834713.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



Reply | Threaded
Open this post in threaded view
|

Re: Slow compilation on one of my Windows PCs

Sven Van Caekenberghe-2

> On 30 Jun 2015, at 19:42, Peter Uhnák <[hidden email]> wrote:
>
> Debian (host) "'4,855 per second'"
>
> Ubuntu (vbox) "'4,709 per second'"
>
> Win XP (vbox) "'504.099 per second'"
>
> The difference here is just one order of magnitude and not two... so maybe I should take apart CompileMethod>>putSource:inFile:withPreambule statement by statement.
>
> Is there some more convenient way to do it than wrap each statement in a block? Some way to profile a method or something.

Open the Time Profiler and write your expression there is how you do analysis on the whole tree. It is not perfect but should help you find the bottleneck.

> Peter
>
>
>
>
> On Tue, Jun 30, 2015 at 7:00 PM, Sven Van Caekenberghe <[hidden email]> wrote:
>
> > On 30 Jun 2015, at 18:36, Peter Uhnák <[hidden email]> wrote:
> >
> > I think we've safely established that the bottleneck is disk operations.
>
> Let's take it one level down then,
>
> [ 'foo.txt' asFileReference in: [ :file |
>     file writeStreamDo: [ :out |
>       3 timesRepeat: [ out << String loremIpsum ] ].
>     file ensureDelete ] ] bench
>
>   => "'512.595 per second'"
>
> We could experiment with variants, calling #flush, writing by character, adding buffering, etc, but this is a start. At least this takes the source code stuff out of the equations.
>
> > Quoting from previous emails...
> >
> > store := [
> >       method putSource: code inFile: 2
> >                       withPreamble: [:f | f cr; nextPut: $!; nextChunkPut: 'Behavior method'; cr].
> > ].
> >
> > machine 1:
> > Debian 64bit (laptop)
> > store bench. 41604 per second
> >
> > Windows XP 32bit (virtualbox; host Debian)
> > store bench. 286 per second
> >
> > Ubuntu 32bit (virtualbox; host Debian)
> > store bench. 36604 per second
> >
> > machine 2:
> > Windows 7 Ultimate 64-bit (desktop pc)
> > store bench. 13 per second
> >
> > machine 3:
> > Windows 7 Home Premium 64-bit (laptop)
> > store bench. 454 per second
> >
> > all disks are HDD.
> >
> > On Tue, Jun 30, 2015 at 6:26 PM, Mariano Martinez Peck <[hidden email]> wrote:
> >
> >
> > On Tue, Jun 30, 2015 at 12:03 PM, [hidden email] <[hidden email]> wrote:
> > Silly question: do you have a couple of Nautilus windows open?
> >
> > Loading stuff generates annoucements and Nautilus updates are killing performance.
> >
> >
> > And previously TestRunner too (don;t know now)
> >
> > Phil
> >
> > Le 30 juin 2015 00:36, "Jan Blizničenko" <[hidden email]> a écrit :
> > And one another benchmark of linux in VM on that desktop PC:
> > Roassal loading - 58 s
> > compilations per second - avg: 262.4682, min: 257.194, max: 289.684
> > ...so the desktop PC is capable of better result and problem is somewhere in
> > Windows, which I was afraid of...
> >
> > I'd also like to add to previous Windows tests that with antivirus turned on
> > everything takes more time approximately by half of original time.
> >
> > Jan
> >
> >
> > Jan Blizničenko wrote
> > > Desktop: 386 s.
> > > Notebook: 48 s.
> > > Linux in VM on notebook: 27 s.
> > >
> > >
> > > Notebook: compilations per second - avg: 217.7153, min: 5.0, max: 247.258
> > > Desktop: compilations per second - avg: 23.1337, min: 19.448, max: 28.155
> > > Linux in VM on notebook: compilations per second - avg: 529.0066600000001,
> > > min: 5.0, max: 573.97
> >
> >
> >
> >
> >
> > --
> > View this message in context: http://forum.world.st/Slow-compilation-on-one-of-my-Windows-PCs-tp4834668p4834713.html
> > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
> >
> >
> >
> >
> >
> > --
> > Mariano
> > http://marianopeck.wordpress.com
> >
>
>
>


12