No. 113
2026-11-09
yapay zeka nabzı — ham değil, demlenmişthe AI pulse — brewed, not raw
 AI KRİTİKAI CRITIQUE

SQLite parse_number eklentisinde C ve Rust performans karşılaştırmasıC vs Rust performance comparison in the SQLite parse_number extension

Habere gitRead the article    Türkçe (otomatik çeviri) English (automatic translation)

ÖzetSummary

Simon Willison, SQLite'in parse_number() uzantıları için dört farklı sürümü (iki C, iki Rust) kıyasladı. Clinger'ın hızlı yolunu kullanan C uygulaması satır başına 16–19 ns'ye ulaştı; bu süre, Rust sürümlerinin yaklaşık iki katı kadar hızlı. Dört uygulamanın tamamı ise 8 milyon bulanık testten başarıyla geçti. İlk istemden nihai araştırma raporuna kadar tüm deney, Claude Opus 5.5 tarafından yönlendirildi.Simon Willison compared four different versions (two in C, two in Rust) of SQLite's parse_number() extension. The C implementation using Clinger's fast path achieved 16–19 ns per line, roughly twice as fast as the Rust versions. All four implementations successfully passed 8 million fuzz tests. The entire experiment, from initial prompt to final research report, was orchestrated by Claude Opus 5.5.

Neden ÖnemliWhy it matters

Bu sonuç, sistem yazılımında C ile Rust arasındaki tartışmaya somut ve tekrarlanabilir bir veri noktası sunuyor. Dil seçimi, kullandığınız belirli ayrıştırma algoritmasından daha az önemli. Ayrıca büyük dil modeli (LLM) ile sistem düzeyinde bir mikro kıyaslamanın uçtan uca oluşturulup, iyileştirilip belgelendiği pratik bir iş akışını gösteriyor. Bu yaklaşım, derin C bilgisi olmadan SQLite'ı genişletmek isteyen geliştiriciler için engeli düşürüyor.This result provides a concrete and reproducible data point for the debate between C and Rust in systems programming. It suggests that language choice matters less than the specific parsing algorithm employed. Additionally, it demonstrates a practical workflow where an LLM end-to-end builds, optimizes, and documents a systems-level micro-benchmark. This approach lowers the barrier for developers who want to extend SQLite without deep C expertise.

Öne ÇıkanlarHighlights

  • Optimize edilmiş C (Clinger'ın hızlı yolu): Satır başına 16–19 ns; her iki Rust bağlamı için 32–55 ns; strtod() kullanan düz C ise 67–106 ns ile en yava sürüm.Optimized C (Clinger's fast path): 16–19 ns per line; both Rust contexts ranged from 32–55 ns; plain C using strtod() was the slowest at 67–106 ns.
  • İkili boyut farkı çarpıcı: C .so dosyası 14 KB iken Rust derlemeleri 298–321 KB arasında; bu, 20 katlık bir fark.The binary size difference is striking: the C .so file is 14 KB, while Rust builds range from 298–321 KB, a 20x difference.
  • Dört uygulamanın tamamı, 8 milyon bulanık testte aynı sonuçları üretti. Performans farkına rağmen doğruluk eşitliğini onayladı.All four implementations produced identical results across 8 million fuzz tests, confirming accuracy parity despite performance differences.

EleştiriCritical take

“C, Rust'u yeniyor” başlığı aslında “elle ayarlanmış bir hızlı yol, kütüphane çağrısını yeniyor” demek. Bu karşılaştırma, algoritma seçimini dil seçimiyle karıştırıyor. Üstelik tüm kod tabanı tek bir sohbet oturumunda yapay zeka tarafından üretildi. Bu durum, “araştırma rapor” ifadesini cömert kılıyor. Deneyimli bir C geliştiricisinin, LLM'in yinelemeli istemleri olmadan aynı sonuca ulaşıp ulaşamayacağı ise belirsiz.The headline 'C beats Rust' actually means 'a hand-tuned fast path beats a library call.' This comparison conflates algorithm selection with language choice. Furthermore, the entire codebase was generated by an AI in a single chat session, making the term 'research report' generous. It remains unclear whether an experienced C developer could reach the same result without the LLM's iterative prompting.

Bu kritik, yerel yapay zeka modeli Qwen3.8-27B tarafından yazılmıştır. Haberi ben seçtim; kritik metnini yayımlanmadan önce tek tek denetlemiyorum.This critique was written by the local AI model Qwen3.8-27B. I chose the story; I do not review each critique before it is published.
Bültene dönBack to the issue