当前位置: 首页 > 工具软件 > newLISP > 使用案例 >

newlisp读取文件性能测试

程化
2023-12-01

由于思考并发提升性能的问题,想到了要测试一下读取文件有多快/慢?

下面的代码读取了一个csv文件,统计了每秒能读取读少行。结果还是不错的。


#!/usr/bin/newlisp

(setq t1 (date-value))
(set 'in-file (open "dw_product_dt.csv" "read"))
(setq counter 0)
(while (read-line in-file)
  (inc counter))
(close in-file)
(setq t2 (date-value))
(setq duration (- t2 t1))
(println "totol line number: " counter)
(println (format "read %lld lines per second" (/ counter duration)))
(exit)

运行结果:

$ ./file-read-speed.lsp 
totol line number: 122137863
read 6785436 lines per second

每秒读取6百万行以上,真是飞快。 在看了一下测试文件,每行只有几个字段,实在太短,用这真实项目的文件来测试,每行1258个字符

结果如下:

# ./file-read-speed.lsp
totol line number: 143449
read 143449 lines per second

不错第二次测试使用的是虚拟机,性能也不高。但是还是满足了我应用的需求,每秒14万行以上。足够了。所以采用单进程读取文件足矣。

 类似资料: