X-Mem

内存基准测试工具
授权协议 MIT
开发语言 C/C++
所属分类 开发工具、 性能测试和优化
软件类型 开源软件
地区 不详
投 递 者 璩涛
操作系统 跨平台
开源组织 微软
适用人群 未知
 软件概览

X-Mem 是可扩展的内存基准测试工具,它可以用于研究内存结构吞吐量、延迟和功率。

特性

灵活性:易于重新配置,以适应不同的测试组合。

  • 工作集以4KB的增量递增,从而可以缓存到主内存级别的基准测试。
  • NUMA支持。
  • 多线程支持。
  • 大页面支持。

可扩展性:通过C ++ 11面向对象原理的模块化。

  • 支持快速添加新的基准内核例程。
  • 例如:流三合会算法,错误共享的影响等,可能需要进行很小的更改。

跨平台:目前已针对两个OS和体系结构系列实施。

  • GNU / Linux:具有AVX扩展的Intel x86(32位),x86-64和x86-64,带有NEON的ARM(32位),ARM(32位),ARMv8(64位),至强融核(英特尔麦克风,骑士角)。经过Ubuntu 12.04、14.04和CentOS 7的专门测试。
  • Windows:具有AVX扩展名的Intel x86(32位),x86-64和x86-64。经过Windows 8.1和Server 2012 R2专门测试。
  • Windows上的ARM可以使用VC ++进行编译,但由于缺少对桌面/命令行ARM应用程序的库支持,因此无法链接。将来可能会解决。
  • 旨在允许直接移植到其他操作系统和ISA。

内存吞吐量:

  • 精确测量所有级别的缓存和内存的持续内存吞吐量。
  • 常规访问方式:前进和后退顺序以及2、4、8和16个字的跨度。
  • 随机访问模式。
  • 读和写。
  • 32、64、128、256、512位宽度的存储指令(适用于每种体系结构)。

内存延迟:

  • 精确测量所有级别的缓存和内存的往返内存延迟。
  • 通过使用多线程负载生成来加载和卸载延迟。

记忆能力:

  • 通过最终用户可以实现的简单界面来支持自定义电源仪表。
  • 可以通过Windows性能计数器API中公开的自定义驱动程序收集DRAM电源。

说明文件:

  • 广泛的Doxygen源代码注释,PDF手册,HTML。

