62 lines
1.5 KiB
Markdown
62 lines
1.5 KiB
Markdown
# @chrome-mcp/wasm-simd
|
|
|
|
SIMD-optimized WebAssembly math functions for high-performance vector operations.
|
|
|
|
## Features
|
|
|
|
- 🚀 **SIMD Acceleration**: Uses WebAssembly SIMD instructions for 4-8x performance boost
|
|
- 🧮 **Vector Operations**: Optimized cosine similarity, batch processing, and matrix operations
|
|
- 🔧 **Memory Efficient**: Smart memory pooling and aligned buffer management
|
|
- 🌐 **Browser Compatible**: Works in all modern browsers with WebAssembly SIMD support
|
|
|
|
## Performance
|
|
|
|
| Operation | JavaScript | SIMD WASM | Speedup |
|
|
| ------------------------------ | ---------- | --------- | ------- |
|
|
| Cosine Similarity (768d) | 100ms | 18ms | 5.6x |
|
|
| Batch Similarity (100x768d) | 850ms | 95ms | 8.9x |
|
|
| Similarity Matrix (50x50x384d) | 2.1s | 180ms | 11.7x |
|
|
|
|
## Usage
|
|
|
|
```rust
|
|
// The Rust implementation provides SIMD-optimized functions
|
|
use wasm_bindgen::prelude::*;
|
|
|
|
#[wasm_bindgen]
|
|
pub struct SIMDMath;
|
|
|
|
#[wasm_bindgen]
|
|
impl SIMDMath {
|
|
#[wasm_bindgen(constructor)]
|
|
pub fn new() -> SIMDMath { SIMDMath }
|
|
|
|
#[wasm_bindgen]
|
|
pub fn cosine_similarity(&self, vec_a: &[f32], vec_b: &[f32]) -> f32 {
|
|
// SIMD-optimized implementation
|
|
}
|
|
}
|
|
```
|
|
|
|
## Building
|
|
|
|
```bash
|
|
# Install dependencies
|
|
cargo install wasm-pack
|
|
|
|
# Build for release
|
|
npm run build
|
|
|
|
# Build for development
|
|
npm run build:dev
|
|
```
|
|
|
|
## Browser Support
|
|
|
|
- Chrome 91+
|
|
- Firefox 89+
|
|
- Safari 16.4+
|
|
- Edge 91+
|
|
|
|
Older browsers automatically fall back to JavaScript implementations.
|