libjit 什么时候真正值得

When is libjit actually worth it?

本文关键字:值得 什么时候 libjit      更新时间:2023-10-16

我编译并尝试在libjit(mul_add)中分析第一个教程:- https://www.gnu.org/software/libjit/doc/libjit_3.html#SEC6

但是,将其与本机编译代码进行比较时,它的运行速度大约慢了 1000 倍。在使用呼叫研磨进行分析时,出现的一些热点是:-

jit_apply (17.5%)
jit_apply_builder_add_arguments(14.25%)
jit_type_normalize (9%)
jit_backtrace_push (7%)
jit_exception_clear_last (6.5%)
jit_thread_get_control (6.5%)
jit_type_get_param (5%)
and so on and so forth

我的问题是,我在这里做错了什么吗?另外,这是调用 libjit 函数时总是产生的恒定成本,还是有某种方法可以摆脱这种成本?

此外,如果这是一个恒定的成本,这是否意味着编译函数有一定的最小大小,之后使用 libjit 实际上是"值得的"?

所以我收到了libjit邮件列表中某人的回复。显然,使用 jit_function_to_closure 会为 jit_function_t 对象创建一个 C 闭包,然后可以从代码中本机调用该闭包。