Switch Arc<Box<Image>> to Arc<Image> for perf boost.

Image used to be a trait, but no longer is, so boxing it is no longer
necessary.
This commit is contained in:
Aneesh Agrawal 2015-04-10 18:59:02 -04:00
parent a8b0fb1e79
commit 5b593a3d32
7 changed files with 13 additions and 13 deletions

View file

@ -19,7 +19,7 @@ use url::Url;
#[derive(Clone)]
pub struct ImageHolder<NodeAddress> {
url: Url,
image: Option<Arc<Box<Image>>>,
image: Option<Arc<Image>>,
cached_size: Size2D<u32>,
local_image_cache: Arc<Mutex<LocalImageCache<NodeAddress>>>,
}
@ -68,12 +68,12 @@ impl<NodeAddress: Send + 'static> ImageHolder<NodeAddress> {
})
}
pub fn get_image_if_present(&self) -> Option<Arc<Box<Image>>> {
pub fn get_image_if_present(&self) -> Option<Arc<Image>> {
debug!("get_image_if_present() {}", self.url.serialize());
self.image.clone()
}
pub fn get_image(&mut self, node_address: NodeAddress) -> Option<Arc<Box<Image>>> {
pub fn get_image(&mut self, node_address: NodeAddress) -> Option<Arc<Image>> {
debug!("get_image() {}", self.url.serialize());
// If this is the first time we've called this function, load

View file

@ -31,7 +31,7 @@ pub enum Msg {
StorePrefetchedImageData(Url, Result<Vec<u8>, ()>),
/// Used by the decoder tasks to post decoded images back to the cache
StoreImage(Url, Option<Arc<Box<Image>>>),
StoreImage(Url, Option<Arc<Image>>),
/// For testing
WaitForStore(Sender<()>),
@ -42,7 +42,7 @@ pub enum Msg {
#[derive(Clone)]
pub enum ImageResponseMsg {
ImageReady(Arc<Box<Image>>),
ImageReady(Arc<Image>),
ImageNotReady,
ImageFailed
}