[
https://issues.apache.org/jira/browse/IMAGING-95?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Amit Gupta updated IMAGING-95:
------------------------------
Attachment: (was: tiff_perf_fix.patch)
> Some tiff processing takes very long
> ------------------------------------
>
> Key: IMAGING-95
> URL: https://issues.apache.org/jira/browse/IMAGING-95
> Project: Commons Imaging
> Issue Type: Bug
> Components: Format: TIFF
> Affects Versions: 1.0
> Reporter: Amit Gupta
> Attachments: tiff_perf_fix2.patch
>
>
> org.apache.commons.imaging.formats.tiff.TiffReader.getTiffRawImageData(ByteSource,
> TiffDirectory) 226635 1
> org.apache.commons.imaging.common.bytesource.ByteSourceInputStream.getBlock(int,
> int) 226588 5616
> org.apache.commons.imaging.common.BinaryFileFunctions.skipBytes(InputStream,
> int) 226526 5616
> org.apache.commons.imaging.common.BinaryFileFunctions.skipBytes(InputStream,
> int, String) 226526 5616
> org.apache.commons.imaging.common.bytesource.ByteSourceInputStream$CacheReadingInputStream.read(byte[],
> int, int) 226526 188656860
> org.apache.commons.imaging.common.bytesource.ByteSourceInputStream$CacheBlock.getNext()
> 64581 188651244
> skip bytes is being called repeatedly again and again, last column is
> invocation count in one call tree. Second column is total number of time
> taken by that method in that call tree..
> and skip method is not overridden
> org.apache.commons.imaging.common.bytesource.ByteSourceInputStream.CacheReadingInputStream
> and default implementation of InputStream tries to use read method (which is
> overridden in CacheReadingInputStream) to skip.
> In case of a tiff, which has large number of strips, skip is repeatedly
> called and use of read is inefficient as it tried to do a System.arraycopy.
> array copy is not needed in case of skip operation, as the bytes were already
> read in block/cached, we can simply jump the pointer (block by block)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira