Releases: unum-cloud/usearch
Releases · unum-cloud/usearch
v2.10.3
v2.10.2
v2.10.1
Broader Compatibility in USearch v2.10.0
USearch v2.10.0 brings major compatibility improvements:
- Better CMake thanks to @Ngalstyan4 🤗
- Pre-build JavaScript binaries thanks to @sroussey 🤗
- Better docs thanks to @simonw 🤗
Notable new features include:
- Use AVX in Windows Python images (c694880)
- Standalone SQLite binaries (227083b)
- Introspecting SIMD capabilities in Rust builds (16fa90f)
- Pretty printing the index with
__repr_pretty__
(7087138) - Improved bit-casting for negative
float
-s (1d03a9d)
Moreover, new USearch ships 50 binaries to PyPi, covering more platforms than NumPy with 35, but still fewer than SimSIMD and StringZilla with 105. More improvements to come to the most portable fast approximate nearest neighbors search engine 🥳
v2.9.2
2.9.2 (2024-03-05)
Docs
Fix
index.vectors
computed property (fe710cc), closes #349multi
initialization in C tests (7f4dee4)- Add BigInt validation in index creation,Node Support (5c61c95)
- Bugfix for importlib attrib error (1bc24dd)
- No Pearson correlation for 1d data (3b09259)
- ordering keys before comparison (6bf1df8)
- Reordering vectors before comparison (a4fb305)
Make
- Upgrade SimSIMD & StringZilla (e7aac02)
Hashes
- docs.tar.gz :
71c0d872c29a98d2fdbfbd27946682372138f54512e701d3f40810cb8566ab0d
- usearch-v2.9.2.tar.gz :
16736360f30c9e27d9544ac1fc7662939e02ea223c748e29e8e18ba282a2eadf
- usearch-v2.9.2.zip :
572988a414ddc8ebe6091648c6fe12edfe3fb01ddb2c4000a3538d56e547aa76
- usearch_linux_amd_2.9.2.deb :
4025bf124e3ee32029407a85b8eb7011e9a3ce1f19f5057cc674391264947ea2
- usearch_linux_arm_2.9.2.deb :
a9ad80f35789b5f661ad8fd2d01663661d036c61ff04a9109a6e8ef9d20f3a99
- usearch_macOS_arm64_2.9.2.zip :
ebfc16c1da6029110260dbb3bd5b3e1c20855cc5ffaa69ee00d30436f2bf377b
- usearch_macOS_x86_64_2.9.2.zip :
7860f96675d87ff3afc0587e5940a3732e54c933057ad1290802ae8110a945f0
- usearch_wasm_linux_arm64_2.9.2.tar.gz :
a610edde242ee047156945b82dcf9ad02448fce5c815ae57f87296ffa81ddecd
- usearch_wasm_linux_x86_64_2.9.2.tar.gz :
4e389a217fad0c7f2802697330c8b19cbbee09201c9e85542404f694d17426e2
- usearch_wasm_macos_arm64_2.9.2.zip :
d88faf6739742a6c141736a6565eaae1316e327d295023501c97b5d77abac895
- usearch_wasm_macos_x86_64_2.9.2.zip :
dc9a5df62be5ffad2fa37f312cfce213f4cc669d9bd3b8e117c518e132db3ce7
- usearch_wasm_windows_x64_2.9.2.tar.gz :
80a8aac793c5bd537eef7b16c22186886ae1f6146a50fb4c06068eb3a8894d10
- usearch_wasm_windows_x86_2.9.2.tar.gz :
2746e5cc7a172017324f76922bc9803309a5d9b3caf21df14ded9ce29faedb57
- usearch_windows_x64_2.9.2.tar :
440924a5e7aba5fd95daf673043b7a6fee3447ecefc3c2f380acee8c5626bed6
- usearch_windows_x86_2.9.2.tar :
bf851998175614f406ba31395c07f4d65a9f98ef1f09003e2fe00cb180c13ad0
v2.9.1
2.9.1 (2024-02-27)
Fix
- Explicit narrowing conversions (25436ae)
- Match enum values between C and C# (4a69086)
- Recovering quantization settings in
load
(fd53619), closes #353 #343 - wildcard ES module imports (#351) (d5091ac), closes #351
Improve
Make
Hashes
- docs.tar.gz :
80b75daa7f627b9a96607fff2498d695f71dc4a12f3695bc9a3521ae8fc12f6a
- usearch-v2.9.1.tar.gz :
69f22afb6da763c11840ca28307523b1cd1154d6925b0f05235af9e49674eba0
- usearch-v2.9.1.zip :
771f434c5cd818c4e6b395ab5cc7ac755b167417a724a9bb70f95954f21cb603
- usearch_linux_amd_2.9.1.deb :
e12ba570f5f8eba17221218e1d49f9fae5f5936cb7c21727df1f72f6712d3490
- usearch_linux_arm_2.9.1.deb :
ce6fb426af55a96324f77d1ada9ab58cf741ea787358e681e17805601f359279
- usearch_macOS_arm64_2.9.1.zip :
6a1c951c429172867d2b0849ca775b1c87e0f051303337dbf09e1dccbfaa7d79
- usearch_macOS_x86_64_2.9.1.zip :
8e3a2af95febddde4cf78f6adb187cda7375655308a946f20b59a7fd5381eb88
- usearch_wasm_linux_arm64_2.9.1.tar.gz :
470440a59551fb9f3a980a5837f5bbe95b37f0527dbaa41cd5d0e662f9e51551
- usearch_wasm_linux_x86_64_2.9.1.tar.gz :
bb577526cedfbf4ec3310e74a49b158145bb17ded857c0d80718fb1154470348
- usearch_wasm_macos_arm64_2.9.1.zip :
e4c26aa027cab0f0322ecb8cc6d13ef124acf6191e250fee132b183568b9591e
- usearch_wasm_macos_x86_64_2.9.1.zip :
717e1a2a7d9b53bab74df2768c86863d597857bd7a2be7edbb4cc201e15a2600
- usearch_wasm_windows_x64_2.9.1.tar.gz :
34faf4748899305e9b8c688462a183295ed1e39bdf60bfc6da4348dd3de755a1
- usearch_wasm_windows_x86_2.9.1.tar.gz :
967f2c40e22a2cf51b0e92558c653bd2585440cc0fc827701160a3d8c718dc0e
- usearch_windows_x64_2.9.1.tar :
f73729ce83e3501d994bc8dc336c188c91b14aad5a473846f1fe74ed53cccd9a
- usearch_windows_x86_2.9.1.tar :
0d68b669a7ae3607b74a7a27005653aaa7607be74e4dfa57ffcd6fb0148d2ba6
v2.9.0
2.9.0 (2024-02-22)
Add
Docs
- Header refreshed (7465c29)
- Py and SQLite extensions (550624b)
- README.md link to Joins (#327) (1279c54), closes #327
Fix
- bug reports were immediately marked invalid (c5fc825)
- Error handling, mem safety bugs #335 (#339) (4747ef4), closes #335 #339
- Passing SQLite tests (6334983)
- Reported number of levels (9b1a06a)
- Skip non-Linux SQLite tests (b02d262)
- SQLite cosine function + tests (55464fb)
- undefined var error in
remove
api (8d86a9e)
Improve
Make
npi ci
(#330) (5680920), closes #330- Add 3.12 wheels (d66f697)
- Change include paths (21db294)
- invalid C++17 Clang arg (2a6d779)
- Link libpthread for older Linux GCC builds (#324) (6f1e5dd), closes #324
- Parallel CI for Python wheels (a9ad89e)
- Upgrade SimSIMD & StringZilla (5481bdf)
Revert
- Postpone Apache Arrow integration (5d040ca)
Hashes
- docs.tar.gz :
068f9712d50aa9734dd636ffce9a58453544754bc476f7df2aa07b3634816d46
- usearch-v2.9.0.tar.gz :
f2ceef55ba874b1ab14b115f8a8487848ebdd1384425497b1a76a6e4c1ab6718
- usearch-v2.9.0.zip :
51ec2db7403bf31459f0a63f90fe0437031f9353134a51837a68afbc59605fba
- usearch_linux_amd_2.9.0.deb :
723cfa1d56dd909b3d6da2bf1c1d2d55625239574ccbad7d69ed4efb93c64e33
- usearch_linux_arm_2.9.0.deb :
4b277ccdfd93cfdddd983a215d3d588f4cb6cffda3dfe07cc4f9675aa47fd373
- usearch_macOS_arm64_2.9.0.zip :
0c3f9df3b62292ad8adabe03f36336ab08bc556e4a7dd082b39347fd95e9d062
- usearch_macOS_x86_64_2.9.0.zip :
5baa0a303b9d0cad829c995f6cfeb0eccc968cb01ef45313c3907ba1da2e0c8c
- usearch_wasm_linux_arm64_2.9.0.tar.gz :
2726dec40ad971f0140e444d2ed0857829be197b5fd42483f0d77c22f8c4b062
- usearch_wasm_linux_x86_64_2.9.0.tar.gz :
241fe2473a9baac74ef782432465176e77261c5c6bbb2de6cccdbb37ecae4d78
- usearch_wasm_macos_arm64_2.9.0.zip :
573bea5c54503b4ccb573169a367a9018b552d9c8de627443462da409c751376
- usearch_wasm_macos_x86_64_2.9.0.zip :
feeb8f5a8e0a58d337f44fb59d86caf595bbd88ce1f8f99465f0de2535efc7a5
- usearch_wasm_windows_x64_2.9.0.tar.gz :
b5551b5364c1f8cf72ff27f9930a7cacbbf68f3e643181cffb29e6389d02d191
- usearch_wasm_windows_x86_2.9.0.tar.gz :
1e232da2280c9bd10f39e06801c32859b72b2b22aff5d482f71aa04ec001cae6
- usearch_windows_x64_2.9.0.tar :
22dadba584463f93b22bc97c816b7d5451459211ed9b21bdc995bab53358fde5
- usearch_windows_x86_2.9.0.tar :
5421825873e60d6cc7083d95a02a4928f6187e3f4d4fe2f92a6706f30713db46
v2.8.16
v2.8.15
2.8.15 (2024-01-09)
Fix
Hashes
- docs.tar.gz :
1083f4feafdcb4e2f58df423302cf0bf66cf55e3d03b14d902e462760a055a9f
- usearch-v2.8.15.tar.gz :
551909e77acb8a83dff948ba7ae2689a8c87f11cb99c190b69b24d613e42ff1d
- usearch-v2.8.15.zip :
1e4ed46061cf2b9bf426ed0b230cffd91ec8115a8744682d47350695100b2384
- usearch_linux_amd_2.8.15.deb :
cdf91489cd1d74eaa8cdb4e599f2f10e93b7fa2ad9f06f31353d350ee573d43e
- usearch_linux_arm_2.8.15.deb :
09090bfbf4d164995279022e4f0f47ac78cb1a20f4b07bbccdb8a078f5e6cb6b
- usearch_macOS_arm64_2.8.15.zip :
8eb411e10183273ca5dfea133c4406f24d537b9e593293100786616da9085940
- usearch_macOS_x86_64_2.8.15.zip :
08075a3bbd6ff327a92cfc8729d16f50113689fd689452ef7059fb87d16850c9
- usearch_wasm_linux_arm64_2.8.15.tar.gz :
fdd51bc4ee2e8e9409dd1dce050d0c29938d05e10f9d353e55d0aa288a133ca8
- usearch_wasm_linux_x86_64_2.8.15.tar.gz :
77624e1a46b2e34cdd10a0eb772fe3754b35867025543760812cb4c553542b60
- usearch_wasm_macos_arm64_2.8.15.zip :
466700de9092d412651f526a93d597756387e9a5cc6f92ba72f057c2af903e68
- usearch_wasm_macos_x86_64_2.8.15.zip :
44f60623ca6a48f0d63030a72f4a876c65fc43c2887ca8b9a7a6c7c94f035903
- usearch_wasm_windows_x64_2.8.15.tar.gz :
834bb4f96bf557e8d167dc8c0cffe39348a2dc71e914c62b7a2c8acda9f54fd7
- usearch_wasm_windows_x86_2.8.15.tar.gz :
b1eea6d42c47f49a0cc305e7e7bb31339360a6f4ed30f6b39924cf39704327b2
- usearch_windows_x64_2.8.15.tar :
91ddee43f7aca3c8c2305bfc18a141d5581a7589b6262b2de99dc05f046dc53f
- usearch_windows_x86_2.8.15.tar :
75895cc4cfe9a999fd3d448726a5f9b24c29c240dc4a6d8b29d51b70cc65f3a7
Faster Double-Precision Math
As was discussed in the SciPy integration thread, Python libraries use double-precision floating-point numbers by default.
So, in this release, I've extended the spatial distance functions in the underlying SimSIMD - Cos
, L2sq
, IP
with support for double
arguments with specialized implementations on AVX-512-capable x86 CPUs and SVE-capable Arm CPUs.
Benchmarking SimSIMD vs. SciPy on Intel Sapphire Rapids CPU
- Vector dimensions: 1536
- Vectors count: 1000
- Hardware capabilities: serial, x86_avx2, x86_avx512, x86_avx2fp16, x86_avx512fp16, x86_avx512vpopcntdq, x86_avx512vnni
- NumPy BLAS dependency: openblas64
- NumPy LAPACK dependency: dep140640983012528
Between 2 Vectors, Batch Size: 1
Datatype | Method | Ops/s | SimSIMD Ops/s | SimSIMD Improvement |
---|---|---|---|---|
f64 |
scipy.cosine |
63,612 | 572,605 | 9.00 x |
f64 |
scipy.sqeuclidean |
238,547 | 915,596 | 3.84 x |
f64 |
numpy.inner |
449,499 | 986,522 | 2.19 x |
Between 2 Vectors, Batch Size: 1,000
Datatype | Method | Ops/s | SimSIMD Ops/s | SimSIMD Improvement |
---|---|---|---|---|
f64 |
scipy.cosine |
68,962 | 1,457,172 | 21.13 x |
f64 |
scipy.sqeuclidean |
247,727 | 1,535,547 | 6.20 x |
f64 |
numpy.inner |
463,509 | 1,512,004 | 3.26 x |
Benchmarking SimSIMD vs. SciPy on AWS Graviton 3
- Vector dimensions: 1536
- Vectors count: 1000
- Hardware capabilities: serial, arm_neon, arm_sve
- NumPy BLAS dependency: openblas64
- NumPy LAPACK dependency: openblas64
Between 2 Vectors, Batch Size: 1
Datatype | Method | Ops/s | SimSIMD Ops/s | SimSIMD Improvement |
---|---|---|---|---|
f64 |
scipy.cosine |
40,729 | 725,382 | 17.81 x |
f64 |
scipy.sqeuclidean |
160,812 | 728,114 | 4.53 x |
f64 |
numpy.inner |
473,443 | 767,374 | 1.62 x |
f64 |
scipy.jensenshannon |
15,684 | 38,528 | 2.46 x |
f64 |
scipy.kl_div |
49,983 | 61,811 | 1.24 x |
Between 2 Vectors, Batch Size: 1,000
Datatype | Method | Ops/s | SimSIMD Ops/s | SimSIMD Improvement |
---|---|---|---|---|
f64 |
scipy.cosine |
41,130 | 1,460,850 | 35.52 x |
f64 |
scipy.sqeuclidean |
162,147 | 1,486,255 | 9.17 x |
f64 |
numpy.inner |
473,856 | 1,580,136 | 3.33 x |
Hashes
- docs.tar.gz :
def474428a4d67076e68dfd16b660a53bf51fad12af7e4c6ee77e1555b220b8f
- usearch-v2.8.14.tar.gz :
6ae186618120b6c710ff3ed1bf31e9a58610e7b837bccdeae79000247c2b24a3
- usearch-v2.8.14.zip :
a1da6b34bc23111926b16be9d36a7403988405a00c833417b27b8ccd9c70227f
- usearch_linux_amd_2.8.14.deb :
ae4995f9504a9ab90921e3091a5aa6af432de647f1a6c835ee5cb2622dd2f8a3
- usearch_linux_arm_2.8.14.deb :
dafcee294630b7c17adaed9aebb668d4cbfc5fe269f35f66b10bf458d66d899d
- usearch_macOS_arm64_2.8.14.zip :
65e0a8d0259400e35de692c9afb3406d6bd4db5dd2f46632676890c41ba1537c
- usearch_macOS_x86_64_2.8.14.zip :
1fa9a6e6983f5b6fe5dd2b82ce566262dcbd1d1e8671ec39b9d01ceddc3b80dd
- usearch_wasm_linux_arm64_2.8.14.tar.gz :
edb5846ab0b38b1095b12f2b8ca771748394911bf6efd74df6d5ba66f36328d9
- usearch_wasm_linux_x86_64_2.8.14.tar.gz :
84e4162db1dc83157f7a4032278c9cfc01a68ac59c4b1af1b5fc35e43905c515
- usearch_wasm_macos_arm64_2.8.14.zip :
8c966ef2f5e425cf82f472bd4b74f0e7cd7fa39b860dd9f25f488370afc035fe
- usearch_wasm_macos_x86_64_2.8.14.zip :
7e48cc5d0e34b586f36b86671c8410b2b2deca31962beb0ccf6230546ac42621
- usearch_wasm_windows_x64_2.8.14.tar.gz :
02b1382c68fe8ef52d55da639a38ad15c7449d579230ef5ae78465776fd689fa
- usearch_wasm_windows_x86_2.8.14.tar.gz :
cf922953ca61c8f9101fac33a2aa06d70fd09ef8b8c73d64a6623f73dcfe09cc
- usearch_windows_x64_2.8.14.tar :
8a74a122fafae229f65df8de5a6e264eb16a7e5eba691629d6439b0b54ea8b74
- usearch_windows_x86_2.8.14.tar :
96c6625fc2ca723cc44e864a75f5c72dc3ab9aeb5fe5f0f80ba32783121f6766