You are measuring image startup time, not the actual code.

'bar.txt' asFileReference writeStreamDo: [ :out | 
  10000 timesRepeat: [ out << Character alphabet; crlf ] ].

[ 'bar.txt' asFileReference contents ] bench. "37.296 per second"
[ 'bar.txt' asFileReference contents ] timeToRun. "0:00:00:00.022"

So reading a 260Kb file is pretty fast.

Image startup is 0.5 seconds at best (headless, linux) in my experience.

> On 15 Mar 2015, at 22:34, stepharo <steph...@free.fr> wrote:
> 
> Nicolas asked me the following questions and I was stuck :)
> 
> Stef
> 
> I have been doing some file intensive activities and found my program to be 
> very slow.
> Just to be sure I ran them in Java and found it was much faster
> 
> So I did a small test:
> ---
> i := 0.
> '/home/anquetil/Documents/RMod/Tools/workspace/Blocks/jfreechart-0_9_0.mse' 
> asFileReference readStream contents do: [ :c | i:= i+1].
> ---
> 
> 10 times with TimeProfiler : 14.436 sec
> 10 times as a script passed to pharo-vm-nox (latest 4.0 image) : 16.07 sec
> 
> similar thing (as far as I can tell) 10 times in java:                        
>       1.482 sec.
> ---
>    public static void main(String[] args) {
>        int length =0;
>        try {
>            String filename = 
> "/home/anquetil/Documents/RMod/Tools/workspace/Blocks/jfreechart-0_9_0.mse";
>            String content = new 
> String(Files.readAllBytes(Paths.get(filename)), "UTF8");
>            for (int i=0; i < content.length(); i++) {
>                content.charAt(i);
>                length = length+1;
>            }
>        } catch (IOException e) {
>            e.printStackTrace();
>        }
>        System.out.println(length);
>    }
> ---
> 
> is this known ? normal?
> 
> nicolas
> 
> PS: time for java and pharo script or measured as:
> $ for i in 1 2 3 4 5 6 7 8 9 10; do time run-experiment; done
> 
> 


Reply via email to