Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Yeşil Kod: yazılımın enerjisini ölçer, israfı düzeltir, kazancı kanıtlar. Sakarya Üniversitesi · COP31 Yeşil Bölge
翻訳待ち
Loading the full README.
Read the full README ↗Yazılımın enerjisini ölçer, israfı otomatik düzeltir, kazancı kanıtlar. Sakarya Üniversitesi · COP31 Yeşil Bölge projesi
IN sorgusuna, listede aramayı kümeye çevirir, döngüde değişmeyen işi döngü dışına taşır, çift özyinelemeye önbellek ekler, en küçüğü bulmak için sıralamayı min()/max() ile değiştirir ve gereksiz kopya ve dönüşümleri (list(sorted(x)), [x for x in y], sum([...]), list(range(...)) gibi) kaldırır.Demo senaryolarındaki optimize kod elle yazılmadı; motor üretti.
Her kural ölçüldü. 113 kuralın her biri için bir israflı (ornekler/kurallar/YKxxx.py) ve bir verimli (ornekler/kurallar/iyi/YKxxx.py) örnek var. python -m greencode kanit ikisini aynı girdiyle çalıştırır, çıktılarının aynı olduğunu denetler, süre, işlemci süresi ve bellek tepe değerini ölçer. Apple M4'te 95 kural ölçüldü; çıktısı karşılaştırılabilen 94 kuralın hepsinde iki sürüm birebir aynı sonucu verdi (biri rastgele çıktı üretir). Ölçülen kazancın ortancası 2,8 kat, 22 kuralda 100 katın üstünde. Hızda kazanç göstermeyen 15 kural da gizlenmeden yazılır; değerleri bellekte, doğrulukta ya da okunabilirliktedir. 18 kural veritabanı sunucusu, GPU ya da ağ gerektirdiği için ölçülmedi; nedenleri ornekler/kurallar/olcum.py dosyasında. Ölçüm iki kuralın önerisini de düzeltti: zincirleme replace() yerine str.translate önermek CPython'da 25–50 kat yavaştı (kural Ruff PIE810 ile değiştirildi), JSON ile kopyalamaya copy.deepcopy önermek de iki kat yavaştı (öneri "yalnızca değişen alanı kopyala" oldu).
| Senaryo | Kalıp | Motorun düzeltmesi | Sonuç (tahmini mod, 26 Ekim 2026) |
|---|---|---|---|
| Sipariş raporu | N+1 sorgu | toplu IN sorgusu | 2,9 kat az enerji, sorgu 4.001 → 2 |
| Yoklama kontrolü | listede arama | set() | 465 kat az enerji |
| Rota sayısı | önbelleksiz özyineleme | lru_cache | yaklaşık 4.000 kat az enerji |
| Fiyat listesi | döngüde değişmeyen iş | döngü dışına taşıma | 51 kat az enerji |
Proje sayfası: https://yes3760.github.io/yesil-kod/ (film, sonuçlar ve telefonda kod deneme; Türkçe/İngilizce) Proje ekibi: Yunus Emre Sevindik, Mehmet Zahid Görgeç
Gereken tek şey Python 3.9 veya üstü. Ek paket kurulmaz, internet gerekmez.
| Sistem | Komut |
|---|---|
| Windows | baslat.bat dosyasına çift tıklayın |
| Linux / Mac | ./baslat.sh |
| Elle | python -m greencode |
Tarayıcıda http://127.0.0.1:8000 açılır. Stant ekranında F ile tam ekran, T ile otomatik tur. Otomatik turda dört senaryo sırayla düzeltilir, doğrulanır ve canlı ölçülür.
python -m greencode senaryolar # 4 senaryoyu düzelt, doğrula, ölç
python -m greencode analiz dosya.py # israf kalıplarını listele
python -m greencode duzelt dosya.py # düzeltmenin farkını göster
python -m greencode duzelt dosya.py --yaz # dosya.yesil.py olarak kaydet
python -m greencode duzelt dosya.py --kanitla rapor_uret
# parametresiz fonksiyonu iki sürümde
# çalıştır, karşılaştır, ölç
python -m greencode olc betik.py # betiğin enerjisini ölç
python -m greencode kanit # 113 kuralın israflı ve verimli örneğini
# karşılaştır ve ölç (--yaz: olcumler.json)
python -m greencode kanit YK002 YK027 # yalnızca seçilen kurallar
python -m greencode rapor src/ --bicim md # CI raporu (md, html, json)
python -m greencode rapor src/ --esik 0 # yüksek bulgu varsa çıkış kodu 1
ornekler/github-action.yml, her pull request'te raporu üretip PR'a yorum olarak yazar ve yüksek önemli bulgu varsa kontrolü durdurur.
python -m unittest discover -s tests -v
40 test: analiz kuralları (her kuralın kendi örneği ve yanlış alarm denetimleri), her kuralın verimli örneğinin temiz çıkması ve israflı örnekle aynı sonucu vermesi, motorun düzeltmesinin aynı sonucu vermesi, her senaryonun düzeltilip aynı sonucu vermesi, N+1 düzeltmesinin sorgu sayısını düşürmesi, düzeltmenin yorumları ve biçimi koruması, ölçer ve rapor. Her push'ta GitHub Actions ile Python 3.9 ve 3.13'te çalışır; Yeşil Kod kendi kodunu da denetler.
| Mod | Ne zaman | Nasıl |
|---|---|---|
| Gerçek ölçüm (RAPL) | Linux + Intel/AMD işlemci | İşlemcinin enerji sayaçları okunur, boşta tüketim çıkarılır |
| Donanım ölçümü (powermetrics) | Mac, yönetici izniyle | Apple'ın işlemci güç verisi 100 ms'de bir örneklenir; ölçüm penceresiyle örtüşen örnekler toplanır, boşta tüketim çıkarılır |
| Tahmini ölçüm | Windows, sanal makine ya da izin yoksa | İşlemci süresi × çekirdek başına güç (varsayılan 10 W) |
This is the beginning of the README. Read the rest at the original. Read the full README ↗