跳到正文
Simon Willison·· 2 小时前AI 评分26

用 C 和 Rust 实现 SQLite 扩展 parse_number() 的性能对比

parse_number() as a SQLite extension: C vs Rust

AI 导读

四个 SQLite 扩展用 C 和 Rust 实现同一 parse_number() 行为,测试覆盖类型保留、解析规则与浮点精度。优化后的 C 实现每行 16–19 ns,约为 Rust 版本的两倍速度,也远快于 SQL replace();普通 C 因依赖 strtod() 在小数上更慢,加入紧凑快速路径后追平。所有版本在 800 万次模糊测试中结果一致。

来源:Simon Willison · simonwillison.net