Ich schreibe ein Programm, das ziemlich rechenintensiv ist, und es ist ärgerlich langsam, im Debug-Modus zu laufen.Wie kompiliere und führe ich ein optimiertes Rust-Programm mit aktivierter Überlaufprüfung aus?
Mein Programm wird auch von Integerüberläufe geplagt, weil ich Daten aus u8
Arrays Lesen bin und u8
Art verbreitet sich auf unerwarteten Orten über Typinferenz und Rust bevorzugt eher überlaufen als auf ganze Zahlen zu größeren Typen zu fördern.
Gebäude im Release-Modus deaktiviert Überlauf überprüft:
cargo run --release
Wie kann ich Rust ausführbare Datei mit Optimierungen und Laufzeitüberlauf überprüft und freigegeben bauen?
Hinweis: haben ein gutes Speed-up zu bekommen, aber nach wie vor sinnvolle Stacktraces möchten Sie vielleicht nur 'opt-level = 1' verwenden. Jeder Funktionskörper wird optimiert, aber im Allgemeinen gibt es kein (oder wenig) Inlining. Natürlich ist es nicht so schnell ... –
Für Inlining gibt es '# [inline (nie)]' und '# [inline (immer)]' (natürlich nur dann, wenn der Compiler keine gute Arbeit leistet, weil die übermäßige Verwendung dieser Attribute fehlschlagen kann). – Kornel