2016-03-30 16 views
2

Bir JPEG görüntüsünün her bir pikselinin boyutlarını ve rengini okumak için Piston'un görüntü kasasını kullanıyorum, ancak programın derlenmesi gerçekten yavaş.Piston'un görüntü kasasını kullanarak bir programın derlenmesi yavaş

İşte benim örnek programıdır:

bu kargo yapı veya yapı en az 13 saniye I kaynak kodunu modifiye ettik her zaman alır --release kargoyu kullanarak derleniyor
extern crate image; 

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

!

Çıktı version rustc ait: rustc 1.7.0 (a5d1e7a59 2016-02-29)

Çıktı version kargo ait: cargo 0.8.0-nightly (28a0cbb 2016-01-17)

Ben Ubuntu 15.10 kullanıyorum.

+0

İlk görüntü için derleme ve deps, 2: 22.58elapsed: sadece basit lib.rs dosya, 0 o değiştirmek için yeniden derlemek, 15.20elapsed. Gerçekten çok iyi değil ve bu bir hata ayıklama yapısıyla! Ama bu sorunu düzeltmek için bir fikrim var .. – bluss

+3

[PR'd] (https://github.com/PistonDevelopers/image/pull/518) belirli bir sorunu çözmek için .. – bluss

+0

@bluss Bir cevap yazarsın Anladığınız mesajın yanı sıra sorunu ve düzeltmeyi açıklıyor ;-) – Shepmaster

cevap

2

Yerel bir iç kasa yapın ve içine extern crate image yerleştirin. İç sandık değişmediği sürece kök sandığın derlenmesi hızlı olacaktır (2 sn).

kök/Cargo.toml

[dependencies] 
wrapper = { path = "wrapper" } 

kök/src/main.rs

extern crate wrapper; 

fn main() { 
    let _img = wrapper::open(); 
} 

kök/kaplama/Cargo.toml

[dependencies] 
image = "*" 

kök/kaplama/src/lib.rs

extern crate image; 

pub use image::{ImageResult, DynamicImage}; 

pub fn open() -> ImageResult<DynamicImage> { 
    image::open("example.jpg") 
} 
1

Sürekli olarak derleyicinin hızını geliştirmek için çalışıyoruz, ancak bazı kasalar diğerlerine göre daha yavaş derleniyorlar. Bu özel sandık hakkında fazla bir şey bilmiyorum, ama bu şimdilik geçerli olabilir.

İlgili konular