|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
下面是加强版字典中进行传统字典和加强版字典对比测试的语句:
- Sub 大量数据匹配_老窖字典()
- t1 = Timer()
- Lst1 = Cells(Rows.Count, 1).End(xlUp).Row
- arr1 = Range("a1").Resize(Lst1, 2).Value
- Set d = New OldCellarDictionary
- With d
- .Size = Lst1 '设置字典的大小
- End With
- For i = 1 To Lst1
- d.Add CStr(arr1(i, 1)), CStr(arr1(i, 1))
- Next i
- Dim arr3(1 To 1000000, 1 To 1)
- For i = 1 To Lst1
- arr3(i, 1) = d(arr1(i, 2) & "")
- Next i
- Erase arr1, arr3
- Set d = Nothing
- MsgBox Round(Timer - t1, 1) & "秒!"
- End Sub
复制代码
详见http://club.excelhome.net/thread-1382920-1-1.html
之前确实没有设置字典大小。下面是重新测试结果:
前面是VBScripit字典耗时,后面是老窖字典耗时。
1. 1万数据:0.1s,0.2s
2. 5万数据:0.3s,0.8s
3. 10万数据:0.9s,1.6s(比之前测试多0.1s)
4. 20万数据:3.4s,3,1s
4. 50万数据:23.5s,7.8s(比之前测试多0.5s)
5. 100万数据:105s,16.4s(比之前测试多1.6)
发现:设置字典大小后,速度会更慢!
|
|