用于C、C++和Python报告定时的轻量级跨语言伪仿形(墙、用户、系统、CPU、%CPU)和驻留集大小(RSS)存储器[当前页面分配和峰值使用]

TiMemor的Python项目详细描述


Timemory的设计目标是日常的计时和内存分析,这是源代码的标准部分。

timemory是一个非常轻量级的lightweightcross language计时和内存 公用事业。它支持在C、C++和Python中实现,并且很容易实现。 导入到CMAKE项目中。

Timemory重量轻、速度快

对斐波那契计算的分析,确定每一个时刻 “自动计时器”增加了9微秒的平均开销(0.000009 s) 没有内存测量和16微秒(0.000016 s)的 记忆测量。此性能是针对机器和 可以通过运行 test_cxx_overhead示例。

因为timemory只显式地记录函数的信息 指定,可以安全地假设,除非将timemory插入 函数调用了> 100,000次,它不会添加超过 函数的第二个运行时。因此,有一个简单的规则 拇指:不要在非常简单的函数中插入timemory自动定时器 经常接到电话。

TimeMory并不打算取代Intel的分析工具 VTune、gprof等–相反,它通过启用 在不增加探查器开销的情况下验证时间和内存使用情况。

H2> TimeMy是跨语言:C、C++和Python

python项目在 C或C++。在以下任意组合中实现TimeMory自动计时器 语言将为所有语言生成一个合并报表 (提供到同一个库的每种语言链接)。然而,这是一个 时代的特征。TimeMeo可用于独立的C、C++或 python项目。

TimeMory是线程安全的,具有最小的锁定功能

所有TimeMory自动计时器引用存储在线程本地的计时器 辛格尔顿“经理”班。不建议直接创建 “管理器”实例。相反,调用静态函数 tim::manager::instance()或者如果主线程实例是 所需:tim::manager::master_instance()。一般来说 删除应用程序末尾的主实例。主人 实例是C++中的一个原始指针。唯一发生在 TimeMory正在销毁 管理器-通过在 线程退出时的C++。

Timemory支持MPI

如果一个项目使用mpi,timemory将合并来自 MPI在请求报告时进行排序。

TimeMory具有内置的计时和内存打印功能

timemory的结果可以序列化为json和json输出 可用于通过 独立的timemory-plottertimemory.plottingpython模块

TimeMory报告临时内存使用情况

内存报告允许在 已达到内存分配的“高水位线”

可以从命令行使用timemory

unix系统提供timem可执行文件,其工作方式类似于time。打开(放) 提供所有系统,pytimem

$ timem bash -c "for i in {1..5}; do sleep 1; done"

> [bash] total execution time  : 5.052 wall, 0.010 user + 0.010 system = 0.020 cpu (  0.4%) [sec], 2.2 peak rss [MB]

$ pytimem bash -c "for i in {1..5}; do sleep 1; done"

> [bash] total execution time  : 5.043 wall, 0.010 user + 0.020 system = 0.030 cpu (  0.6%) [sec], 2.1 peak rss [MB]

pytimem的好处是能够定义 timemory_json_handlerCWD中处理 序列化数据(例如将数据提交到服务器)。这是一个 示例timemory_json_handler.py

#!/usr/bin/env pythondefreceive(args,json_obj):print('\n{} received json object for "{}"\n'.format(__file__,args))print('json dictionary\n{}'.format(json_obj))

Timemory具有环境控件

  • timemory_详细
  • TimeMory_Disable_Timer_内存
  • timemory_num_threads_env
  • timemory_num_线程
  • TimeMory_启用
  • 蒂梅莫里ng_格式
  • TimeMory_计时精度
  • 定时器定时宽度
  • TimeMory_计时单位
  • 科学计时
  • timemory_memory_格式
  • 时间内存精度
  • 时间内存宽度
  • timemory_内存单元
  • 时间记忆科学
  • timemory_timing_memory_格式
  • timemory_timing_memory_precision
  • timemory_timing_memory_width
  • TimeMory_计时存储单元
  • timemory_timing_memory_scientific

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java正则表达式输出不相同   java如何使用JSOUP获取第一个链接?   java实现Spring HATEOAS链接构建   java循环骰子模拟   静态变量上的java异常   felix scr中@Reference和@References注释之间的java差异   java将SpringMVC中的路由映射到不同文件夹路径的简单方法   java通过socket将图像从安卓发送到pc   java在OpenGL中围绕点旋转直线   MyBatis生成器中的java私有同义词   既不使用volatile也不使用局部变量的java双重检查锁定   java按显示自动切换文本视图大小   继承Java SE 7程序员I Oracle认证   在JavaSwing中一行显示Blob数据   Java数独:通用数组创建   java显示包含一个属性的对象数组列表,该属性的值高于某个值   x509certificate如何获取服务器证书链,然后在Java中验证其有效性和受信任性   java与HikariCP的并发性   是否有使用Scala或Java编辑MP4元数据的库?   netbeans Java读取不同类型的图像格式jpg、tif、gif、png