.---------------------------.
-------------( DESCRIPTION )
`---------------------------'
This package is a result of my adventures with code optimization in E. I
want my programs to be as fast as it's only possible. To achieve this I
did many tests. Now I decided to release the results to public.
These tests are fairly simple but very meaningful. Eg. did you know that
FOR i:=0 TO LOOP_COUNTER DO something
is almost ten times faster than
FOR i:=0 TO LOOP_COUNTER
something
ENDFOR
Just look at the included results and you will discover more intersting
facts. All timings were done on my A1200 equipped with Apollo 1240/040
(overclocked) turbo board.
But remember that the tests are not fully reliable, for example edit
increase.e and remove some tests like this:
PROC main()
test({addone}, 'x:=x+1', LOTS_OF_TIMES) ; x:=0
-> test({addql}, 'ADDQ.L #1,x', LOTS_OF_TIMES) ; x:=0
-> test({addqb}, 'ADDQ.B #1,x', LOTS_OF_TIMES) ; x:=0
test({increase}, 'INC x', LOTS_OF_TIMES) ; x:=0
ENDPROC
Compile the program and when you execute it you will get different results.
I was not able to track down the reason. If you can fix it be my guest.
.---------------------------.
-------------( DISTRIBUTION )
`---------------------------'
This package is public domain.
|