2015-12-02 20 views
5

Tôi đang viết một chương trình có tính toán khá nặng và chạy chậm ở chế độ gỡ lỗi.Cách biên dịch và chạy chương trình Rust được tối ưu hóa với chức năng kiểm tra tràn được bật

Chương trình của tôi cũng bị cản bởi số nguyên tràn, vì tôi đang đọc dữ liệu từ các mảng u8u8 lây lan đến những nơi không mong muốn thông qua suy luận kiểu và Rust thích tràn hơn là để thăng cấp các số nguyên thành loại lớn hơn.

xây dựng trong chế độ phát hành vô hiệu hóa kiểm tra tràn:

cargo run --release 

Làm thế nào tôi có thể xây dựng Rust thực thi với tối ưu hóa và kiểm tra tràn runtime cho phép không?

Trả lời

7

Điều đơn giản nhất có thể là để build in test or dev mode with optimizations:

[profile.dev] 
opt-level = 3 

Ngoài ra, bạn có thể biên dịch trong chế độ phát hành với khẳng định debug được kích hoạt:

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

Lưu ý: để có được một tốt tốc độ lên nhưng vẫn có stacktraces có ý nghĩa bạn có thể muốn sử dụng 'opt-level = 1'. Mỗi cơ quan chức năng sẽ được tối ưu hóa, tuy nhiên nói chung không có (hoặc ít) nội tuyến. Tất nhiên nó không phải là nhanh chóng ... –

+0

Đối với nội tuyến có '# [inline (không bao giờ)]' và '# [inline (luôn luôn)]' (tất nhiên chỉ sử dụng cẩn thận nếu bạn nhận thấy trình biên dịch không thực hiện tốt công việc, bởi vì sử dụng quá mức các thuộc tính này có thể phản tác dụng). – Kornel

Các vấn đề liên quan