-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve TIFF performance #7
Comments
|
Now that scijava-common has a final Timing timing = Timing.start(true);
...
Timing.tick(timing);
...
Timing.tick(timing);
...
Timing.stop(timing);This will accumulate nano-second timings (as precise as the platform allows, anyway) with only minimal performance impact. The |
|
Possible place to improve performance:
|
|
@gab1one is taking a look at the performance of TIFF reader / writer and is posting his results here for further discussion. |
|
This gist can be loaded into a reader, e.g. Eclipse Java Monitor, to view profiling results that clearly indicate TIFF is terrible (e.g. spending 1/3 of its time determining the format) |
|
Top offenders that profiling identified:
Lesser offenders but kind of suspicious:
|
|
OK so I made a mistake in that I was only profiling 17KB TIFFTyped parsingCreateCheckerIsFormatReading (less than 3%)This doesn't 100% tell us that the API is being used correctly (e.g. calling But my next steps are to profile with a naive caching mechanism, e.g. mapping classes to their field annotations. If that proves to be successful then my thoughts for future steps would be incremental |
|
So there are several scenarios to consider with regard to performance here:
|
|
|
Note that #203 is also relevant here as having a higher priority ImageJ (and/or SCIFIO) TIFF Format could also improve performance in many cases |
|
See also #342 |
|
See also #310 |





The current TIFFFormat is a direct port of the loci.formats TIFFFormat. Part of the goal for SCIFIO is to improve this performance.
As a part of this, the MinimalTIFFFormat should be restructured into just base components, and not be a format by itself.
The text was updated successfully, but these errors were encountered: