You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CMake编译llama.cpp的推理速度远慢于w64devkit的原因排查

问题

在2019款搭载i7处理器的MacBook Pro上,仅通过CPU运行mistral-orca模型时,发现用CMake编译的llama.cpp二进制文件推理时长远高于w64devkit编译版本,两者性能计时数据如下,请问差异原因是什么?

性能计时数据

w64devkit编译版本

llama_print_timings: load time = 2789.31 ms
llama_print_timings: sample time = 7.55 ms / 18 runs ( 0.42 ms per token, 2383.16 tokens per second)
llama_print_timings: prompt eval time = 1925.06 ms / 20 tokens ( 96.25 ms per token, 10.39 tokens per second)
llama_print_timings: eval time = 8256.93 ms / 18 runs ( 458.72 ms per token, 2.18 tokens per second)
llama_print_timings: total time = 23842.73 ms

CMake编译版本

llama_print_timings: load time = 4133.27 ms
llama_print_timings: sample time = 5.71 ms / 18 runs ( 0.32 ms per token, 3153.47 tokens per second)
llama_print_timings: prompt eval time = 25917.85 ms / 19 tokens ( 1364.10 ms per token, 0.73 tokens per second)
llama_print_timings: eval time = 43493.77 ms / 18 runs ( 2416.32 ms per token, 0.41 tokens per second)
llama_print_timings: total time = 74989.23 ms

差异原因分析

  • 编译优化等级不一致:w64devkit默认可能启用了-O3这类高等级编译优化,而CMake默认配置的优化等级较低(如-O2或未开启优化)。llama.cpp对编译优化敏感度极高,高等级优化能大幅提升CPU指令执行效率。
  • CPU指令集支持缺失:w64devkit可能自动检测并启用了i7处理器支持的AVX2、FMA等高级指令集,CMake若未配置对应选项,生成的二进制文件只能依赖基础指令集运行,性能会显著下降。
  • CMake优化参数未配置:llama.cpp提供了-DLLAMA_AVX2=ON、-DLLAMA_FMA=ON等专门的编译参数用于启用硬件加速,若CMake编译时未添加这些参数,无法利用CPU的硬件特性。
  • 链接器优化差异:w64devkit默认可能开启了链接时优化(LTO),而CMake默认未启用该选项,会影响最终二进制文件的执行效率。

内容的提问来源于stack exchange,提问作者Valentin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 14:06:12