一、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)
(待续...
分享到:
相关推荐
这个压缩包包含了Erlang程序设计的完整目录和源码,是学习和理解Erlang编程的重要资源。 Erlang的并发特性源于其轻量级进程模型,每个进程都有自己的内存空间,进程间通信通过消息传递实现,这种设计降低了并发执行...
1. **导入eprof模块**:首先,在Erlang程序中引入eprof模块,例如:`c(eprof).` 2. **启动eprof**:使用`eprof:start/0`命令启动eprof,或者在需要监控的进程中调用`eprof:start(Pid)`。 3. **分析代码**:运行你的...
为了克服这些陷阱,确保分布式Erlang程序的可靠性和性能,开发者可以采取以下几种策略: 1. **加强消息传递的一致性**:在设计应用程序时,尽可能地减少对跨节点消息传递的依赖,并且确保在必要时使用适当的同步...
在深入探讨Erlang程序设计之前,我们先来了解一下Erlang的基础概念。 1. 函数式编程:Erlang是一种纯函数式编程语言,这意味着函数不具有副作用,它们仅根据输入产生输出,不改变外部状态。这种特性使得代码更容易...
Erlang是一种功能强大的编程语言,擅长于开发高性能的网络应用程序。在这篇文章中,我们将探索Erlang网络编程性能调优的旅程,从开始的简单连接压力测试到最后的高性能网络服务器的实现。 首先,我们从简单的连接...
Apache JMeter则是一款强大的性能测试工具,适用于对Web应用进行压力和负载测试。 在标题“rabbitmq+Erlang工具+压力测试jmeter”中,我们可以理解为这是一个关于使用Erlang构建和管理RabbitMQ服务器,并结合JMeter...
了解ERTS内存使用情况对于优化Erlang程序至关重要。 #### 8. 高可用性和故障恢复 Erlang的heart进程是系统监视器,它负责监测和恢复Erlang节点的故障。这个机制是Erlang高可用性的基础。 #### 9. 新增特性和更新 *...
在Erlang程序运行时,如果Linux系统发生swap,可能会严重影响程序的性能。理解Linux的内存管理以及Erlang的内存使用策略可以帮助开发者优化程序,以减少swap事件的发生。 ##### 1.4 Erlang的BEAM模拟器 BEAM是...
市场上有多种性能测试工具可供选择,如JMeter(Apache开发的开源工具,支持多种协议测试)、LoadRunner(商业软件,适用于企业级应用)、Gatling(高性能的开源工具,适合Web应用程序)以及Locust和Tsung等。...
- **基准测试**:研究者们通过对一系列典型的Erlang程序进行基准测试,比较了Turbo Erlang与原生Erlang、以及其他编译为目标平台的C代码之间的性能差异。 - **结果分析**:初步的结果表明,Turbo Erlang的性能与高度...
- **Percept并发性能调测模块**: 提供了更精细的并发性能测试能力。 - **新语法**: 引入了新的函数调用语法,支持代码的热替换。 - **文档改进**: R12B版本中对文档进行了大幅度的完善和细化。 #### 19. Erlang...
5. **REPL(Read-Eval-Print Loop)**:Erlang shell的使用,它是学习和测试Erlang代码的重要工具。 6. **实际应用案例**:可能包含Erlang在实时系统、网络通信、数据库或Web服务等领域的应用示例。 这两本书结合...
Tsung 是一个开源的多协议负载和性能测试工具,它可以模拟大量用户并发访问服务器,从而评估系统的负载能力和稳定性。Tsung 的设计目标是提供一个灵活、可扩展的解决方案,能够测试各种网络服务,如 HTTP、FTP、TCP...
OTP是Erlang语言的一个框架,提供了多种库和工具,包括进程管理、分布式计算、错误恢复和性能监控等功能。 标题中的"erlang9.rar"是一个压缩文件,包含了Erlang 9的Windows 64位安装程序。"otp_win64_20.0.exe"是...
1. **并行处理**:Erlang的进程模型使得创建轻量级并发进程变得简单,这些进程之间通过消息传递进行通信,极大地提高了系统的并发性和可扩展性。 2. **故障恢复**:Erlang的进程独立性和热代码替换功能使得系统在...
总的来说,Erlang OTP 25.0 for Windows 64位是一个强大的开发工具,对于那些需要构建高可用、高性能、分布式应用程序的开发者来说,是一个理想的选择。通过下载并安装提供的"otp_win64_25.0.exe",用户可以开始探索...