2015-12-02 14 views
5

Çok ağır bir program yazıyor ve hata ayıklama modunda çalışmayı yavaş yavaş yapıyor.Taşma kontrolü etkinleştirilmiş optimize edilmiş bir Pas programı nasıl derlenir ve çalıştırılır

Programım ayrıca u8 diziler verileri okuyorum ve u8 tip tür kesmesi yoluyla beklenmedik yerlere yayılır çünkü tamsayı taşmaları boğulmuş ve Pas taşmaya ziyade büyük türlerine tamsayılar teşvik etmek tercih edilir. da etkinleştirilmesi

cargo run --release 

nasıl optimizasyonlar ve çalışma zamanı taşma çekleri ile Pas yürütülebilir inşa edebilirsiniz: sürüm modunda

Bina taşma kontrolleri devre dışı bırakır?

cevap

7

kolay şey build in test or dev mode with optimizations nedeniyle olabilir:

[profile.dev] 
opt-level = 3 

Alternatif olarak, hata ayıklama iddialarına ile sürüm modunda derlemek olabilir etkin:

[profile.release] 
debug-assertions = true 
+1

Not: İyi bir hızlandırması olsun ama hala var sadece 'opt-level = 1' kullanmak isteyebileceğiniz anlamlı yığınlar. Her bir işlev gövdesi en iyi duruma getirilir, ancak genelde hiçbir (veya küçük) çizgi yoktur. Elbette bu kadar hızlı değil ... –

+0

Inlining için # # inline (never)] 've' # [inline (always)] '(elbette derleyicinin iyi bir iş yapmadığını fark ederseniz dikkatli olun. çünkü bu özelliklerin aşırı kullanımı geri tepebilir. – Kornel

İlgili konular