4178|2

5979

帖子

8

TA的资源

版主

楼主
 

基于BeagleBone的内存性能测试 [复制链接]

作者:chenzhufly QQ:36886052 ( 转载请注明出处)
好久没发心得了,最近有些忙,进展还是可以的,一直没有记录而已。

曾经有人说你如何保证测试的正确性,这个确实很难以回答。所以我会采用一些开放的工具,得到一些大家在同等条件下得到的一些测试结果,供大家参考

先来看看我采用的工具:memxfer: a simple benchmark for memory transfer
网站:http://www.jjj.de/memxfer/memxferpage.html

memxfer简介,英文的就不翻译了,做这行不懂英文就可以不干了,哈哈
With memxfer you can compare the memory transfer performance between
1. copying techniques like the strcpy vs. copying integers or doubles.
2. machines (in case you can access them)
3. BIOS settings
4. copying with or without unrolling and prefetching

采用TI自带的编辑器,修改makefile

#OPTS= -DATHLON -W -Wall -O2 -ffast-math -fomit-frame-pointer -fno-exceptions
OPTS= -W -Wall -O2 -ffast-math -fomit-frame-pointer -fno-exceptions
CROSS_COMPILE=/home/chenzhufly/beaglebone/linux-devkit/bin/arm-arago-linux-gnueabi-gcc
.PHONY: memxfer
memxfer:
$(CROSS_COMPILE) $(OPTS) memxferjj.cc -o memxferjj

#NICE=nice -n -20

.PHONY: run
run:
for m in $$(seq 0 12); do $(NICE) ./memxferjj -s 32M 2 $$m ; done
for m in $$(seq 0 12); do $(NICE) ./memxferjj -s 32k 2000 $$m ; done

SZS= 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192
.PHONY: srun
srun:
for s in $(SZS); do $(NICE) ./memxferjj -s $${s}k 100 6 ; done
for s in $(SZS); do $(NICE) ./memxferjj -s $${s}k 100 10 ; done[/quote]

执行后的结果:还是挺强大的
root@beaglebone:/home/sd# ./memxferjj -s 1m 10 0 1 2 3 4 5 6 7 8
avg: 1048576 [ 0]"memcpy" 733.465 MB/s
avg: 1048576 [ 1]"char *" 112.502 MB/s
avg: 1048576 [ 2]"short *" 215.318 MB/s
avg: 1048576 [ 3]"int *" 388.395 MB/s
avg: 1048576 [ 4]"long *" 386.832 MB/s
avg: 1048576 [ 5]"long * (4x unrolled)" 549.209 MB/s
avg: 1048576 [ 6]"int64 *" 512.613 MB/s
avg: 1048576 [ 7]"double *" 512.663 MB/s
avg: 1048576 [ 8]"double * (4x unrolled)" 512.660 MB/s[/quote]


再看看我笔记本电脑执行的结果,ubuntu系统,cpu是I5
[quote]root@chenzhufly-desktop:/mnt/nfs/test/memxfer_cpu# ./memxferjj -s 1m 10 0 1 2 3 4 5 6 7 8
avg: 1048576 [ 0]"memcpy" 4151.100 MB/s
avg: 1048576 [ 1]"char *" 755.059 MB/s
avg: 1048576 [ 2]"short *" 810.110 MB/s
avg: 1048576 [ 3]"int *" 548.155 MB/s
avg: 1048576 [ 4]"long *" 3070.310 MB/s
avg: 1048576 [ 5]"long * (4x unrolled)" 4370.629 MB/s
avg: 1048576 [ 6]"int64 *" 699.056 MB/s
avg: 1048576 [ 7]"double *" 4130.524 MB/s
avg: 1048576 [ 8]"double * (4x unrolled)" 4100.041 MB/s


可能这些结果还不够直观,我们来看看网上其他平台的一些测试结果把,这样就可以看出来BeagleBone还是很强大的。
[quote]/MOXA-IA240
//CPU ARM920 192MHZ

root@Moxa:/home# ./memxferjj-art -s 1m 10 0 1 2 3 4 5 6 7 8
avg: 1048576 [ 0]"memcpy" 10.125 MB/s
avg: 1048576 [ 1]"char *" 7.556 MB/s
avg: 1048576 [ 2]"short *" 8.909 MB/s
avg: 1048576 [ 3]"int *" 10.138 MB/s
avg: 1048576 [ 4]"long *" 10.117 MB/s
avg: 1048576 [ 5]"long * (4x unrolled)" 10.130 MB/s
avg: 1048576 [ 6]"int64 *" 10.081 MB/s
avg: 1048576 [ 7]"double *" 10.150 MB/s
avg: 1048576 [ 8]"double * (4x unrolled)" 10.075 MB/s


------------------------------------------------------------------
moxa_DA662
CPU:arm11(intel XScale IXP425 533MHZ)

root@Moxa:/home# ./memxferjj-da662 -s 1m 10 0 1 2 3 4 5 6 7 8
avg: 1048576 [ 0]"memcpy" 49.951 MB/s
avg: 1048576 [ 1]"char *" 16.218 MB/s
avg: 1048576 [ 2]"short *" 29.268 MB/s
avg: 1048576 [ 3]"int *" 48.763 MB/s
avg: 1048576 [ 4]"long *" 48.798 MB/s
avg: 1048576 [ 5]"long * (4x unrolled)" 49.549 MB/s
avg: 1048576 [ 6]"int64 *" 49.140 MB/s
avg: 1048576 [ 7]"double *" 49.128 MB/s
avg: 1048576 [ 8]"double * (4x unrolled)" 49.121 MB/s



------------------------------------------------------------------
ATOP
CPU:IDT MIPS 266MHZ

# ./memxferjj-mips -s 1m 10 0 1 2 3 4 5 6 7 8
avg: 1048576 [ 0]"memcpy" 166.667 MB/s
avg: 1048576 [ 1]"char *" 35.714 MB/s
avg: 1048576 [ 2]"short *" 66.667 MB/s
avg: 1048576 [ 3]"int *" 142.857 MB/s
avg: 1048576 [ 4]"long *" 142.857 MB/s
avg: 1048576 [ 5]"long * (4x unrolled)" 142.857 MB/s
avg: 1048576 [ 6]"int64 *" 166.667 MB/s
avg: 1048576 [ 7]"double *" 0.539 MB/s
avg: 1048576 [ 8]"double * (4x unrolled)" 0.540 MB/s



------------------------------------------------------------------
ATOP
CPU:Freescale MPC5200B 400M主频

# ./memxferjj-ppc -s 10m 10 0 1 2 3 4 5 6 7 8
avg: 10485760 [ 0]"memcpy" 132.615 MB/s
avg: 10485760 [ 1]"char *" 58.949 MB/s
avg: 10485760 [ 2]"short *" 88.168 MB/s
avg: 10485760 [ 3]"int *" 116.789 MB/s
avg: 10485760 [ 4]"long *" 116.770 MB/s
avg: 10485760 [ 5]"long * (4x unrolled)" 132.567 MB/s
avg: 10485760 [ 6]"int64 *" 132.448 MB/s
avg: 10485760 [ 7]"double *" 132.578 MB/s
avg: 10485760 [ 8]"double * (4x unrolled)" 132.106 MB/s
------------------------------------------------------------------

成都中嵌科技
CPU:ATMEL9200 180M主频
[root@(none) test]$./memxferjj-AT9200 -s 1m 10 0 1 2 3 4 5 6 7 8
avg: 1048576 [ 0]"memcpy" 52.174 MB/s
avg: 1048576 [ 1]"char *" 18.427 MB/s
avg: 1048576 [ 2]"short *" 28.416 MB/s
avg: 1048576 [ 3]"int *" 42.938 MB/s
avg: 1048576 [ 4]"long *" 42.937 MB/s
avg: 1048576 [ 5]"long * (4x unrolled)" 44.260 MB/s
avg: 1048576 [ 6]"int64 *" 47.847 MB/s
avg: 1048576 [ 7]"double *" 47.851 MB/s
avg: 1048576 [ 8]"double * (4x unrolled)" 45.380 MB/s


