freenode/#ecl - IRC Chatlog
Search
5:43:10
jackdaniel
fwiw we could link with some well-optimized C library without dependencies statically and make ironclad use those; would that be still ironclad then? rather not
6:10:06
jackdaniel
second function there shows, that for some reason mod32+ is not inlined despite the eclaration
6:11:08
jackdaniel
pthread_getspecific - I suspect we'd get rid of that in a single-threaded environment (it is responsible for managing environments across different threads)
6:12:10
jackdaniel
rol32+ has the same issue as mod32+ - it should be inlined and I don't see the reason in source code why it is not
6:13:57
jackdaniel
getting inlining of said functions working would give us ~15% improvement (if not more). I'll have to investigate that before the release
6:27:46
jackdaniel
if you have something to chip in, I've created a ticket here: https://gitlab.com/embeddable-common-lisp/ecl/issues/451
10:24:10
phadthai
this reminds me that it'd likely be possible to pass more state in functions to avoid ecl_process_env and pthread_getspecific
10:25:21
phadthai
for ecl_function_dispatch with certain forms of ffi that can be reduced too if I remember, but cffi had extra overhead
10:27:19
jackdaniel
cffi has three distinct methods for ecl (static, dynamic via dlopen and dynamic via libffi)
10:28:01
jackdaniel
for having static method working reliably we'd need to improve cffi, so it passes original pointer types to the backend (it does cast to void* right now)