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

2022-04-10 Thread felix . winkelmann
> Dear felix, > > after coming back to this function and the associated issues regularly, I > revised my opinion on integrating"fp+*" into (chicken flonum), given it uses > the C99-fma function. On the one hand, this operation is so fundamental in > numerical computations that it warrants a

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

2022-04-08 Thread Christian Himpe
Christian Himpe schrieb am 2021-11-07: > felix.winkelm...@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*+: > > > > >

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

2021-11-07 Thread Christian Himpe
felix.winkelm...@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

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

2021-11-07 Thread felix . winkelmann
> 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 From

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

2021-11-07 Thread Christian Himpe
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*+: #;2> (fp*+ 1.0 2.0 3.0) Error: unbound variable: g18021803 Call history: (fp*+ 1.0 2.0 3.0)

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

2021-11-07 Thread felix . winkelmann
Hi! Here a patch against the current git HEAD, adding support for "fp*+". Please give it a try, if you want. This is experimental, if people consider this worthwhile, I can submit it for adding to the core system. Note that you still may need passing extra C-compiler options to enable inlining

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

2021-11-06 Thread felix . winkelmann
> a patch would be great, if it is not too much work. Attached you find three > assembly language files: > > * fma-test_original.s (unchananged csc c to assembly) > * fma-test_modified.s (modified csc c from previous mail) > * fma-test_modified_mfma.s (modified csc c and -mfma gcc option) > >

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

2021-11-05 Thread felix . winkelmann
> modified code: > > 7.378s CPU time, 0/225861 GCs (major/minor), maximum live heap: 30.78 MiB > 8.498s CPU time, 0/238095 GCs (major/minor), maximum live heap: 30.78 MiB > > Both were compiled with -O3 optimization level in gcc. > > I am fine with these results given your layout of the internals

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

2021-11-05 Thread Christian Himpe
felix.winkelm...@bevuta.com schrieb am 2021-11-04: > > 7.558s CPU time, 0/225861 GCs (major/minor), maximum live heap: 30.78 MiB > > 8.839s CPU time, 0/256410 GCs (major/minor), maximum live heap: 30.78 MiB > > > >[...] > > > > It would be great to get some help or explanation with this issue.

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

2021-11-04 Thread felix . winkelmann
> 7.558s CPU time, 0/225861 GCs (major/minor), maximum live heap: 30.78 MiB > 8.839s CPU time, 0/256410 GCs (major/minor), maximum live heap: 30.78 MiB > >[...] > > It would be great to get some help or explanation with this issue. Hi! I have similar timings and the difference in the number of

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

2021-11-04 Thread Jörg F. Wittenberger
Hi Christian, this might be a case of "never trust a statistics you did not falsify yourself". Not bothering to speculate about explanations, I tend to ask how stable the results are wrt. larger N's, repetition etc. IMHO the results are too close for a call. Roughly this looks like 91% memory

Performance question concerning chicken flonum vs "foreign flonum"

2021-11-04 Thread christian.himpe
Dear All, I am currently experimenting with Chicken Scheme and I would like to ask about the following situation: I am comparing a "pure" Scheme fused-multiply-add (fma) using chicken.flonum against C99's fma via chicken.foreign. Here is my test code: fma-test.scm (import (chicken