版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.:.;一个测试ACE各种内存分配战略效率的程序64位平台C/C+开发本卷须知在/en/l/上例出了28个在64位平台上运用C/C+开发的本卷须知,对于进入64位时代的程序员应该去看看这28个事项,这些英文读物对于有C/C+功底的朋友读起来应该并不难,我估计大约20-30分钟可以精读完一篇或者更快,下面是这28个本卷须知的列表。置信对大家一点有协助 。Bhui2021 HYPERLINK 61690 61690 Lesson 01. What 64-bit systems are. Lesson 02. Stestmalloc loop 10000 use time 32.950000 ste
2、stcached loop 10000 use time 1.730000 stestmallocmmap loop 10000 use time 5.050000 stestmallocmmaplite loop 10000 use time 5.030000 stestmalloclocal loop 10000 use time 0.620000 stestmalloclocalmutex loop 10000 use time 4.250000 stestmalloc_brk_mutex loop 10000 use time 0.600000 stestmallocsharemute
3、x loop 10000 use time 4.360000 s#include ace/OS_NS_stdio.h #include ace/OS_NS_string.h #include ace/Malloc_T.h #include ace/Null_Mutex.h #include time.h #include assert.h clock_t _begin;clock_t _end;int _loop;#define BEGIN(n) _begin = clock(); for (_loop = 0; _loop _loop+) #define END(s) _end = cloc
4、k(); printf( %s loop %d use time %lf s , s, _loop , (double)(_end - _begin) / (double)CLOCKS_PER_SEC); const int MAXSIZE = 1024;void *p1000;void testmalloc() int i = 0; for (i = 0; i 1000; i+) pi = malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) free(pi); typedef char BLOCKMAXSIZE;typed
5、ef ACE_Dynamic_Cached_Allocator ACE_SYNCH_NULL_MUTEX Allocator;Allocator cache(1000, MAXSIZE);void testcached() int i = 0; for (i = 0; i 1000; i+) pi = cache.malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) cache.free(pi); typedef ACE_Malloc ACE_MMAP_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_m
6、map;typedef ACE_Malloc ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_NULL_MUTEX malloc_local;typedef ACE_Malloc ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_local_mutex;typedef ACE_Malloc ACE_SHARED_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_share_mutex;typedef ACE_Malloc ACE_SBRK_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_s
7、brk_mutex;typedef ACE_Malloc ACE_LITE_MMAP_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_mmap_lite;template class T void testmalloc(T ml) int i = 0; for (i = 0; i 1000; i+) pi = ml.malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) ml.free(pi); pi = NULL; int main(int argc,char* argv) BEGIN(10000) t
8、estmalloc(); END( testmalloc ) BEGIN(10000) testcached(); END( testcached ) ACE_MMAP_Memory_Pool_Options options(ACE_DEFAULT_BASE_ADDR, ACE_MMAP_Memory_Pool_Options:ALWAYS_FIXED, 1024 * 10000 ); malloc_mmap mm( hello , hello , options); /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(1
9、0000) testmalloc(mm); END( testmallocmmap ) mm.remove(); malloc_mmap_lite mml( helloq , helloq , options); /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mml); END( testmallocmmaplite ) mml.remove(); malloc_local ml( hello1 /fprintf(stderr, %d chuncks , ml.avail_chun
10、ks(MAXSIZE); BEGIN(10000) testmalloc(ml); END( testmalloclocal ) ml.remove(); malloc_local_mutex mlm( hello2 /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mlm); END( testmalloclocalmutex ) mlm.remove(); malloc_local mlb( hellob /fprintf(stderr, %d chuncks , ml.avail
11、_chunks(MAXSIZE); BEGIN(10000) testmalloc(mlb); END( testmalloc_brk_mutex ) mlb.remove(); ACE_Shared_Memory_Pool_Options options2(ACE_DEFAULT_BASE_ADDR, 1, ACE_DEFAULT_FILE_PERMS, 1, 1024 * 1200 ); malloc_share_mutex msm( hello3 , hello3 , options2); BEGIN(10000) testmalloc(msm); END( testmallocshar
12、emutex ) msm.remove(); return 0;:/blog/cns!F66D6083FD44CD13!183.entrytestmalloc loop 10000 use time 32.950000 stestcached loop 10000 use time 1.730000 stestmallocmmap loop 10000 use time 5.050000 stestmallocmmaplite loop 10000 use time 5.030000 stestmalloclocal loop 10000 use time 0.620000 stestmall
13、oclocalmutex loop 10000 use time 4.250000 stestmalloc_brk_mutex loop 10000 use time 0.600000 stestmallocsharemutex loop 10000 use time 4.360000 s#include ace/OS_NS_stdio.h #include ace/OS_NS_string.h #include ace/Malloc_T.h #include ace/Null_Mutex.h #include time.h #include assert.h clock_t _begin;c
14、lock_t _end;int _loop;#define BEGIN(n) _begin = clock(); for (_loop = 0; _loop _loop+) #define END(s) _end = clock(); printf( %s loop %d use time %lf s , s, _loop , (double)(_end - _begin) / (double)CLOCKS_PER_SEC); const int MAXSIZE = 1024;void *p1000;void testmalloc() int i = 0; for (i = 0; i 1000
15、; i+) pi = malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) free(pi); typedef char BLOCKMAXSIZE;typedef ACE_Dynamic_Cached_Allocator ACE_SYNCH_NULL_MUTEX Allocator;Allocator cache(1000, MAXSIZE);void testcached() int i = 0; for (i = 0; i 1000; i+) pi = cache.malloc(MAXSIZE); assert(pi !=
16、 NULL); for (i = 0; i 1000; i+) cache.free(pi); typedef ACE_Malloc ACE_MMAP_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_mmap;typedef ACE_Malloc ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_NULL_MUTEX malloc_local;typedef ACE_Malloc ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_local_mutex;typedef ACE_Malloc ACE_SHARED_
17、MEMORY_POOL, ACE_SYNCH_MUTEX malloc_share_mutex;typedef ACE_Malloc ACE_SBRK_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_sbrk_mutex;typedef ACE_Malloc ACE_LITE_MMAP_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_mmap_lite;template class T void testmalloc(T ml) int i = 0; for (i = 0; i 1000; i+) pi = ml.malloc(MAXSIZE);
18、 assert(pi != NULL); for (i = 0; i 1000; i+) ml.free(pi); pi = NULL; int main(int argc,char* argv) BEGIN(10000) testmalloc(); END( testmalloc ) BEGIN(10000) testcached(); END( testcached ) ACE_MMAP_Memory_Pool_Options options(ACE_DEFAULT_BASE_ADDR, ACE_MMAP_Memory_Pool_Options:ALWAYS_FIXED, 1024 * 1
19、0000 ); malloc_mmap mm( hello , hello , options); /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mm); END( testmallocmmap ) mm.remove(); malloc_mmap_lite mml( helloq , helloq , options); /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(
20、mml); END( testmallocmmaplite ) mml.remove(); malloc_local ml( hello1 /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(ml); END( testmalloclocal ) ml.remove(); malloc_local_mutex mlm( hello2 /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmallo
21、c(mlm); END( testmalloclocalmutex ) mlm.remove(); malloc_local mlb( hellob /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mlb); END( testmalloc_brk_mutex ) mlb.remove(); ACE_Shared_Memory_Pool_Options options2(ACE_DEFAULT_BASE_ADDR, 1, ACE_DEFAULT_FILE_PERMS, 1, 1024
22、 * 1200 ); malloc_share_mutex msm( hello3 , hello3 , options2); BEGIN(10000) testmalloc(msm); END( testmallocsharemutex ) msm.remove(); return 0;:/blog/cns!F66D6083FD44CD13!183.entrytestmalloc loop 10000 use time 32.950000 stestcached loop 10000 use time 1.730000 stestmallocmmap loop 10000 use time
23、5.050000 stestmallocmmaplite loop 10000 use time 5.030000 stestmalloclocal loop 10000 use time 0.620000 stestmalloclocalmutex loop 10000 use time 4.250000 stestmalloc_brk_mutex loop 10000 use time 0.600000 stestmallocsharemutex loop 10000 use time 4.360000 s#include ace/OS_NS_stdio.h #include ace/OS
24、_NS_string.h #include ace/Malloc_T.h #include ace/Null_Mutex.h #include time.h #include assert.h clock_t _begin;clock_t _end;int _loop;#define BEGIN(n) _begin = clock(); for (_loop = 0; _loop _loop+) #define END(s) _end = clock(); printf( %s loop %d use time %lf s , s, _loop , (double)(_end - _begin
25、) / (double)CLOCKS_PER_SEC); const int MAXSIZE = 1024;void *p1000;void testmalloc() int i = 0; for (i = 0; i 1000; i+) pi = malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) free(pi); typedef char BLOCKMAXSIZE;typedef ACE_Dynamic_Cached_Allocator ACE_SYNCH_NULL_MUTEX Allocator;Allocator c
26、ache(1000, MAXSIZE);void testcached() int i = 0; for (i = 0; i 1000; i+) pi = cache.malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) cache.free(pi); typedef ACE_Malloc ACE_MMAP_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_mmap;typedef ACE_Malloc ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_NULL_MUTEX malloc_
27、local;typedef ACE_Malloc ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_local_mutex;typedef ACE_Malloc ACE_SHARED_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_share_mutex;typedef ACE_Malloc ACE_SBRK_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_sbrk_mutex;typedef ACE_Malloc ACE_LITE_MMAP_MEMORY_POOL, ACE_SYNCH_MUTEX ma
28、lloc_mmap_lite;template class T void testmalloc(T ml) int i = 0; for (i = 0; i 1000; i+) pi = ml.malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) ml.free(pi); pi = NULL; int main(int argc,char* argv) BEGIN(10000) testmalloc(); END( testmalloc ) BEGIN(10000) testcached(); END( testcached
29、) ACE_MMAP_Memory_Pool_Options options(ACE_DEFAULT_BASE_ADDR, ACE_MMAP_Memory_Pool_Options:ALWAYS_FIXED, 1024 * 10000 ); malloc_mmap mm( hello , hello , options); /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mm); END( testmallocmmap ) mm.remove(); malloc_mmap_lite
30、mml( helloq , helloq , options); /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mml); END( testmallocmmaplite ) mml.remove(); malloc_local ml( hello1 /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(ml); END( testmalloclocal ) ml.remove
31、(); malloc_local_mutex mlm( hello2 /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mlm); END( testmalloclocalmutex ) mlm.remove(); malloc_local mlb( hellob /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mlb); END( testmalloc_brk_mutex
32、) mlb.remove(); ACE_Shared_Memory_Pool_Options options2(ACE_DEFAULT_BASE_ADDR, 1, ACE_DEFAULT_FILE_PERMS, 1, 1024 * 1200 ); malloc_share_mutex msm( hello3 , hello3 , options2); BEGIN(10000) testmalloc(msm); END( testmallocsharemutex ) msm.remove(); return 0;:/blog/cns!F66D6083FD44CD13!183.entrytestm
33、alloc loop 10000 use time 32.950000 stestcached loop 10000 use time 1.730000 stestmallocmmap loop 10000 use time 5.050000 stestmallocmmaplite loop 10000 use time 5.030000 stestmalloclocal loop 10000 use time 0.620000 stestmalloclocalmutex loop 10000 use time 4.250000 stestmalloc_brk_mutex loop 10000
34、 use time 0.600000 stestmallocsharemutex loop 10000 use time 4.360000 s#include ace/OS_NS_stdio.h #include ace/OS_NS_string.h #include ace/Malloc_T.h #include ace/Null_Mutex.h #include time.h #include assert.h clock_t _begin;clock_t _end;int _loop;#define BEGIN(n) _begin = clock(); for (_loop = 0; _
35、loop _loop+) #define END(s) _end = clock(); printf( %s loop %d use time %lf s , s, _loop , (double)(_end - _begin) / (double)CLOCKS_PER_SEC); const int MAXSIZE = 1024;void *p1000;void testmalloc() int i = 0; for (i = 0; i 1000; i+) pi = malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) fr
36、ee(pi); typedef char BLOCKMAXSIZE;typedef ACE_Dynamic_Cached_Allocator ACE_SYNCH_NULL_MUTEX Allocator;Allocator cache(1000, MAXSIZE);void testcached() int i = 0; for (i = 0; i 1000; i+) pi = cache.malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) cache.free(pi); typedef ACE_Malloc ACE_MMA
37、P_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_mmap;typedef ACE_Malloc ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_NULL_MUTEX malloc_local;typedef ACE_Malloc ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_local_mutex;typedef ACE_Malloc ACE_SHARED_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_share_mutex;typedef ACE_Malloc ACE_SBR
38、K_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_sbrk_mutex;typedef ACE_Malloc ACE_LITE_MMAP_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_mmap_lite;template class T void testmalloc(T ml) int i = 0; for (i = 0; i 1000; i+) pi = ml.malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) ml.free(pi); pi = NULL; int m
39、ain(int argc,char* argv) BEGIN(10000) testmalloc(); END( testmalloc ) BEGIN(10000) testcached(); END( testcached ) ACE_MMAP_Memory_Pool_Options options(ACE_DEFAULT_BASE_ADDR, ACE_MMAP_Memory_Pool_Options:ALWAYS_FIXED, 1024 * 10000 ); malloc_mmap mm( hello , hello , options); /fprintf(stderr, %d chun
40、cks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mm); END( testmallocmmap ) mm.remove(); malloc_mmap_lite mml( helloq , helloq , options); /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mml); END( testmallocmmaplite ) mml.remove(); malloc_local ml( hello1 /fpr
41、intf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(ml); END( testmalloclocal ) ml.remove(); malloc_local_mutex mlm( hello2 /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mlm); END( testmalloclocalmutex ) mlm.remove(); malloc_local mlb( hellob
42、 /fprintf(stderr, %d chuncks , ml.avail_chunks(MAXSIZE); BEGIN(10000) testmalloc(mlb); END( testmalloc_brk_mutex ) mlb.remove(); ACE_Shared_Memory_Pool_Options options2(ACE_DEFAULT_BASE_ADDR, 1, ACE_DEFAULT_FILE_PERMS, 1, 1024 * 1200 ); malloc_share_mutex msm( hello3 , hello3 , options2); BEGIN(1000
43、0) testmalloc(msm); END( testmallocsharemutex ) msm.remove(); return 0;:/blog/cns!F66D6083FD44CD13!183.entrytestmalloc loop 10000 use time 32.950000 stestcached loop 10000 use time 1.730000 stestmallocmmap loop 10000 use time 5.050000 stestmallocmmaplite loop 10000 use time 5.030000 stestmalloclocal
44、 loop 10000 use time 0.620000 stestmalloclocalmutex loop 10000 use time 4.250000 stestmalloc_brk_mutex loop 10000 use time 0.600000 stestmallocsharemutex loop 10000 use time 4.360000 s#include ace/OS_NS_stdio.h #include ace/OS_NS_string.h #include ace/Malloc_T.h #include ace/Null_Mutex.h #include ti
45、me.h #include assert.h clock_t _begin;clock_t _end;int _loop;#define BEGIN(n) _begin = clock(); for (_loop = 0; _loop _loop+) #define END(s) _end = clock(); printf( %s loop %d use time %lf s , s, _loop , (double)(_end - _begin) / (double)CLOCKS_PER_SEC); const int MAXSIZE = 1024;void *p1000;void tes
46、tmalloc() int i = 0; for (i = 0; i 1000; i+) pi = malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) free(pi); typedef char BLOCKMAXSIZE;typedef ACE_Dynamic_Cached_Allocator ACE_SYNCH_NULL_MUTEX Allocator;Allocator cache(1000, MAXSIZE);void testcached() int i = 0; for (i = 0; i 1000; i+) p
47、i = cache.malloc(MAXSIZE); assert(pi != NULL); for (i = 0; i 1000; i+) cache.free(pi); typedef ACE_Malloc ACE_MMAP_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_mmap;typedef ACE_Malloc ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_NULL_MUTEX malloc_local;typedef ACE_Malloc ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_local_mutex;typedef ACE_Malloc ACE_SHARED_MEMORY_POOL, ACE_SYNCH_MUTEX malloc_share_mutex;typedef ACE_Malloc ACE_SBRK_MEMORY_POOL, ACE_SYNCH_M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于人员调整的报告
- 2024学校早餐服务承包协议范例
- 齐鲁工业大学《版面编排设计》2022-2023学年第一学期期末试卷
- 2024年综合性公寓租赁协议
- 做全屋定制协议书
- 钢结构项目劳务分包规范协议稿
- 2024高效服务器维修与保养协议
- 代理记账业务委托合同参考范例
- 木材与环境艺术的关联与实践考核试卷
- 2023年中考语文总复习文言文6大常考【文言虚词】+130个【实词】全解析
- 道路货物运输企业安全风险分级管控工作方案
- 2024-2030年中国循环泵市场运营态势分析及投资前景预测报告
- 自投户用光伏合同
- 2024年共青团入团积极分子结业考试题库及答案
- 湖北省武汉市部分学校2022-2023学年高一上学期期中调研考试物理试题(含解析)
- FX5U PLC应用技术项目教程 课件 项目四 FX5UPLC模拟量控制与通信的编程及应用
- 肥胖患者麻醉管理专家共识2023年版中国麻醉学指南与专家共识
- (正式版)JBT 14449-2024 起重机械焊接工艺评定
- 2024年中国大唐集团浙江大唐乌沙山发电公司招聘笔试参考题库含答案解析
- 2024年共青团入团考试题目及答案
- 两癌筛查年度工作计划
评论
0/150
提交评论