readline-pager 0.6.2 → 0.6.3
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 +9 -3
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -68,7 +68,7 @@ let page;
|
|
|
68
68
|
const pager = createPager("./bigfile.txt");
|
|
69
69
|
while ((page = pager.nextSync()) !== null) {}
|
|
70
70
|
|
|
71
|
-
// Native C++
|
|
71
|
+
// Native C++
|
|
72
72
|
for await (const page of createNativePager("./bigfile.txt")) {
|
|
73
73
|
}
|
|
74
74
|
```
|
|
@@ -87,6 +87,12 @@ createPager(filepath, {
|
|
|
87
87
|
useWorker?: boolean, // default: false
|
|
88
88
|
tryNative?: boolean, // default: true
|
|
89
89
|
});
|
|
90
|
+
|
|
91
|
+
createNativePager(filepath, {
|
|
92
|
+
pageSize?: number, // default: 1_000
|
|
93
|
+
delimiter?: string, // default: "\n"
|
|
94
|
+
backward?: boolean, // default: false
|
|
95
|
+
});
|
|
90
96
|
```
|
|
91
97
|
|
|
92
98
|
- `chunkSize` — number of bytes read per I/O operation.
|
|
@@ -98,7 +104,7 @@ createPager(filepath, {
|
|
|
98
104
|
- `tryNative` — attempts to use the native reader, falls back to the non-native version if it fails.
|
|
99
105
|
|
|
100
106
|
> **Note:**
|
|
101
|
-
> `createNativePager`
|
|
107
|
+
> `createNativePager` requires x86 AVX2 or ARM NEON CPU instruction set extensions and will throw if they are not available. It also does **not** support multi-character delimiters due to fast SIMD-based scanning.
|
|
102
108
|
|
|
103
109
|
---
|
|
104
110
|
|
|
@@ -138,7 +144,7 @@ Run the benchmark locally:
|
|
|
138
144
|
npm run benchmark:node
|
|
139
145
|
|
|
140
146
|
# or customize with args
|
|
141
|
-
node test/
|
|
147
|
+
node test/benchmark.ts --lines=20000 --page-size=500 --backward
|
|
142
148
|
```
|
|
143
149
|
|
|
144
150
|
> Test setup: generated text files (UUID lines), NVMe SSD, Node.js runtime.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "readline-pager",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build:js": "tsdown",
|
|
6
6
|
"build:native": "node-gyp rebuild",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"typescript": "~6.0.2"
|
|
25
25
|
},
|
|
26
26
|
"optionalDependencies": {
|
|
27
|
-
"@devmor-j/readline-pager-linux-arm64": "0.6.
|
|
28
|
-
"@devmor-j/readline-pager-linux-musl-arm64": "0.6.
|
|
29
|
-
"@devmor-j/readline-pager-linux-musl-x64": "0.6.
|
|
30
|
-
"@devmor-j/readline-pager-linux-x64": "0.6.
|
|
27
|
+
"@devmor-j/readline-pager-linux-arm64": "0.6.3",
|
|
28
|
+
"@devmor-j/readline-pager-linux-musl-arm64": "0.6.3",
|
|
29
|
+
"@devmor-j/readline-pager-linux-musl-x64": "0.6.3",
|
|
30
|
+
"@devmor-j/readline-pager-linux-x64": "0.6.3"
|
|
31
31
|
},
|
|
32
32
|
"gypfile": false,
|
|
33
33
|
"type": "module",
|