[
https://issues.apache.org/jira/browse/IMAGING-356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17739916#comment-17739916
]
Gary D. Gregory edited comment on IMAGING-356 at 7/4/23 1:00 PM:
-----------------------------------------------------------------
Hi [~gwlucas]
After looking at VisualVM (see screengrab), I think the difference you see
between alpha3 and now could be attributable to the hardening introduced to fix
out-of-memory DOS attacks found by our integration with the Google OSS-Fuzz
project.
In this case, maybe the parameter checking in ImageBuilder.setRgb() which is
called 49m times \(!). I did not try to undo those changes and re-profile
though, as I don't think we should undo this fix. It is also worth noting that
the profiling shows that 50.1% of the time is spent in the body of
DataReaderStrips.interpretStrip(). There might be some optimization to do at
that level or the overall algorithm.
!image-2023-07-04-08-52-36-535.png!
was (Author: garydgregory):
Hi [~gwlucas]
After looking at VisualVM (see screengrab), I think the difference you see
between alpha3 and now could be attributable to the hardening introduced to fix
out-of-memory DOS attacks found by our integration with the Google OSS-Fuzz
project.
In this case, maybe the parameter checking in ImageBuilder.setRgb() which is
called 49m times (!). I did not try to undo those changes and re-profile
though, as I don't think we should undo this fix. It is also worth noting that
the profiling shows that 50.1% of the time is spent in the body of
DataReaderStrips.interpretStrip(). There might be some optimization to do at
that level or the overall algorithm.
!image-2023-07-04-08-52-36-535.png!
> TIFF reading extremely slow in version 1.0-SNAPSHOT
> ---------------------------------------------------
>
> Key: IMAGING-356
> URL: https://issues.apache.org/jira/browse/IMAGING-356
> Project: Commons Imaging
> Issue Type: Bug
> Components: Format: TIFF
> Affects Versions: 1.0
> Reporter: Gary Lucas
> Priority: Major
> Attachments: image-2023-07-04-08-52-36-535.png
>
>
> I am using the latest code from github (1.0-SNAPSHOT downloaded from github
> of June 2023) to read a 300 megabyte TIFF file. Version 1.0-alpha3 required
> 673 milliseconds to read that file. The new code requires upward of 15
> minutes. Clearly something got broken since the last release.
> The TIFF file is a 10000x10000 pixel 4 byte image format organized in strips.
> The bottleneck appears to occur in the TiffReader getTiffRawImageData method
> which reads raw data from the file in preparation of creating a BufferedImage
> object.
> I suspect that there may be a general slowness of file access. In debugging,
> even reading the initial metadata (22 TIFF tags) took a couple of seconds.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)