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

Erlang程序的性能测试工具(1)

阅读更多
一、eprof的使用
A. eprof可以植入到程序代码中
过程记下:
1. 启动eprof服务器
eprof:start()


2. 开始profiling
eprof:profile([self()])

或者
eprof:start_profiling([self()])


3.停止profing
eprof:stop_profiling()


4.现在就可以查看并分析结果了(不要停止eporf)
eporf:analyse()


B、通过eprof:profile启动待测试程序
1. eprof:start()
2. eprof:profile([self()], Mod, Fun, Args) %启动待测试程序
3. eprof:stop_profiling()
4. eprof:analyse()


二、timer工具
timer模块中有tc函数用来测试某函数的执行时间,调用
timer:tc(Mod, Fun, Args)
即可测试Mod:Fun函数的执行时间,注意结果单位是微秒(μs,microsecond),而不是毫秒(ms,millisecond)
1s=1000ms,1 ms=1000μs

不过很好奇这个微秒是怎么得出来的,计算机有这么高的精度吗,存疑。

三、erlang:statistics函数
statistics函数可用来统计某段代码的执行时间
statistics(wall_clock),
...........待统计的代码
{_, Time} = statistics(wall_clock),

Time即为这端代码的运行时间
单位是毫秒(ms, millisecond)


(待续...
分享到:
评论
2 楼 genesislive 2014-05-28  
eporf:analyse()写错了,应该改成eprof:analyze().
1 楼 mryufeng 2008-11-01  
引用
不过很好奇这个微秒是怎么得出来的,计算机有这么高的精度吗,存疑。
现在的cpu都有个计数器 可以精确到nano秒,很多平台都提供。

相关推荐

    Erlang程序设计,包含完整目录和全套源码

    这个压缩包包含了Erlang程序设计的完整目录和源码,是学习和理解Erlang编程的重要资源。 Erlang的并发特性源于其轻量级进程模型,每个进程都有自己的内存空间,进程间通信通过消息传递实现,这种设计降低了并发执行...

    Erlang--性能分析工具之eprof

    1. **导入eprof模块**:首先,在Erlang程序中引入eprof模块,例如:`c(eprof).` 2. **启动eprof**:使用`eprof:start/0`命令启动eprof,或者在需要监控的进程中调用`eprof:start(Pid)`。 3. **分析代码**:运行你的...

    编写分布式的Erlang程序:陷阱和对策

    为了克服这些陷阱,确保分布式Erlang程序的可靠性和性能,开发者可以采取以下几种策略: 1. **加强消息传递的一致性**:在设计应用程序时,尽可能地减少对跨节点消息传递的依赖,并且确保在必要时使用适当的同步...

    erlang程序设计

    在深入探讨Erlang程序设计之前,我们先来了解一下Erlang的基础概念。 1. 函数式编程:Erlang是一种纯函数式编程语言,这意味着函数不具有副作用,它们仅根据输入产生输出,不改变外部状态。这种特性使得代码更容易...

    走向Erlang网络编程性能调优之旅

    Erlang是一种功能强大的编程语言,擅长于开发高性能的网络应用程序。在这篇文章中,我们将探索Erlang网络编程性能调优的旅程,从开始的简单连接压力测试到最后的高性能网络服务器的实现。 首先,我们从简单的连接...

    rabbitmq+Erlang工具+压力测试jmeter

    Apache JMeter则是一款强大的性能测试工具,适用于对Web应用进行压力和负载测试。 在标题“rabbitmq+Erlang工具+压力测试jmeter”中,我们可以理解为这是一个关于使用Erlang构建和管理RabbitMQ服务器,并结合JMeter...

    erlang深度分析.pdf

    了解ERTS内存使用情况对于优化Erlang程序至关重要。 #### 8. 高可用性和故障恢复 Erlang的heart进程是系统监视器,它负责监测和恢复Erlang节点的故障。这个机制是Erlang高可用性的基础。 #### 9. 新增特性和更新 *...

    Erlang深度分析

    在Erlang程序运行时,如果Linux系统发生swap,可能会严重影响程序的性能。理解Linux的内存管理以及Erlang的内存使用策略可以帮助开发者优化程序,以减少swap事件的发生。 ##### 1.4 Erlang的BEAM模拟器 BEAM是...

    如何进行高效的性能测试? 性能测试全流程培训资料

    市场上有多种性能测试工具可供选择,如JMeter(Apache开发的开源工具,支持多种协议测试)、LoadRunner(商业软件,适用于企业级应用)、Gatling(高性能的开源工具,适合Web应用程序)以及Locust和Tsung等。...

    Erlang_to_C

    - **基准测试**:研究者们通过对一系列典型的Erlang程序进行基准测试,比较了Turbo Erlang与原生Erlang、以及其他编译为目标平台的C代码之间的性能差异。 - **结果分析**:初步的结果表明,Turbo Erlang的性能与高度...

    erlang 深度分析

    - **Percept并发性能调测模块**: 提供了更精细的并发性能测试能力。 - **新语法**: 引入了新的函数调用语法,支持代码的热替换。 - **文档改进**: R12B版本中对文档进行了大幅度的完善和细化。 #### 19. Erlang...

    erlang资源

    5. **REPL(Read-Eval-Print Loop)**:Erlang shell的使用,它是学习和测试Erlang代码的重要工具。 6. **实际应用案例**:可能包含Erlang在实时系统、网络通信、数据库或Web服务等领域的应用示例。 这两本书结合...

    Erlang B公式计算器

    Erlang B公式是通信网络领域中用于计算呼叫阻塞概率的重要工具,它在电路交换系统,特别是电话交换网络的设计中发挥着关键作用。这个压缩包包含了一个基于Erlang B公式的计算器程序,以及其源代码和实验报告,旨在...

    tsung+erlang包

    Tsung 是一个开源的多协议负载和性能测试工具,它可以模拟大量用户并发访问服务器,从而评估系统的负载能力和稳定性。Tsung 的设计目标是提供一个灵活、可扩展的解决方案,能够测试各种网络服务,如 HTTP、FTP、TCP...

    erlang9.rar

    OTP是Erlang语言的一个框架,提供了多种库和工具,包括进程管理、分布式计算、错误恢复和性能监控等功能。 标题中的"erlang9.rar"是一个压缩文件,包含了Erlang 9的Windows 64位安装程序。"otp_win64_20.0.exe"是...

    erlang23.2版windows64位.zip

    1. **并行处理**:Erlang的进程模型使得创建轻量级并发进程变得简单,这些进程之间通过消息传递进行通信,极大地提高了系统的并发性和可扩展性。 2. **故障恢复**:Erlang的进程独立性和热代码替换功能使得系统在...

Global site tag (gtag.js) - Google Analytics