Why does Biferno (sometimes) use more than one thread per script?
When a script execution is requested Biferno spawns a thread with a predefined stack size (for C internal variables). The stack size is usually big enough to execute the entire script. Nevertheless some scripts (for example scripts using recursive functions) could need more stack at a certain point of execution. In that case the next block of code is executed in a new thread (joined to the parent) in order to obtain more stack space for execution. Thus the number of threads per script can also be greater than 1.