image - 使用 Piston 的 image crate 编译程序很慢

标签 image rust

我正在使用 Piston 的图像箱来读取 JPEG 图像的每个像素的尺寸和颜色,但编译该程序非常慢。

这是我的示例程序:

extern crate image;

fn main() {
    let img = image::open("example.jpg");
}

每次我修改源代码时,使用cargo buildcargo 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/

相关文章:

jquery:domready 或加载时的图像宽度?

c# - 在剪贴板中查找图像类型

rust - 在作用域线程池中生成线程是否需要额外的时间?

rust - 在循环中构建 std::process::Command 时类型不匹配

rust - 使用泛型时, `From` 的实现如何冲突?

mysql - 在 Django 中显示数据库中的图像?

Python 和 opencv : how do I convert the ALL of the background of this image to one colour or transparent

c# - 如何在加载应用程序时显示图像

rust - 有没有一种惯用的方法来实现组件模式?

rust - Rust-如何检查文件中的EOF?