On 12/18/24 17:29, Geert Uytterhoeven wrote:
Hi Helge,
On Sun, Dec 15, 2024 at 4:08 PM Helge Deller <deller@xxxxxx> wrote:
On 12/15/24 11:45, Geert Uytterhoeven wrote:
"test002" crashes when run with a display resolution of e.g. 2560x1440
pixels, due to 32-bit overflow in the ellipse drawing routine.
Fix this by creating a copy that uses 64-bit arithmetic. Use a
heuristic to pick either the 32-bit or the 64-bit version, to avoid the
overhead of the 64-bit version on small systems with small displays.
I see you always build the 32- and 64-bit versions, so when you mean
overhead you mean runtime overhead, not compiled binary size overhead.
Exactly.
So, just wondering:
Did you maybe measured how much slower the 64-bit version is on slow 32-bit systems?
I'm fine with your decision to build both, but I'm wondering if it's really necessary
to keep two versions for a "test tool"?
On ARM Cortex-A9, draw_ellipse(400, 240, 300, 239, ...) with a
dummy (empty) set_pixel() method using the 64-bit version takes 44%
longer than the 32-bit version, so I think it is worthwhile to have
both versions.
Oh, I didn't expect that much.
I agree it's worthwhile to have both versions.
Helge