`
langzhe
  • 浏览: 288258 次
  • 性别: 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
分享到:
评论

相关推荐

    io_lib-1.11.0b4.tar.gz_屏幕 录像_屏幕录像

    了解了"io_lib"的基本功能和应用场景后,开发者可以进一步研究其API文档,学习如何集成到自己的项目中,实现定制化的屏幕录像需求。此外,持续关注软件更新(如1.11.0b4版之后的版本),可以帮助开发者掌握最新的...

    fat_io_lib:Ultra Embedded的Fat IO库的供应商存储库

    因此,fat_io_lib库需要在这样的环境下实现高效且安全的文件操作,这对库的设计提出了挑战。 fat_io_lib的实现可能包含以下关键知识点: 1. **内存管理**:在seL4中,内存管理严格且高效,fat_io_lib库需要遵循...

    PyPI 官网下载 | checkio_client-0.2.10.tar.gz

    《PyPI官网下载 | checkio_client-0.2.10.tar.gz——探索Python库的分布式应用》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了丰富的Python库,供全球开发者下载和使用。在PyPI官网上,我们...

    xml_io_tools

    在MATLAB中处理XML文件通常需要编写自定义的解析代码,但“xml_io_tools”这个包提供了一个简单易用的接口,帮助用户避免了这种复杂性。 该包的核心功能是简化MATLAB中XML文件的读取操作。MATLAB自身虽然内置了一些...

    Lib_IO_Link_UDTs_io-link开发_IO-link_PLC_

    在本文中,我们将深入探讨IO-Link开发以及其在PLC中的应用,同时会提及"Lib_IO_Link_UDTs"这个库,它是实现这一功能的关键。 首先,理解IO-Link的核心概念至关重要。IO-Link是基于串行通信的,它通过标准的三芯电缆...

    xml_io_tools_2010_11_05.rar

    1. **解压文件**:首先,你需要解压缩`xml_io_tools_2010_11_05.rar`,这将生成一个包含工具源代码和其他必要文件的文件夹。 2. **添加到MATLAB路径**:在MATLAB环境中,你需要将解压后的文件夹添加到MATLAB的搜索...

    Efficient IO with io_uring

    《高效IO:深入理解io_uring》 在Linux操作系统中,进行文件I/O操作有多种方式。最初的且最基础的是read(2)和write(2)系统调用,随后增加了带有偏移量参数的pread(2)和pwrite(2),接着又有了基于向量的preadv(2)和...

    Hardware_IO_Tools_for_Xcode_7.3.dmg

    Hardware_IO_Tools_for_Xcode_7.3.dmg

    java操作串口linux环境下Java_gnu_io_RXTXPort_nativeDrain报错解决方案

    java控制串口发送数据时在windows环境下正常,linux环境下报错C [librxtxSerial.so+0x75da] Java_gnu_io_RXTXPort_nativeDrain+0xea,经多方查询验证为rxtx包版本问题,用本文档中的版本可以正常运行

    io_driver_test.rar

    通过"io_driver_test"案例,我们可以动手实践上述理论,从编写驱动代码,到编译、加载和测试,理解驱动程序的全生命周期。在这个过程中,不仅可以学习到LED驱动的具体实现,还能掌握Linux内核驱动开发的基本技能。 ...

    stm32f0_stdperiph_lib_STM32F0xx_StdPeriph_Lib_V1.3.1

    总的来说,STM32F0xx_StdPeriph_Lib_V1.3.1是为STM32F0系列设计的一个强大且易用的软件工具,它极大地降低了开发难度,提高了开发效率,使得开发者能够专注于应用程序的逻辑,而不是底层硬件的细节。对于初学者和...

    VS2019 编译的 CloudCompare2.11.3 库文件

    Debug版本Release版本 文件内容: CC_CORE_LIB.dll CC_CORE_LIB.lib CC_FBO_LIB.lib QCC_DB_LIB.dll QCC_DB_LIB.lib QCC_GL_LIB.lib QCC_IO_LIB.dll QCC_IO_LIB.lib qcustomplot.lib

    fileio_test_FileIo_TheTest_

    在实际的工程实践中,我们可能会创建一个名为“fileio_test”的文件来实现这些测试。 首先,让我们了解Verilog中的文件打开操作。使用`$fopen()`系统任务可以打开一个文件,该任务需要两个参数:文件名和打开模式。...

    Agilent_IO_Libraries_Suite15.5(winxp).rar

    Agilent IO Libraries Suite 15.5 是一款专为Windows XP设计的软件,它提供了与安捷伦(Agilent)仪器进行数据通信和控制的重要工具。这款套装包含了各种驱动程序和应用程序,使得科研人员、工程师以及技术人员能够...

    Text-IO.zip_TEXT IO_VHDL testbench_testbench vhdl IO_text io v

    标题"Text-IO.zip"提及的"TEXT IO_VHDL testbench"指的是在VHDL中构建一个Testbench来处理文本输入/输出操作。Testbench通常包含模拟外部环境和激励,以便对设计进行全面的测试。在VHDL中,`text_io`库提供了读写...

    fat_io_lib:拍摄于http

    在解压后,里面可能包含源代码文件、编译脚本、测试用例、README文件等,这些都是理解和使用`fat_io_lib`的关键资源。阅读README文件可以获得关于如何构建和安装库,以及如何在项目中集成它的指导。同时,测试用例...

    xml_io_tools_2010_11_05.rar_matlab_xml_io_tools 下载_xml转换函数

    可以读写xml格式文件,实现xml格式数据和matlab数据结构之间转换

    drv_io_pwm_STM32IO口模拟PWM_

    通过`drv_io_pwm.c`和`drv_io_pwm.h`这样的驱动文件,我们可以创建一个可配置的、易于移植的PWM生成接口,满足不同项目的需求。在编写和使用这类代码时,良好的注释和模块化设计是关键,能够提高代码的可读性和复用...

    xml_io_tools_2010_11_05.zip

    本压缩包“xml_io_tools_2010_11_05.zip”包含了处理XML文件的一系列工具,主要涉及XML的读取和写入操作,以及相关的编码解码功能。 首先,我们关注到几个关键的MATLAB脚本文件: 1. `xml_tutorial_script.m`:这...

    RapidIO_Rev_2.2_Specification.zip

    RapidIO SRIO(串行RapidIO)是RapidIO技术的一种实现,它利用串行接口替代传统的并行接口,降低了布线复杂性和成本,同时保持了高性能。在嵌入式系统中,SRIO能够提供比PCI Express等其他互连技术更低的功耗和更小...

Global site tag (gtag.js) - Google Analytics