Skip to content

Commit 133fa22

Browse files
committed
增加文档描述
增加文档描述
1 parent 41cd236 commit 133fa22

File tree

4 files changed

+599973
-599935
lines changed

4 files changed

+599973
-599935
lines changed

README.md

+38
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ npm run build
2424
- data-3M.js - 处理3百万数据包的逻辑
2525
- data-60M.js - 处理6千万数据包的逻辑
2626
- intersect.js - 处理数据包的交集
27+
- create-60M.js - 生成大数据的文件
2728
- result.txt 最终数据包的交集结果
2829
- index.js 主逻辑文件
2930

@@ -184,3 +185,40 @@ const data60M = require('./library/data-60M');
184185
console.log(result);
185186
})();
186187
```
188+
189+
# create-60M.js
190+
191+
生成全新的大数据,用于测试:
192+
```js
193+
const fs = require("fs");
194+
const path = require('path');
195+
const writer = fs.createWriteStream(path.resolve(__dirname, '../database/data-60M.txt'), { highWaterMark: 1 });
196+
197+
const writeSixtyMillionTimes = (writer) => {
198+
const write = () => {
199+
let data = Buffer.from(`${parseInt(Math.random() * 60000000)}\n`)
200+
let ok = true;
201+
do {
202+
i--;
203+
if (i === 0) {
204+
// 最后一次写入。
205+
writer.write(data);
206+
} else {
207+
// 检查是否可以继续写入。
208+
// 不要传入回调,因为写入还没有结束。
209+
ok = writer.write(data);
210+
}
211+
} while (i > 0 && ok);
212+
if (i > 0) {
213+
// 被提前中止。
214+
// 当触发 'drain' 事件时继续写入。
215+
writer.once('drain', write);
216+
}
217+
}
218+
// 初始化6000万数据
219+
let i = 600000;
220+
write();
221+
}
222+
223+
writeSixtyMillionTimes(writer)
224+
```

database/data-3M.txt

+20-20
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
10000004
2-
28175114
3-
16330133
4-
23253474
5-
42706751
6-
51370053
7-
22308320
8-
14795506
9-
58256711
10-
31666426
11-
11496507
12-
25142395
13-
8416341
14-
55842351
15-
22540312
16-
314723
17-
688808
18-
37242020
19-
44161219
20-
6761006
1+
30560852
2+
37090337
3+
44045859
4+
5872712
5+
5448510
6+
57472209
7+
4845684
8+
22409487
9+
32975804
10+
44805079
11+
30662173
12+
33165574
13+
305234
14+
24691276
15+
34896452
16+
21688532
17+
28387233
18+
36807140
19+
52943515
20+
39405740

0 commit comments

Comments
 (0)