1. Eu 2.5 is very slow?
Hi
I have compiled eu 3.2 with watcom 1.7 and her is som speed test.
My modest
computer AMD Sempron 2800 2GHz 2GB
tags3.1 3.375 Sec
trunk3.2 17.609 Sec
Official release 3.1.1 3.5 Sec
atom x, y, t
x = 1.0
y = 1.000001
t = time()
------------100000000
for i=1 to 100000000 do
x = x * y
end for
t = time() - t
?t
while get_key() = -1 do
end while
~Jonas
2. Re: Eu 2.5 is very slow?
- Posted by Matt Lewis <matthewwalkerlewis at ?mail.c?m>
Feb 06, 2008
-
Last edited Feb 07, 2008
Jonas wrote:
>
>
> Hi
> I have compiled eu 3.2 with watcom 1.7 and her is som speed test.
>
> My modest
computer AMD Sempron 2800 2GHz 2GB
>
> tags3.1 3.375 Sec
> trunk3.2 17.609 Sec
> Official release 3.1.1 3.5 Sec
The reason seems to be the memory management. The default using the makefile
is to just use the OS to manage memory. In this use case, it really, really
slows down (because it's a really simple allocation that's easy to cache).
There was a bug when compiling with MANAGED_MEM=1 (fixed in svn now) so
you could try compiling that. It seems to run very similarly to previous
releases. I'll have to test this on Linux, too. I've run other benchmarks,
usually dealing with sequences, where performance was better using the OS
to do all allocations.
Matt
3. Re: Eu 2.5 is very slow?
- Posted by Matt Lewis <matthewwalkerlewis at g?ail.?om>
Feb 06, 2008
-
Last edited Feb 07, 2008
Matt Lewis wrote:
>
> Jonas wrote:
> >
> >
> > Hi
> > I have compiled eu 3.2 with watcom 1.7 and her is som speed test.
> >
> > My modest
computer AMD Sempron 2800 2GHz 2GB
> >
> > tags3.1 3.375 Sec
> > trunk3.2 17.609 Sec
> > Official release 3.1.1 3.5 Sec
>
> I've run other benchmarks, usually dealing with sequences, where performance
> was better using the OS to do all allocations.
I changed your code slightly, to make it allocate lots of new doubles, rather
than reusing, and 3.2 runs about 3x faster for me (I also cut a zero off
of the reps, cause I'm impatient like that):
atom x, y, t
sequence v
constant LEN = 10000000
v = repeat( 1.0, LEN )
x = 1.0
y = 1.000001
t = time()
for i=2 to LEN do
v[i] = v[i-1] * y
-- x = x * y
end for
t = time() - t
?t
So I guess the question is, which is a more common case? Both scenarios
seem to be pathological for one method of memory management.
Matt
4. Re: Eu 2.5 is very slow?
- Posted by Jonas <thomasj at la??bit.com>
Feb 06, 2008
-
Last edited Feb 07, 2008
Matt Lewis wrote:
>
> Matt Lewis wrote:
> >
> > Jonas wrote:
> > >
> > >
<snip>
> So I guess the question is, which is a more common case? Both scenarios
> seem to be pathological for one method of memory management.
>
> Matt
Your code ran slightly faster 3.14 and 3.2 Sec
~Jonas
5. Re: Eu 2.5 is very slow?
Jonas wrote:
>
> Matt Lewis wrote:
> >
> > Matt Lewis wrote:
> > >
> > > Jonas wrote:
> > > >
> > > >
> <snip>
> > So I guess the question is, which is a more common case? Both scenarios
> > seem to be pathological for one method of memory management.
> >
> > Matt
>
> Your code ran slightly faster 3.14 and 3.2 Sec
Interesting. I wonder what I did wrong. Testing on linux, I get similar
results for your benchmark, and on my modified benchmark, 3.2 runs slightly
faster than 3.0 (3.1 switched over to using straight malloc).
Matt