跳到正文
Simon Willison·· 19 小时前AI 评分32

parse_number() 作为 SQLite 扩展:C 与 Rust 实现对比

parse_number() as a SQLite extension: C vs Rust

AI 导读

四个 SQLite 扩展用 C 和 Rust 实现同一 parse_number() 行为,优化后的 C 版本每行 16–19 ns,约为 Rust 版本的两倍速度,也远快于 SQL replace()。

推荐理由模型分析

用同一 parse_number() 行为在 C 与 Rust 中实现四个 SQLite 扩展,给出逐行耗时、.so 体积和 800 万次模糊测试一致性结果,并说明普通 C 因依赖 strtod 在十进制上偏慢、紧凑快路径如何追平。适合想给 SQLite 加自定义函数、在 C 与 Rust 间权衡性能与体积的开发者参考;基准为单机微基准,未覆盖并发或真实查询负载。

来源:Simon Willison · simonwillison.net