usearch 0.18.6 → 0.18.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "usearch"
3
- version = "0.18.6"
3
+ version = "0.18.8"
4
4
  authors = ["Ashot Vardanian <1983160+ashvardanian@users.noreply.github.com>"]
5
5
  description = "Smaller & Faster Single-File Vector Search Engine from Unum"
6
6
  edition = "2021"
package/README.md CHANGED
@@ -69,11 +69,13 @@ Both USearch and FAISS implement the same HNSW algorithm.
69
69
  But they differ in a lot of design decisions.
70
70
  USearch is designed to be compact and broadly compatible without sacrificing performance.
71
71
 
72
- | | FAISS, `f32` | USearch, `f32` | USearch, `f16` | USearch, `f8` |
73
- | :--------- | -----------: | -------------: | -------------: | ------------: |
74
- | Insertions | 76 K/s | 105 K/s | 115 K/s | **202 K/s** |
75
- | Queries | 118 K/s | 174 K/s | 173 K/s | **304 K/s** |
76
- | Recall @1 | 99% | 99.2% | 99.1% | **99.2%** |
72
+ | | FAISS, `f32` | USearch, `f32` | USearch, `f16` | USearch, `f8` |
73
+ | :----------- | -----------: | -------------: | -------------: | ------------: |
74
+ | Batch Insert | 16 K/s | 73 K/s | 100 K/s | **104 K/s** |
75
+ | Batch Search | 82 K/s | 103 K/s | 113 K/s | **134 K/s** |
76
+ | Bulk Insert | 76 K/s | 105 K/s | 115 K/s | **202 K/s** |
77
+ | Bulk Search | 118 K/s | 174 K/s | 173 K/s | **304 K/s** |
78
+ | Recall @1 | 99% | 99.2% | 99.1% | **99.2%** |
77
79
 
78
80
  > Dataset: 1M vectors sample of the Deep1B dataset.
79
81
  > Hardware: `c7g.metal` AWS instance with 64 cores and DDR5 memory.
@@ -81,6 +83,7 @@ USearch is designed to be compact and broadly compatible without sacrificing per
81
83
  > connectivity `M=16`,
82
84
  > expansion @ construction `efConstruction=128`,
83
85
  > and expansion @ search `ef=64`.
86
+ > Batch size is 256.
84
87
  > Both libraries were compiled for the target architecture.
85
88
  > Jump to the [Performance Tuning][benchmarking] section to read about the effects of those hyper-parameters.
86
89
 
package/conanfile.py CHANGED
@@ -4,7 +4,7 @@ from conans import ConanFile
4
4
  class USearchConan(ConanFile):
5
5
 
6
6
  name = 'USearch'
7
- version = '0.18.6'
7
+ version = '0.18.8'
8
8
  license = 'Apache 2.0'
9
9
  url = 'https://github.com/unum-cloud/usearch'
10
10
  description = 'Smaller & Faster Single-File Vector Search Engine from Unum'
@@ -11,14 +11,16 @@ git submodule update --init --recursive
11
11
  Linux:
12
12
 
13
13
  ```sh
14
+ sudo apt-get update
15
+ sudo apt-get install cmake g++-12 build-essential libjemalloc-dev
14
16
  cmake -B ./build_release \
15
17
  -DCMAKE_CXX_COMPILER="g++-12" \
16
18
  -DCMAKE_BUILD_TYPE=Release \
17
- -DUSEARCH_USE_JEMALLOC=1 \
19
+ -DUSEARCH_BUILD_TEST=1 \
18
20
  -DUSEARCH_USE_OPENMP=1 \
19
21
  -DUSEARCH_USE_SIMSIMD=1 \
22
+ -DUSEARCH_USE_JEMALLOC=1 \
20
23
  -DUSEARCH_BUILD_BENCHMARK=1 \
21
- -DUSEARCH_BUILD_TEST=1 \
22
24
  && \
23
25
  make -C ./build_release -j
24
26
  ```
@@ -80,7 +80,7 @@ inline bool hardware_supports(isa_t isa) noexcept {
80
80
  #if defined(USEARCH_DEFINED_ARM) && defined(USEARCH_DEFINED_LINUX)
81
81
  unsigned long capabilities = getauxval(AT_HWCAP);
82
82
  switch (isa) {
83
- case isa_t::neon_k: return capabilities & HWCAP_NEON;
83
+ case isa_t::neon_k: return true; // Must be supported on 64-bit Arm
84
84
  case isa_t::sve_k: return capabilities & HWCAP_SVE;
85
85
  default: return false;
86
86
  }
@@ -192,7 +192,11 @@ class f8_bits_t;
192
192
  class f16_bits_t;
193
193
 
194
194
  #if USEARCH_USE_NATIVE_F16
195
+ #if defined(USEARCH_DEFINED_ARM)
196
+ using f16_native_t = __fp16;
197
+ #else
195
198
  using f16_native_t = _Float16;
199
+ #endif
196
200
  using f16_t = f16_native_t;
197
201
  #else
198
202
  using f16_native_t = void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "usearch",
3
- "version": "0.18.6",
3
+ "version": "0.18.8",
4
4
  "description": "Smaller & Faster Single-File Vector Search Engine from Unum",
5
5
  "author": "Ashot Vardanian",
6
6
  "license": "Apache 2.0",