Skip to content

Benchmarking #1

@IanButterworth

Description

@IanButterworth

I just added a benchmark script at https://github.com/JuliaIO/PNG.jl/blob/master/benchmarking/benchmark.jl

Looks like QuartzImageIO >> PNG > ImageMagick overall, but PNG is fastest to load

All of this is before @Drvi's IanButterworth/ImageIODevelopment.jl#3 which looks like it will improve things 👍🏻

Small image

[ Info: Testing with rand(RGB{N0f8}, 244, 244) image -----------------------------

[ Info: Testing FileIO with ImageMagick (dedicated environment, new instance)
Time to first save (including save): 2.336 seconds
Save @btime:  27.209 ms (3562 allocations: 710.64 KiB)
Load @btime:  5.420 ms (3722 allocations: 717.97 KiB)

[ Info: Testing FileIO with QuartzImageIO (dedicated environment, new instance)
Time to first save (including save): 2.445 seconds
Save @btime:  8.773 ms (1837 allocations: 794.13 KiB)
Load @btime:  3.477 ms (2062 allocations: 574.75 KiB)

[ Info: Testing FileIO with PNG (dedicated environment, new instance)
Time to first save (including save): 1.776 seconds
Save @btime:  20.581 ms (279 allocations: 370.69 KiB)
Load @btime:  2.569 ms (184 allocations: 183.33 KiB)

Large image

[ Info: Testing with rand(RGB{N0f8}, 20000, 4000) image -----------------------------

[ Info: Testing FileIO with ImageMagick (dedicated environment, new instance)
Time to first save (including save): 32.806 seconds
Save @btime:  30.127 s (3562 allocations: 686.83 MiB)
Load @btime:  4.962 s (3729 allocations: 686.84 MiB)

[ Info: Testing FileIO with QuartzImageIO (dedicated environment, new instance)
Time to first save (including save): 14.143 seconds
Save @btime:  11.721 s (1837 allocations: 915.62 MiB)
Load @btime:  3.934 s (2064 allocations: 610.46 MiB)

[ Info: Testing FileIO with PNG (dedicated environment, new instance)
Time to first save (including save): 30.107 seconds
Save @btime:  28.491 s (20035 allocations: 460.82 MiB)
Load @btime:  4.107 s (186 allocations: 228.89 MiB)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions