Skip to content

Commit 48ce40c

Browse files
committed
Improve indexing and some more cleanup
1 parent 0339d98 commit 48ce40c

File tree

4 files changed

+488
-360
lines changed

4 files changed

+488
-360
lines changed

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Flatbush for C++
22

33
[![Ubuntu](https://github.com/chusitoo/flatbush/actions/workflows/ubuntu.yml/badge.svg)](https://github.com/chusitoo/flatbush/actions/workflows/ubuntu.yml) [![Windows](https://github.com/chusitoo/flatbush/actions/workflows/windows.yml/badge.svg)](https://github.com/chusitoo/flatbush/actions/workflows/windows.yml) [![macOS](https://github.com/chusitoo/flatbush/actions/workflows/macos.yml/badge.svg)](https://github.com/chusitoo/flatbush/actions/workflows/macos.yml) [![CodeQL](https://github.com/chusitoo/flatbush/actions/workflows/codeql.yml/badge.svg)](https://github.com/chusitoo/flatbush/actions/workflows/codeql.yml)
4+
45
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/chusitoo/flatbush)](https://github.com/chusitoo/flatbush/releases/latest) [![Conan Center](https://img.shields.io/conan/v/flatbush)](https://conan.io/center/recipes/flatbush) [![Vcpkg](https://img.shields.io/vcpkg/v/flatbush)](https://vcpkg.io/en/package/flatbush)
56

67
A C++ adaptation of the great Flatbush JS library which implements a packed Hilbert R-tree algorithm.
@@ -86,6 +87,18 @@ This is a single header library with the aim to support C++11 and up.
8687

8788
If the target compiler does not have support for C++20 features, namely the ```<span>``` header, a minimalistic implementation is available if **FLATBUSH_SPAN** flag is defined.
8889

90+
### SIMD Optimizations
91+
The library automatically detects and uses SIMD instructions for improved performance. You can control the SIMD level with the following flags:
92+
93+
| ISA Level | GCC/Clang | MSVC |
94+
|-----------|-----------|------|
95+
| **SSE2** (default on x64) | `-msse2` | `/arch:SSE2` |
96+
| **SSE3** | `-msse3` | N/A |
97+
| **SSE4** | `-msse4` | N/A |
98+
| **AVX** | `-mavx` | `/arch:AVX` |
99+
| **AVX2** | `-mavx2` | `/arch:AVX2` |
100+
| **AVX512** | `-mavx512f -mavx512dq -mavx512vl` | `/arch:AVX512` |
101+
89102
### Unit tests
90103

91104
#### CMake

0 commit comments

Comments
 (0)