BrunoLevy / geogram

a programming library with geometric algorithms
Other
1.87k stars 126 forks source link

Atomics refactor to use std::atomics #123

Closed kevinbentley closed 9 months ago

kevinbentley commented 11 months ago

Added support for aarch64 architectures. To do so required refactoring the uses of atomics.

This replaces the architecture specific atomics and spinlocks to use std::atomics. It passes all of the same tests that pass on the main branch. I have done basic performance comparisons using the tests and they are nearly identical on x64 and mac. I haven't compared android or arm32.

BrunoLevy commented 11 months ago

Fantastic ! I'll look at it and merge it as soon as I can find time. Many thanks !

BrunoLevy commented 9 months ago

Awesome ! Thank you very much. This will be included in v1.8.8

BrunoLevy commented 9 months ago

Argh, breaks compilation on different platforms, will revert back previous implementation and re-schedule it for v1.8.9....

BrunoLevy commented 9 months ago

Now looking carefully, trying to fix it. Will keep you updated.

BrunoLevy commented 9 months ago

Hi, I have done a couple of fixes (repo is up to date), now all the non-regression tests pass for all my platform. Would you test it ?

kevinbentley commented 9 months ago

Yes, I'll get back to you ASAP.