-
C-Reduce'in kullanımı
- C-Reduce, Regehr ve çalışma arkadaşları tarafından geliştirilen, C derleyici hata yeniden üreticilerini küçültmek için kullanılan bir araçtır.
- Örneğin, Clang hatasını tetikleyen 10.000 satırlık bir C dosyasını küçültmek istediğinizde faydalıdır.
- C-Reduce yalnızca C diliyle sınırlı değildir; çeşitli dillere uygulanabilir.
-
C-Reduce'in gereksinimleri
- Deterministik bir koşul gerekir.
- Hızlı bir yeniden üretici varsa küçültme hızına yardımcı olur.
- C-Reduce'in küçültebileceği, değiştirilebilir bir veya daha fazla kaynak dosya gerekir.
-
RustPython hata vakası
- RustPython'da ortaya çıkan bir hatayı bildirmek için
interesting.sh betiği yazıldı.
- Betik, RustPython'ı çalıştırdıktan sonra belirli hata mesajını
grep ile arar.
-
C-Reduce çalıştırma
- C-Reduce çalıştırılarak dosya boyutunu %50'den fazla azaltmada başarı sağlandı.
- C'ye özgü geçişlerden kaçınmak ve Python'a uygun şekilde optimize etmek için
--not-c seçeneği kullanıldı.
- Sonuç olarak dosya hızlı ve kolay biçimde küçültülebildi.
-
Sonuç
- C-Reduce çeşitli dillere uygulanabilir ve dosyaları hızlı ve verimli biçimde küçültmek için kullanışlıdır.
- Bu açık kaynaklı bir blogdur; hata varsa değişiklik önerisinde bulunabilirsiniz.
1 yorum
Hacker News görüşleri
Bir kullanıcı, dosyayı küçültme yöntemini paylaşıyor ve RustPython ile scrapscript kullanarak nasıl kurulum yapılacağını açıklıyor
git clonekomutu kullanılıyor vecargo build --releaseile derleniyorinteresting.shdosyası indiriliyor ve çalıştırma izni veriliyornix run nixpkgs#creducekomutu kullanılıyorC-Reduce kullanılmasını tavsiye ediyor ve Shrinkray adlı aracı da birlikte denemeyi öneriyor
C-Reduce hakkında bir makalenin 2012'de yayımlandığından bahsediyor
C-Reduce'u ilk kez öğrendiğini ve bunun, git bisect'i ilk keşfettiğindekiyle benzer bir heyecan verdiğini söylüyor
C-Reduce örneklerini gösteren bir yazı bulduğunu, ancak her yinelemede neyin kaldırılacağına nasıl karar verildiğini anlamanın zor olduğunu söylüyor
C-Reduce'u çok faydalı bulduğunu değerlendiriyor
Delta debugging yeni bir kavram değil
SQL'de de iyi çalıştığını ve iş yerinde kullandığını söylüyor
C dili dışındaki dillerde de çalışmasının nedenine dair bir açıklama olmadan buna inanmanın zor olduğunu söylüyor
C-Reduce için iyi bir devam aracı olarak cvise'ı öneriyor