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