我如何强制 OCaml 内联一个函数?
How do I force OCaml to inline a function?
是否可以告诉 OCaml 编译器内联一个函数,而不是希望它的优化过程会自己这样做?
你们都可以添加一个属性来始终内联一个函数
let f x = x [@@inline always]
(* which is equivalent to *)
let f x = x [@@inline]
或强制特定调用与另一个属性内联
let a = (f[@inlined]) 1
如果你想检查 flambda 做出的内联决定,你可以使用 inlining-report
标志。
是否可以告诉 OCaml 编译器内联一个函数,而不是希望它的优化过程会自己这样做?
你们都可以添加一个属性来始终内联一个函数
let f x = x [@@inline always]
(* which is equivalent to *)
let f x = x [@@inline]
或强制特定调用与另一个属性内联
let a = (f[@inlined]) 1
如果你想检查 flambda 做出的内联决定,你可以使用 inlining-report
标志。