chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Performance question concerning chicken flonum vs "foreign flonum"


From: Christian Himpe
Subject: Re: Performance question concerning chicken flonum vs "foreign flonum"
Date: Sun, 07 Nov 2021 23:19:14 +0100 (CET)

felix.winkelmann@bevuta.com schrieb am 2021-11-07:
> > Dear Felix,
> >
> > Thank you for the patch. I built the current git head with your patch.
> > After importing chicken.flonum, I get the following error when calling fp*+:
> >

> I'm terribly sorry. I'm an ass, I didn't even test it in the interpreter. 
> Please
> find attached a revised patch.


> felix

Dear felix,

the latest patch works. I extended my test code and here are the results:

without -C -mfma:

csc -O5 -d0 -C -O3 fma-test.scm && ./fma-test
7.998s CPU time, 0/225861 GCs (major/minor), maximum live heap: 30.78 MiB
10.104s CPU time, 0/256410 GCs (major/minor), maximum live heap: 30.78 MiB
10.69s CPU time, 0/311364 GCs (major/minor), maximum live heap: 30.78 MiB

with -C -mfma:

csc -O5 -d0 -C -O3 -C -mfma fma-test.scm && ./fma-test 
7.697s CPU time, 0/238095 GCs (major/minor), maximum live heap: 30.78 MiB
9.135s CPU time, 0/262467 GCs (major/minor), maximum live heap: 30.78 MiB
11.008s CPU time, 0/317460 GCs (major/minor), maximum live heap: 30.78 MiB

It seems the number of GCs is a lot higher than for fp*/fp+ or c99-fma with or 
without fma compiler flag. So currently, there seems to be no benefit 
integrating c99's fma as fp*+ besides a slightly better rounding error. At 
least for me, this comes unexpected.

Thank you for providing the patch. If you want to test something in this regard 
in the future, I am happy to test further patches.

Cheers

Christian



reply via email to

[Prev in Thread] Current Thread [Next in Thread]