我正在使用 Piston 的图像箱来读取 JPEG 图像的每个像素的尺寸和颜色,但编译该程序非常慢。
这是我的示例程序:
extern crate image;
fn main() {
let img = image::open("example.jpg");
}
每次我修改源代码时,使用cargo build或cargo build --release编译它至少需要13秒!
rustc --version 的输出:rustc 1.7.0 (a5d1e7a59 2016-02-29)
cargo --version的输出:cargo 0.8.0-nightly (28a0cbb 2016-01-17)
我使用的是 Ubuntu 15.10。
最佳答案
您制作一个本地内部 crate 并将外部 crate 图像
放入其中。只要内部 crate 不发生变化,根 crate 的编译就会很快(2 秒)。
root/Cargo.toml
[dependencies]
wrapper = { path = "wrapper" }
root/src/main.rs
extern crate wrapper;
fn main() {
let _img = wrapper::open();
}
root/wrapper/Cargo.toml
[dependencies]
image = "*"
root/wrapper/src/lib.rs
extern crate image;
pub use image::{ImageResult, DynamicImage};
pub fn open() -> ImageResult<DynamicImage> {
image::open("example.jpg")
}
关于image - 使用 Piston 的 image crate 编译程序很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36317461/