编译后的源代码,欢迎提供其他平台的测试结果:
memxfer.zip (17.29 KB, 下载次数: 23)
[ 本帖最后由 chenzhufly 于 2012-5-26 00:37 编辑 ]

最新回复

Beaglebone测试结果 (A5,kernel 3.2.14, rootfs - NFS) root@beaglebone:~# ./memxferjj -s 1m 10 0 1 2 3 4 5 6 7 8 avg:    1048576  [ 0]"memcpy"                    405.549 MB/s avg:    1048576  [ 1]"char *"                     61.826 MB/s avg:    1048576  [ 2]"short *"                   117.574 MB/s avg:    1048576  [ 3]"int *"                     431.164 MB/s avg:    1048576  [ 4]"long *"                    567.920 MB/s avg:    1048576  [ 5]"long * (4x unrolled)"      791.514 MB/s avg:    1048576  [ 6]"int64 *"                   739.649 MB/s avg:    1048576  [ 7]"double *"                  739.695 MB/s avg:    1048576  [ 8]"double * (4x unrolled)"    739.700 MB/s root@beaglebone:~# ./memxferjj -s 10m 10 0 1 2 3 4 5 6 7 8 avg:   10485760  [ 0]"memcpy"                    364.048 MB/s avg:   10485760  [ 1]"char *"                    100.849 MB/s avg:   10485760  [ 2]"short *"                   223.749 MB/s avg:   10485760  [ 3]"int *"                     419.296 MB/s avg:   10485760  [ 4]"long *"                    422.867 MB/s avg:   10485760  [ 5]"long * (4x unrolled)"      534.291 MB/s avg:   10485760  [ 6]"int64 *"                   607.264 MB/s avg:   10485760  [ 7]"double *"                  605.804 MB/s avg:   10485760  [ 8]"double * (4x unrolled)"    607.264 MB/s  详情 回复 发表于 2012-6-4 11:37
点赞 关注
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 

回复
举报

2

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
Beaglebone测试结果 (A5,kernel 3.2.14, rootfs - NFS)
root@beaglebone:~# ./memxferjj -s 1m 10 0 1 2 3 4 5 6 7 8
avg:    1048576  [ 0]"memcpy"                    405.549 MB/s
avg:    1048576  [ 1]"char *"                     61.826 MB/s
avg:    1048576  [ 2]"short *"                   117.574 MB/s
avg:    1048576  [ 3]"int *"                     431.164 MB/s
avg:    1048576  [ 4]"long *"                    567.920 MB/s
avg:    1048576  [ 5]"long * (4x unrolled)"      791.514 MB/s
avg:    1048576  [ 6]"int64 *"                   739.649 MB/s
avg:    1048576  [ 7]"double *"                  739.695 MB/s
avg:    1048576  [ 8]"double * (4x unrolled)"    739.700 MB/s

root@beaglebone:~# ./memxferjj -s 10m 10 0 1 2 3 4 5 6 7 8
avg:   10485760  [ 0]"memcpy"                    364.048 MB/s
avg:   10485760  [ 1]"char *"                    100.849 MB/s
avg:   10485760  [ 2]"short *"                   223.749 MB/s
avg:   10485760  [ 3]"int *"                     419.296 MB/s
avg:   10485760  [ 4]"long *"                    422.867 MB/s
avg:   10485760  [ 5]"long * (4x unrolled)"      534.291 MB/s
avg:   10485760  [ 6]"int64 *"                   607.264 MB/s
avg:   10485760  [ 7]"double *"                  605.804 MB/s
avg:   10485760  [ 8]"double * (4x unrolled)"    607.264 MB/s
 
 

回复

5979

帖子

8

TA的资源

版主

板凳
 
呵呵,不错!
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表