Hi Davide,

> I compiled pil21 with llvm on termux and then I ran some simple fibonacci
> benchmark. Here the results
>
> *** recursive
> n 37 fib 24157817
> -- picolisp 3.013 sec
> -- pil21 5.332 sec
> -- python 21.247 sec
>
> *** iterative
> n 80000 fib 4589178984+
> -- picolisp 0.518 sec
> -- pil21 0.409 sec
> -- python 0.124 sec

Thanks for testing!

We found similar relations too.


> I got also a segmentation fault while trying to use cache to speed up the
> calculation with pil21 (don't know if Alex is aware of that)

Yes. The reason is that pil21 needs more stack space, due to a more limited
control of the stack (as opposed to asm in pil64). So it gives a stack overflow.

Both pil64 and pil21 do runtime stack checks only if one ore more coroutines are
active. Otherwise they delegate the check to the hardware, resulting a
segmentation fault.

You can run it the test you set a higher stack limit, e.g. in .bashrc with

   ulimit -s 262144  # 256 MiB

☺/ A!ex

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to