claude.ai nasıl 3 kat hızlandı: CI'da milisaniye değil sayım ölçün

Anthropic, claude.ai'yi yaklaşık 3 kat hızlandırdı ve kazanımları gürültülü milisaniyeler yerine deterministik sayımlarla CI'da korudu.

claude.ai performans çalışması kartı: em dash bug'ı ve CI'da kapı olarak kullanılan dört deterministik sayım.

Bir cevaptaki tek bir em dash, claude.ai'yi yaklaşık bir saniye dondurabiliyordu.

Anthropic'in web ekibi, claude.ai'yi ve masaüstü uygulamasını iki haftada nasıl yaklaşık 3 kat hızlandırdıklarını yayınladı. Performans işinin çoğunu tek bir Slack kanalından Claude yaptı ve her değişikliği mühendisler onayladı.

En sevdiğim em dash bug'ı. Latin-1 dışındaki herhangi bir karakter, V8'in tüm cevabı UTF-16 olarak saklamasına yol açıyordu, bu yüzden her syntax highlighting regex'i daha yavaş olan iki byte'lık yolda çalışıyordu. Düzeltme yaklaşık yirmi satırdı: highlight etmeden önce her kod bloğunu tek byte'lık bir string'e kopyalamak.

Asıl ders, kazanımları nasıl koruduklarında. Duvar saati milisaniyeleri CI için fazla gürültülüydü, bu yüzden yalnızca aşağı yönde ilerleyebilen deterministik sayımları CI kapısı yaptılar:

  • Sıcak yollardaki JS instruction sayıları
  • Etkileşim başına React commit'leri
  • Style yeniden hesaplamaları ve DOM mutasyonları
  • İsimlendirilmiş bölge başına layout shift'ler

Bunlardan birini artıran bir PR, CI'da başarısız olur.

Milisaniyeler dashboard içindir. Sayımlar CI içindir.

Bu yazı İngilizce aslından Türkçeye çevrilmiştir.

Videoyu LinkedIn'de izle ↗