包含的扩展名(在 src/include/ext 和 src/ext 目录下):

  • 加载延迟基准测试变体,其中加载延迟作为内存指令之间的nop指令插入。
    • 在适用的情况下,使用前向顺序读取模式对32位,64位,128位,256位,512位负载块大小进行此操作。
  • 其他扩展程序可能会在将来发布。
  • http://blog.csdn.net/jthink_/article/details/43302615 转载于:https://www.cnblogs.com/diyunpeng/p/5658109.html

  • mem系列函数是我们在平时写C++的过程中经常会用到的函数,现在写一篇博客来总结一下它们的用法。mem系列函数主要是用来操作内存,使用这些函数需要在源文件中包含头文件cstring。   memset 函数原型:void *memset(void*s ,int ch,size_t n); 函数描述:将内存地址s处的n个字节的每个字节都替换为ch,并返回s。 memset函数经常用来进行数组的初始化

  • Using multi-step mode with the Xcelium requires three main steps:     xrun -compile <other_options> <source_files>     This step will parse and compile the specified source files.     xrun -elaborate

  • 前言:每次用到个别mem函数的时候,总是想不起其准确用法。现在总结出来,供自己查阅。 函数名称:     memccpy 函数原型:     void *memccpy(void *dest, const void *src, int c, size_t n) 函数功能:     字符串拷贝,到指定长度或遇到指定字符时停止拷贝 函数返回: 参数说明:     src-源字符串指针,c-中止拷贝检查

  • MEM

    初试 英语二 100分 180分钟 管理类联考综合能力(数学、逻辑、语文) 200分 180分钟 备考 英语(薛冰): 红宝书;老蒋英语;考研黄皮书 数学(仲毅): 陈剑的数学高分指南 逻辑(饶思中 赵鑫全): 逻辑精点 语文作文: 复试 笔试:笔试考察的科目有:英语听力、项目管理实务和政治。英语听力参考 VOA标准;项目管理实务推荐教材:《项目管理》第 2版,机械工业出版社,2016.01,骆珣

  • mem系列函数的实现 大家都知道 ,c语言中有一系列的字符串操作函数(如果你不清楚,过来看这里   字符串函数解析)。 但是这些函数仅限作用于字符 串 ,因为这些函数,都是以'\ 0'作为结束条件的 ,'\ 0'的ascll值是 0 ,所以  如果操作 数组的话 ,就会有一个问题 ,只要遇到 0就会停止 。所以 不行  。 所以在此处 ,就提出了内存操作函数  memory 内存操作函数   ,我

  • 关于用premnmx语句进行归一化: premnmx语句的语法格式是: [Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T) 其中P,T分别为原始输入和输出数据,minp和maxp分别为P中的最小值和最大值。mint和maxt分别为T的最小值和最大值。 premnmx函数用于将网络的输入数据或输出数据进行归一化,归一化后的数据将分布在[-1,1]区间内。 我们在训练网络

  • asdf asdfasdfasdf fasdfasd dfasdf adf assdf asdf sad dfasdf adf assdf asdf sad dfasdf adf assdf asdf sad dfasdf adf assdf asdf sad dfasdf adf assdf asdf sad dfasdf adf assdf asdf sad dfasdf adf assdf

  • /dev/mem 是物理内存的全映像,可以用来访问物理内存,一般用法是open("/dev/mem",O_RDWR|O_SYNC),然后mmap,接着就可以用mmap的地址来访问物理内存,这实际上就是实现用户空间驱动的一种方法。 有几个论据倾向于用户空间编程,有时编写一个所谓的用户空间设备驱动对比钻研内核是一个明智的选择,用户空间驱动的好处在于: [html] view plain copy pr

  • /proc/[pid]/statm Provides information about memory usage, measured in pages. The columns are: size (1) total program size

  • void* memcpy( void *dest, const void *src, size_t count ); 拷贝内存区域 [src, src+count) 到内存区域 [dest, dest+count) 。 返回值:dest 。 如果内存区域 [src, src+count) 和内存区域 [dest, dest+count) 有重叠,则行为未定义。 void* memmove( vo

 相关资料
  • 问题内容: 我已经编写了一个小型Java应用程序,我需要为其获取性能指标,例如内存使用率,运行时间等。有没有简单易用的性能衡量工具? 问题答案: Yourkit非常好(30天免费试用)。Eclipse还内置了TPTP工具。

  • 11.4. 基准测试 基准测试是测量一个程序在固定工作负载下的性能。在Go语言中,基准测试函数和普通测试函数写法类似,但是以Benchmark为前缀名,并且带有一个*testing.B类型的参数;*testing.B参数除了提供和*testing.T类似的方法,还有额外一些和性能测量相关的方法。它还提供了一个整数N,用于指定操作执行的循环次数。 下面是IsPalindrome函数的基准测试,其中循

  • GoCPPLua (JIT) 策略执行的负载在model_b_test.go中进行基准测试。 测试是: 英特尔 酷睿 i7-6700HQ CPU @ 2.60GHz, 2601 Mhz, 4 核, 8 处理器 go test -bench= -benchmem 的测试结果如下 (op = 一次 Enforce() 调用, ms = 毫秒, KB = 千字节): 测试用例 规则大小 时间开销 (m

  • 问题内容: 我最近一直在研究基准测试,我一直对记录程序数据等感兴趣。我想知道我们是否可以在程序内部实现我们自己的内存使用代码并有效地实现自己的时间消耗代码。我知道如何检查代码运行所需的时间: 我还研究了健壮的Java基准测试,第1部分:问题,本教程非常全面。显示的负面影响。然后,本教程建议我们使用(使其更准确吗?)。 我还查看了确定Java中的内存使用情况以了解内存使用情况。该网站显示了如何实施。

  • 主要内容:一、内存管理,二、MySql中内存的分配机制,三、具体的代码分析,四、总结一、内存管理 这个实在是没办法多说了,就当是沿袭所有框架的做法,自己搞一下内存管理,这样才高大上一样。MEM_ROOT定义在my_alloc.h(include文件夹)。其实内存管理最简单方便的就是统一分配,集中回收,动态调整。话说起来容易,做起来难啊。大牛们哪个不清丝明了的知道,可写一个适配大多数的场景下的这种内存管理代码是极其难的。不然,内存管理也不会上升到一个又一个算法推出的地步。 空间和时

  • These benchmarks were designed to measure Javascript running time for Mithril in comparison with other popular Javascript MVC frameworks. Javascript running time is significant because the gzipped siz