迈克老狼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年11月18日

摘要: SIMD(Single Istruction Multiple Data), 即单条指令处理多个数据。是在通用处理器上对程序性能进行优化的利器,尤其在进行大量数据进行相同操作时,更能凸显优势,在Intel X86家族中主要有MMX/SSE/SSE2等指令集构成。 memcpy函数即从源地址向目的地址复制一块数据,利用SIMD对其优化有很好的效果。如普通汇编指令 mov eax,ebx一次能复制两个... 阅读全文
posted @ 2009-11-18 20:02 迈克老狼 阅读(292) 评论(0) 推荐(0) 编辑

摘要: 是c++ primer中的例子,做了一些修改,但仍然有内存泄露,再找找办法...。[代码] 阅读全文
posted @ 2009-11-18 18:35 迈克老狼 阅读(229) 评论(0) 推荐(0) 编辑

摘要: 1:C++标准说:An allocation function shall be a class member function or a global function; a program is ill-formed if an allocation function is declared in a namespace scope other than global scope or dec... 阅读全文
posted @ 2009-11-18 14:37 迈克老狼 阅读(474) 评论(0) 推荐(0) 编辑

摘要: 我们知道,c++中分配对象和删除对象常用new,和delete操作,那它们的到底怎样工作的呢?比如,我们创建一个string对象sp string * sp = new string("initialized");首先,表达式会调用标准库中函数operator new 分配足够的未类型化的raw内存,接着,调用placement new操作构建对象,最后返回指向构建对象的指针。当 delete s... 阅读全文
posted @ 2009-11-18 13:53 迈克老狼 阅读(270) 评论(0) 推荐(0) 编辑

摘要: 标准库中allocator类把内存分配和对象构造分开,首先调用allocator类中的allocate(n), 分配n个T对象的raw空间,随后通过construct函数构造对象。反之,可以通过destroy函数释放对象,最后通过deallocate释放内存。下面是allocator类分配内存以及构建对象时候,常用的几个方法:allocator<T> a;Defines an allo... 阅读全文
posted @ 2009-11-18 09:57 迈克老狼 阅读(518) 评论(0) 推荐(0) 编辑