dataply 0.0.18-alpha.0 → 0.0.18-alpha.2

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/dist/cjs/index.js CHANGED
@@ -1857,7 +1857,7 @@ var BPTreeSyncTransaction = class extends BPTreeTransaction {
1857
1857
  return node;
1858
1858
  }
1859
1859
  _updateNode(node) {
1860
- this.mvcc.write(node.id, JSON.parse(JSON.stringify(node)));
1860
+ this.mvcc.write(node.id, node);
1861
1861
  this.nodes.set(node.id, node);
1862
1862
  }
1863
1863
  _deleteNode(node) {
@@ -2686,7 +2686,7 @@ var BPTreeAsyncTransaction = class extends BPTreeTransaction {
2686
2686
  return node;
2687
2687
  }
2688
2688
  async _updateNode(node) {
2689
- await this.mvcc.write(node.id, JSON.parse(JSON.stringify(node)));
2689
+ await this.mvcc.write(node.id, node);
2690
2690
  this.nodes.set(node.id, node);
2691
2691
  }
2692
2692
  async _deleteNode(node) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dataply",
3
- "version": "0.0.18-alpha.0",
3
+ "version": "0.0.18-alpha.2",
4
4
  "description": "A lightweight storage engine for Node.js with support for MVCC, WAL.",
5
5
  "license": "MIT",
6
6
  "author": "izure <admin@izure.org>",
@@ -49,6 +49,6 @@
49
49
  "hookall": "^2.2.0",
50
50
  "mvcc-api": "^1.2.9",
51
51
  "ryoiki": "^1.2.0",
52
- "serializable-bptree": "^8.0.1"
52
+ "serializable-bptree": "^8.1.0"
53
53
  }
54
54
  }
package/readme.md CHANGED
@@ -283,15 +283,15 @@ Dataply is optimized for high-speed data processing. Below are the results of ba
283
283
 
284
284
  | Test Case | Count | Total Time | OPS (Operations Per Second) |
285
285
  | :--- | :--- | :--- | :--- |
286
- | **Bulk Insert (Batch)** | 10,000 | ~1,052ms | **~9,810 OPS** |
287
- | **Bulk Insert (Individual)** | 100 | ~138ms | **~822 OPS** |
288
- | **Bulk Insert with WAL** | 100 | ~149ms | **~771 OPS** |
289
- | **Medium Row Insert (1KB)** | 100 | ~144ms | **~769 OPS** |
286
+ | **Bulk Insert (Batch)** | 10,000 | ~438ms | **~24,361 OPS** |
287
+ | **Bulk Insert (Individual)** | 100 | ~122ms | **~851 OPS** |
288
+ | **Bulk Insert with WAL** | 100 | ~118ms | **~891 OPS** |
289
+ | **Medium Row Insert (1KB)** | 100 | ~137ms | **~776 OPS** |
290
290
 
291
291
  ### Benchmark Analysis
292
- - **Batching Efficiency**: Grouping operations into a single transaction is approximately **11.9x faster** than individual inserts by minimizing internal transaction management overhead.
293
- - **WAL Trade-off**: Enabling Write-Ahead Logging ensures data durability but results in a performance decrease (approximately **6.2% slower** for individual inserts) due to synchronous I/O operations.
294
- - **Node.js Optimization**: Dataply is designed to provide competitive performance (nearly **10,000 OPS** in batch mode) for a pure TypeScript Record Store without native dependencies.
292
+ - **Batching Efficiency**: Grouping operations into a single transaction is approximately **28.6x faster** than individual inserts by minimizing internal transaction management overhead.
293
+ - **WAL Trade-off**: Enabling Write-Ahead Logging ensures data durability. In this run, WAL performance was comparable to (and slightly faster than) individual inserts, demonstrating efficient logging overhead.
294
+ - **Node.js Optimization**: Dataply is designed to provide competitive performance (over **24,000 OPS** in batch mode) for a pure TypeScript Record Store without native dependencies.
295
295
 
296
296
  > [!NOTE]
297
297
  > Tests were conducted on a standard local environment (Node.js v25+). Performance may vary depending on hardware specifications (especially SSD/HDD) and system load.