`
langzhe
  • 浏览: 289915 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

测试比较io_lib生成日期与自己实现的效率

 
阅读更多

测试结果,自己写的效率要高一些

 

4> test_io:test(1000) 

4> .

{[io,0],[my,0]}

5> test_io:test(10000)

5> .

{[io,2],[my,1]}

6> test_io:test(100000)

6> .

{[io,21],[my,4]}

7> test_io:test(1000000)

7> .

{[io,97],[my,57]}

8> test_io:test(10000000)

8> .

{[io,1596],[my,761]}

9> 



1 -module(test_io).                                                                                                                                 
  2 -export([test/1, test/0]).
  3 
  4 test() ->
  5     test(1).
  6 
  7 test(N) ->
  8     IoResult = test_io(N),
  9     MyResult = test_my(N),
 10     {[io, IoResult],[my, MyResult]}.
 11 
 12 test_io(N) ->
 13     StartTime = timestamp_in_millinsec(),
 14     [begin
 15         {{Y,M,D},{Hour,Min,Sec}}=erlang:localtime(),
 16         Date = lists:flatten(io_lib:format("~4..0B-~2..0B-~2..0B ~2..0B-~2..0B-~2..0B", [Y, M, D, Hour, Min, Sec])),
 17         Date
 18     end || tt<-lists:seq(1,N)],
 19     EndTime = timestamp_in_millinsec(),
 20     EndTime - StartTime.
 21     
 22 test_my(N) ->
 23     StartTime = timestamp_in_millinsec(),
 24     
 25     [begin
 26     {{Y,M,D},{H,Mn,S}}=erlang:localtime(),
 27     F=fun(X) -> if X>9  -> integer_to_list(X) ; true -> "0"++integer_to_list(X) end end,
 28     Ys = F(Y),
 29     Ms = F(M),
 30     Ds = F(D),
 31     Hs = F(H),
 32     Mns = F(Mn),
 33     Ss = F(S),
 34     Date = (Ys ++ "-" ++ Ms ++ "-" ++ Ds ++ " " ++ Hs ++ ":" ++ Mns ++":" ++Ss),
 35     Date
 36     end || tt<-lists:seq(1,N)],
 37     EndTime = timestamp_in_millinsec(),
 38     EndTime - StartTime.

 42 
 43 timestamp_in_millinsec()->  
 44     {MegaSec,Sec,MicoSec}=erlang:now(),  
 45     MegaSec * 1000000000+Sec*1000+MicoSec div 1000.  
 46       

 

1
11
分享到:
评论

相关推荐

    python3.9lib

    Python 3.9 Lib 模块详解 Python 3.9 Lib 是 Python 标准库的核心组成部分,包含了大量预装的模块和包,为开发者提供了丰富的功能,如数据处理、网络通信、文件操作等。这些模块是 Python 语言的基础,也是进行各种...

    plouchtch-lib-java:对Java项目有用(对我而言)的工具箱

    "plouchtch-lib-java" ...总的来说,"plouchtch-lib-java"是一个为Java开发者量身定制的实用工具集,它集成了许多常见的编程任务解决方案,能够极大地提升开发效率,减少重复工作,让开发者更加专注于业务逻辑的实现。

    j2ee 框架搭建

    - 当上述测试方法执行成功时,控制台会输出当前日期和时间,例如:“Wed Feb 13 14:39:23 CST 2013”。 #### 三、Hibernate框架的集成与配置 1. **添加Hibernate框架** - 添加Hibernate相关的jar包到项目的lib...

    通用组件工具包创建20091116

    同时,“工具”标签则暗示了这个工具包可能不仅仅包含类库,还可能包括一些辅助开发的脚本或工具,例如构建脚本、自动化测试脚本或文档生成工具等。 “common-lib.jar”文件的提及,让我们知道工具包中包含了Java...

    常用的java的jar包

    8. **commons-io-2.6**: Apache Commons IO 是一组用于输入/输出操作的实用工具类,包括文件操作、流操作、序列化和解序列化等功能,极大地简化了I/O编程。 9. **ApacheJMeter_core.jar** 和 **ApacheJMeter_...

    linux-jdk1.8.zip

    3. **Java文档生成器(javadoc)**:自动生成API文档,帮助开发者理解代码结构。 4. **Java调试器(jdb)**:用于查找和修复Java程序中的错误。 5. **Java运行时环境(JRE)**:虽然不是直接包含在JDK中,但它是...

    poketto:有用的收藏

    此外,"main"目录还可能包含其他子目录,如“src”(源代码)、“lib”(依赖库)、“test”(测试代码)等,以及配置文件和构建脚本。 深入探讨Poketto工具包,我们可能会发现以下常见模块: 1. **IO操作**:提供...

Global site tag (gtag.js) - Google Analytics