IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]newlisp读取文件性能测试

    sheismylife发表于 2016-07-22 22:47:27
    love 0

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

    下面的代码读取了一个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万行以上。足够了。所以采用单进程读取文件足矣。



沪ICP备19023445号-2号
友情链接