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

new topic     » topic index » view message » categorize

2. Re: Eu 2.5 is very slow?

Jonas wrote:
> 
> 
> Hi
> I have compiled eu 3.2 with watcom 1.7 and her is som speed test.
> 
> My modest smile 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

new topic     » goto parent     » topic index » view message » categorize

3. Re: Eu 2.5 is very slow?

Matt Lewis wrote:
> 
> Jonas wrote:
> > 
> > 
> > Hi
> > I have compiled eu 3.2 with watcom 1.7 and her is som speed test.
> > 
> > My modest smile 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

new topic     » goto parent     » topic index » view message » categorize

4. Re: Eu 2.5 is very slow?

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

new topic     » goto parent     » topic index » view message » categorize

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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu