rust-kgdb 0.1.8 → 0.1.9

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/README.md CHANGED
@@ -33,6 +33,39 @@
33
33
  | **Bulk Insert** | 682 ms (100K) | 146K/sec | ⚠️ 73% speed (gap closing) |
34
34
  | **Memory** | 24 bytes/triple | - | ✅ **25% better** |
35
35
 
36
+ ### SIMD + PGO Optimizations (v0.1.8)
37
+
38
+ **Compiler-Level Performance Gains** - Zero code changes, pure optimization!
39
+
40
+ | Query | Before (No SIMD) | After (SIMD+PGO) | Improvement | Category |
41
+ |-------|------------------|------------------|-------------|----------|
42
+ | **Q1: 4-way star** | 283ms | **258ms** | ✅ **9% faster** | Good |
43
+ | **Q2: 5-way star** | 234ms | **183ms** | ✅ **22% faster** | Strong |
44
+ | **Q3: 3-way star** | 177ms | **62ms** | 🔥 **65% faster** | Exceptional |
45
+ | **Q4: 3-hop chain** | 254ms | **101ms** | 🔥 **60% faster** | Exceptional |
46
+ | **Q5: 2-hop chain** | 230ms | **53ms** | 🔥 **77% faster** | **BEST** |
47
+ | **Q6: 6-way complex** | 641ms | **464ms** | ✅ **28% faster** | Good |
48
+ | **Q7: Hierarchy** | 343ms | **198ms** | ✅ **42% faster** | Strong |
49
+ | **Q8: Triangle** | 410ms | **193ms** | ✅ **53% faster** | Strong |
50
+
51
+ **Key Results:**
52
+ - **Average Speedup**: **44.5%** across all 8 LUBM queries
53
+ - **Best Speedup**: **77%** (Q5 - 2-hop chain query)
54
+ - **Range**: 9% to 77% improvement (all queries faster!)
55
+ - **Distribution**: 3 exceptional (60%+), 2 strong (40-59%), 2 good (20-39%), 1 modest (9%)
56
+
57
+ **How PGO Works:**
58
+ 1. **Instrumentation Build**: Compiler adds profiling hooks
59
+ 2. **Profile Collection**: Run real workload (23 runtime profiles collected)
60
+ 3. **Profile Merging**: Combine profiles into 5.9M merged dataset
61
+ 4. **Optimized Rebuild**: Compiler uses runtime data for:
62
+ - Optimized hot paths (loops, function calls)
63
+ - Improved branch prediction
64
+ - Enhanced instruction cache locality
65
+ - Better CPU pipelining
66
+
67
+ **Hardware:** Tested on Intel Skylake with AVX2, BMI2, POPCNT optimizations.
68
+
36
69
  ## 📦 Installation
37
70
 
38
71
  ```bash
@@ -44,6 +77,24 @@ npm install rust-kgdb
44
77
  - Node.js >= 14
45
78
  - No additional dependencies required (native bindings included)
46
79
 
80
+ ### Platform Support
81
+
82
+ | Platform | Architecture | Status | Notes |
83
+ |----------|-------------|--------|-------|
84
+ | **macOS** | x64 (Intel) | ✅ Fully Supported | SIMD+PGO optimized (AVX2) |
85
+ | **macOS** | arm64 (Apple Silicon) | ✅ Fully Supported | SIMD+PGO optimized (NEON) |
86
+ | **Linux** | x64 | ✅ Fully Supported | SIMD+PGO optimized (AVX2) |
87
+ | **Linux** | arm64 | ✅ Fully Supported | SIMD+PGO optimized (NEON) |
88
+ | **Windows** | x64 | ✅ Fully Supported | SIMD+PGO optimized (AVX2) |
89
+ | **Windows** | arm64 | ⏳ Coming Soon | Planned for v0.2.0 |
90
+
91
+ **SIMD Optimizations** (v0.1.8):
92
+ - **Intel/AMD (x64)**: AVX2, BMI2, POPCNT auto-vectorization
93
+ - **Apple Silicon (arm64)**: NEON auto-vectorization
94
+ - **Profile-Guided Optimization (PGO)**: Runtime profile-based code generation
95
+
96
+ **Native Bindings**: Pre-compiled binaries included for all platforms. No compilation required during `npm install`.
97
+
47
98
  ## 🎯 Quick Start
48
99
 
49
100
  ```typescript
@@ -323,17 +374,17 @@ npm test -- --testNamePattern="star query"
323
374
 
324
375
  ## 🤝 Contributing
325
376
 
326
- Contributions are welcome! Please see [CONTRIBUTING.md](https://github.com/zenya/rust-kgdb/blob/main/CONTRIBUTING.md)
377
+ Contributions are welcome! Please see [CONTRIBUTING.md](https://github.com/gonnect-uk/rust-kgdb/blob/main/CONTRIBUTING.md)
327
378
 
328
379
  ## 📄 License
329
380
 
330
- Apache License 2.0 - See [LICENSE](https://github.com/zenya/rust-kgdb/blob/main/LICENSE)
381
+ Apache License 2.0 - See [LICENSE](https://github.com/gonnect-uk/rust-kgdb/blob/main/LICENSE)
331
382
 
332
383
  ## 🔗 Links
333
384
 
334
- - [GitHub Repository](https://github.com/zenya/rust-kgdb)
335
- - [Documentation](https://github.com/zenya/rust-kgdb/tree/main/docs)
336
- - [CHANGELOG](https://github.com/zenya/rust-kgdb/blob/main/CHANGELOG.md)
385
+ - [GitHub Repository](https://github.com/gonnect-uk/rust-kgdb)
386
+ - [Documentation](https://github.com/gonnect-uk/rust-kgdb/tree/main/docs)
387
+ - [CHANGELOG](https://github.com/gonnect-uk/rust-kgdb/blob/main/CHANGELOG.md)
337
388
  - [W3C SPARQL 1.1 Spec](https://www.w3.org/TR/sparql11-query/)
338
389
  - [W3C RDF 1.2 Spec](https://www.w3.org/TR/rdf12-concepts/)
339
390
 
@@ -348,10 +399,10 @@ Apache License 2.0 - See [LICENSE](https://github.com/zenya/rust-kgdb/blob/main/
348
399
 
349
400
  ## 🎯 Roadmap
350
401
 
351
- - [x] v0.1.8: WCOJ execution with variable ordering
352
- - [ ] v0.1.9: SIMD optimizations for 2-4x additional speedup
353
- - [ ] v0.2.0: Profile-guided optimization (PGO)
354
- - [ ] v0.3.0: Distributed query execution
402
+ - [x] v0.1.8: WCOJ execution + SIMD + PGO optimizations (35-55% faster!)
403
+ - [ ] v0.1.9: Manual SIMD vectorization for 2-4x additional speedup
404
+ - [ ] v0.2.0: Windows ARM64 support + distributed query execution
405
+ - [ ] v0.3.0: Graph analytics and reasoning engines
355
406
 
356
407
  ---
357
408
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rust-kgdb",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "High-performance RDF/SPARQL database with 100% W3C compliance and WCOJ execution",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "build:debug": "napi build --platform native/rust-kgdb-napi",
22
22
  "prepublishOnly": "napi prepublish -t npm",
23
23
  "test": "jest",
24
- "version": "napi version"
24
+ "version": "0.1.9"
25
25
  },
26
26
  "keywords": [
27
27
  "rdf",
@@ -37,7 +37,7 @@
37
37
  "license": "Apache-2.0",
38
38
  "repository": {
39
39
  "type": "git",
40
- "url": "https://github.com/zenya/rust-kgdb"
40
+ "url": "https://github.com/gonnect-uk/rust-kgdb"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@napi-rs/cli": "^2.18.0",
@@ -56,10 +56,10 @@
56
56
  "*.node"
57
57
  ],
58
58
  "optionalDependencies": {
59
- "rust-kgdb-win32-x64-msvc": "0.1.8",
60
- "rust-kgdb-darwin-x64": "0.1.8",
61
- "rust-kgdb-linux-x64-gnu": "0.1.8",
62
- "rust-kgdb-darwin-arm64": "0.1.8",
63
- "rust-kgdb-linux-arm64-gnu": "0.1.8"
59
+ "rust-kgdb-win32-x64-msvc": "0.1.9",
60
+ "rust-kgdb-darwin-x64": "0.1.9",
61
+ "rust-kgdb-linux-x64-gnu": "0.1.9",
62
+ "rust-kgdb-darwin-arm64": "0.1.9",
63
+ "rust-kgdb-linux-arm64-gnu": "0.1.9"
64
64
  }
65
65
  }
Binary file
Binary file