导入的数据大概有 40W 行。每行有八个字段 [ A,B,C,D,E,F,G,H ] 。根据字段 A,B 去重。如果 A 字段或者 B 字段在之前的行已经存在了。则当前行被标记为失败。并且记录与第几行重复了。怎么提升计算速度。。。求大佬解决。
1
cydian Apr 25, 2020
40W 行在前端怎么处理都很慢吧。
量太大了给后端处理。 |
2
opengps Apr 25, 2020
作为平面文件,直接导入数据库,然后从数据库再执行算法去重
|
3
cgh OP @cydian 目前的情况是前端已经对数据进行了格式验证。40W 数据大概 18 秒,如果加上对字段的重复判断的话一分钟以内其实都是可以接受的。但是我感觉不只是时间翻倍的问题了,,,
|
5
hronro Apr 25, 2020 via iPhone
上 web worker 开多线程,上 WASM
|
7
noe132 Apr 25, 2020
最快的方式就是针对 A,B 建两个 map
然后一遍遍历过去即可 |
8
mooyo Apr 25, 2020
这一个 On 能搞定吧,如果内存够的话不应该很慢阿。
|
9
mooyo Apr 25, 2020
只需要读一遍应该就能搞定吧
|
10
cocolate Apr 26, 2020 via Android
大量数据少量计算就不用上 wasm 了,开个 webworker 防止浏览器卡死应该就行,基础算法就是维护 map,硬核一点就上异或判断,内存占用 O1,但是不知道行数信息。
|