hvz wrote: ↑Fri Jun 28, 2019 10:52 am

Here are my Pi 3B vs Pi 4 numbers. I used the same binary, that I compiled with gcc 6.3 on an older image (because I am having huge performance issues with Raspbian Buster and I wanted to investigate those). For some reason, these performance issues don't show up at all in this pichart-test - but they do in software that I wrote (an old 2017 Raspbian image is more than twice as fast as Buster on that, no idea why, if anyone has an idea:

https://www.raspberrypi.org/forums/view ... 8&t=243859 ).

So anyway, here are my numbers for the Pi 3B vs Pi 4:

Prime Sieve: 483 / 1411

Merge Sort: 301 / 540

Fourier: 149 / 258

Lorenz 96: 905 / 4610

Ah. And there's the cause of the MergeSort problem: It broke in gcc.

Here are the same numbers for the Pi 4, but using gcc 8.3 that's on the Buster image:

Prime Sieve: 1690

Merge sort: 328

Fourier: 253

Lorenz 96: 5747

More numbers, this time with Ubuntu Mate 64 bit, Pi 3B (because there's no Pi 4 version yet). And unfortunately with gcc 7.4, because that's the one that's delivered with Ubuntu Mate...

Prime Sieve: 632 (30% faster than 32 bit, note that gcc 8.3 was already 19% faster than 6.3 so it could be that, leaving about 9% difference assuming that 7.4 was already this fast)

Merge Sort: 262 (Can't really compare this one, looks like it already broke in gcc 7.4)

Fourier: 167 (12% faster than 32 bit)

Lorenz 96: 1292 (42% faster than 32 bit, but gcc 8.3 was 25% faster than 6.3, leaving about 13% difference assuming that 7.4 was already this fast).

My very very unreliable estimate would be that 64 bit is between 10 and 15% faster than 32 bit. Which matches values that I've read elsewhere, and values that I've seen in my own software (compiled with the same compiler version in both 32 and 64 bit). It would be helpful to use the same gcc versions (and I could, I have gcc 8.2 running at both 32 and 64 bit on some other Pi's), but that's too much effort for now. I'm more interested in how it affects my own software than on how it affects a benchmark.