edge_vector_index
1.0.0
エッジデバイスで使用するために設計された高速効率の高いインメモリベクトルインデックス。
ローカルは、非常に類似したコードを使用したC#実装です。 InteropはRustライブラリを使用しています。わずかなFFIオーバーヘッドがあっても、Rustライブラリへのインタートが約7倍高速であることを示しています。
| 方法 | 平均 | エラー | stddev |
|---|---|---|---|
| findclosestmatch_benchmark_interop | 594.7 US | 7.16 US | 6.34 US |
| findclosestmatch_benchmark_local | 4,331.7 US | 12.97 US | 12.13 US |
DARTは同様のベンチマークを生成します
非aot
| 方法 | 平均 |
|---|---|
| benchmark_interop(ランタイム) | 598.3645 US |
| benchmark_local(ランタイム) | 5733.4972 US |
aot
| 方法 | 平均 |
|---|---|
| benchmark_interop(ランタイム) | 589.7700 US |
| benchmark_local(ランタイム) | 4741.7123 US |
Pythonはローカルで最悪の実行時間を持っていましたが、Interopについては似ていました
| 方法 | 平均 | stddev |
|---|---|---|
| 最も近い一致の互換性を見つけます | 612 US | 12米国 |
| 最も近い一致のローカルを見つけます | 26.9ミリ秒 | 0.7米国 |
これは10回の反復です。
| 方法 | 平均 |
|---|---|
| 最も近い一致のインターナット(WASM)を見つける | 700米国 |
| 最も近い一致のローカル(JS)を見つける | 12400 US |
これは1000回の反復です。 JSの速度は、コードのキャッシュにより大幅に改善されます。これはクロムエンジンで実行されました。
| 方法 | 平均 |
|---|---|
| 最も近い一致のインターナット(WASM)を見つける | 619 US |
| 最も近い一致のローカル(JS)を見つける | 2342 US |