注意:
1、用大数排序,测试20万条数据,排序时间约4秒。50万数据排序时间约12秒。
2、注意使用内存回收的方法,如有必要,用完及时回收。
3、下载最新版 godking.bigNum 大数库。
Code AardioLine:37复制
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.import
console;import
godking.bigNum;var
t = {};- console.log(
"创建20万大数数据:"
); var
tm = time
.tick();for
(i=1
;200000
;1
){-
var
s = ..string
.random(50
,"1234567890"
); -
table
.push(t,godking.bigNum(s)); - }
- console.dump(
"创建完毕,耗时:"
++(time
.tick()-tm),'\n'
); - console.log(
"开始排序:"
); var
tm = time
.tick();table
.sort(t,λ(b)owner
<b);- console.dump(
"排序完毕,耗时:"
++(time
.tick()-tm),'\n'
); - console.log(
"保存到文件:"
) import
fsys.file;var
file = fsys.file("C:\Users\Administrator\Desktop\大数排序结果.txt"
,"w"
);for
(i=1
;- file.write(
tostring
(t[i]),'\n'
); - }
- file.close();
- console.dump(
"保存完毕,耗时:"
++(time
.tick()-tm),'\n'
); - console.dump(
"当前内存占用:"
++math
.floor(collectgarbage
("count"
)/1024
)++"M"
); - t = {};
- godking.bigNum.clear(
true
); - console.dump(
"已进行垃圾回收,当前内存占用:"
++math
.floor(collectgarbage
("count"
)/1024
)++"M"
); - console.pause(
true
);
