Skip to content

Current gdalwarp 10-15% (?) slower than 3.10 #12170

Open
@pjonsson

Description

@pjonsson

What is the bug?

I ran my testsuite in the ubuntu-full image built on latest master towards the end of last week, possibly commit c4a2e0b, and the runtime for the testsuite has increased from 4m11s with a GDAL 3.10.2-based image to 4m32s. I don't have a setup for measuring performance beyond total runtime, but I ran the test suite several times in both images and the numbers are quite stable, there is a ~20s difference between the two.

Trying to dig into the cause, I looked at things in top and observed that the slowest gdalwarp (NUM_THREADS=1) process ran for 42 CPU seconds with 3.10.2, and 47 seconds with 3.11. Top is imprecise, but the testsuite runs 3 rounds of gdalwarp so if each run is ~7 seconds slower that would neatly sum up to the 21 seconds of observed time difference.

My machine is not starved of memory, but I also noticed the gdalwarp processes have a slightly larger VIRT with my 3.11 build according to top, from 128xxx (~1.2G) with 3.10.2 to 140xxx (~1.3G). I considered whether that might be debug info, but I did not pass any debug flags to build.sh when building the image, so the only difference I'm aware of is using the ubuntu-full instead of ubuntu-small image and the missing --release parameter.

Looking at the release notes for 3.11, I get the impression that gdalwarp should have gotten slightly faster (or at least not slower), so I'm filing this as a bug. Feel free to close this if the slowdown is expected, 10-15% is not make-or-break for me.

While working on this I also noticed that running the commands (only 3.11 for this one, don't have a 3.10 reference point) but changing compression and -of COG to -of Zarr gives a different number of decimals in the second and last component of the tuple when running gdalcompare -dumpdiffs Oa01_reflectance.tif Oa01_reflectance.zarr which surprised me a bit, should I make a separate issue for that?

GeoTransforms Differ:
  Golden: (-31.560815811157227, 0.0058750907369288004, 0.0, 73.37567138671875, 0.0, -0.0058750907369288004)
  New:    (-31.560815811157227, 0.0058750907369288, 0.0, 73.37567138671875, 0.0, -0.0058750907369288)

Steps to reproduce the issue

It's the same image and steps as #10809, but using Float32 for latitude.vrt and longitude.vrt.

Versions and provenance

The ubuntu-full image built on latest master towards the end of last week, possibly commit c4a2e0b.

Additional context

No response

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