Yazılım mühendisi Vitaut, çift hassasiyetli (double) kayan nokta sayılarını metin (string) formatına dönüştürmek için Zmij adını verdiği yeni bir yöntem geliştirdi. Bu yeni algoritma, Dragon4, Grisu ve Schubfach gibi mevcut yöntemlerden edinilen dersleri kendi özgün fikirleriyle birleştiriyor. Temel ilkesi, gereksiz iş yükünü ortadan kaldırmak üzerine kurulu olan Zmij, Alexandrescu'nun "hiçbir iş, bir miktar işten daha az iş değildir" felsefesini benimsiyor. Bu yaklaşım sayesinde, Schubfach algoritmasındaki koşullu dallanmalar, hesaplamalar ve aday sayıları gibi unsurlar azaltılarak önemli performans iyileştirmeleri elde edildi.
Zmij, dtoa-benchmark testlerinde mevcut lider Dragonbox'tan yaklaşık %68 daha hızlı performans gösteriyor. Vitaut'un kendi Schubfach implementasyonundan yaklaşık 2 kat, libc++'taki std::to_chars (Ryu?) fonksiyonundan yaklaşık 3.5 kat ve Google'ın double-conversion (Grisu3) kütüphanesinden yaklaşık 6.8 kat daha hızlı çalışıyor. Hatta macOS'taki sprintf fonksiyonuna kıyasla tam 59 kat daha hızlı olduğu belirtiliyor. Apple M1 işlemcide tek bir double sayının dönüşümü sadece 10 ila 20 nanosaniye sürüyor.
Bu hız artışları, çeşitli optimizasyonlar sayesinde mümkün oldu. Zmij, Schubfach'a kıyasla 2-4 yerine 1-3 aday arasından seçim yapıyor, daha kısa durumlar için daha az tam sayı çarpımı kullanıyor ve daha hızlı logaritma yaklaşımları (örneğin, 64-bit yerine 32-bit çarpımlarla) ile daha hızlı bölme ve mod alma işlemleri gerçekleştiriyor. Ayrıca, koşullu dallanmaların azaltılması ve özel durumlar (NaN, sonsuz, sıfır gibi) için tek bir hızlı kontrol dalının kullanılması, algoritmanın genel verimliliğini artırıyor. Bu iyileştirmeler, çift hassasiyetli sayıların metne dönüştürülmesi gereken yüksek performanslı uygulamalar için önemli bir adım teşkil ediyor.
Bu yeni algoritma, sayısal verilerin metin formatına dönüştürülmesi gereken her alanda, özellikle yüksek performans gerektiren sistemlerde önemli hız kazanımları sağlayarak uygulama performansını doğrudan artırma potansiyeline sahip.