青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

doing5552

記錄每日點滴,不枉人生一世

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  73 Posts :: 0 Stories :: 94 Comments :: 0 Trackbacks

公告

常用鏈接

留言簿(24)

我參與的團隊

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 456166
  • 排名 - 49

最新隨筆

最新評論

閱讀排行榜

評論排行榜

從最簡單的入手

1.實現一個固定大小的allocator

//分配固定大小內存塊的模板類,內部緩存算法自己實現了,

//我用的是預分配+回收cache鏈

//即分配時先檢查回收鏈有無數據,無的話每次分配n*size個塊,然后返回其中一個,直到該塊用完后繼續分配

//釋放時直接加入回收鏈即可

//好處是速度夠塊,但是浪費空間可能就比較大了

template <size_t size> class Fix_Allocator{

void* alloc(size_t size);

void free(void*p);

typedef     Fix_Allocator me;

static me Instance;

};

提供一個給host class用的impl template

template <class Host> class new_op{

void* operator new(size_t size);

//........

};

template < 
   typename Host
   >
inline void* new_op<Host>:: operator new(size_t size){
 return Fix_Allocator<sizeof(Host)>::Instance.alloc(size);
}

然后所有需要內存池的類繼承new_op即可

class cls_usePool:public new_op<cls_usePool>{

.........

};

2.改進

以上方法的不足,大小近似的類不能共享內存池,如sizeof(clsA)==11,sizeof(clsB)==12,

內存池并不能提高程序太多效率.

我用的辦法是將所有分配大小對齊到2的冥(這樣最大內存占用將會接近原來的一倍,考慮(17,33這樣大小的對像很多的情況)

解決方法如下

template <bool flag, typename T, typename U>
struct TypeSelectT
{
private:
 template<bool>
 struct In
 { typedef T Result; };

 template<>
 struct In<false>
 { typedef U Result; };

public:
 typedef typename In<flag>::Result Result;
};

#define countof(x) (sizeof(x)/sizeof(x[0]))

template <int x,int y>
struct extr{
protected:
 template <int x1>
 struct imp{
  enum {
   next=(x1+y-1)/y,
  };
  enum {Result=1+imp<next>::Result};
 };

 template <>struct imp<1>{
  enum {Result=0};
 };

public:
 enum {Result=imp<x>::Result};
};

template <int x,int y>
struct pwr{
protected:
 template <int y1>
 struct imp{
  enum{
   next=y1-1
  };
  enum{
   Result=x*imp<next>::Result
  };
 };
 template<> struct imp<0>{
  enum{
   Result=1
  };
 };

public:
 enum{
  Result=imp<y>::Result
 };
};

template <int size>struct allocIdx{
 template <int idx> struct table{
//  enum{  }
  struct accept{
   enum{ Result=0};
  };
  struct Overflow{
   enum{ Result =1};
  };
  enum {
   k
//   Result =TypeSelectT< (idx>=0)&&(idx<countof(allocTable)),accept,Overflow>::Result::Result
  };
 };

};

先用extr算sizeof(cls)最接近2的多少次冥n,然后用pwr計算2的n次冥的值

最后用n查allocidx表得到該大小下,內存塊的cache數.

最后將這些值傳遞給new_op的方法

這樣就做到了11 12 13大小的對像全部共享16的allocator,而且是靜態綁定的.

posted on 2010-02-22 00:03 doing5552 閱讀(444) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一级视频免费在线观看| 国产精品毛片在线| 性欧美video另类hd性玩具| 一区二区三区在线视频观看| 日韩午夜三级在线| 欧美国产先锋| 亚洲欧美欧美一区二区三区| 国产精品一区二区久久精品| 性欧美1819性猛交| 亚洲人成绝费网站色www| 国产精品久久午夜| 欧美国产精品久久| 亚洲国产美女精品久久久久∴| 国产欧美一区二区精品秋霞影院| 亚洲一区三区在线观看| 亚洲嫩草精品久久| 亚洲视频axxx| 久久久久久999| 国内精品一区二区| 久久久最新网址| 午夜精品久久久| 久久久久青草大香线综合精品| 99国产精品久久久久久久久久| 国产精品第一页第二页第三页| 久久福利毛片| 一区二区在线视频| 亚洲日本视频| 99视频精品全部免费在线| 欧美激情一区二区三区在线视频| 久久精品国产亚洲a| 久久久久久夜| 久久日韩精品| 亚洲欧美日韩一区二区在线| 欧美va天堂| 久久综合一区二区| 亚洲高清自拍| 亚洲狼人综合| 裸体丰满少妇做受久久99精品| 国产亚洲a∨片在线观看| 欧美精品亚洲| 亚洲手机在线| 久久精品免费| 亚洲国产成人一区| 在线视频你懂得一区 | 亚洲精品在线观| 美女露胸一区二区三区| 99精品热6080yy久久| 午夜电影亚洲| 亚洲欧美另类综合偷拍| 国产伦精品一区二区三区高清版| 欧美一区二区三区婷婷月色| 欧美日韩一区在线播放| 久久精品免费电影| 久久午夜羞羞影院免费观看| 亚洲一区二区三区四区中文| 国产一区二区在线免费观看| 久久最新视频| 亚洲一区3d动漫同人无遮挡| 性色一区二区| 91久久久精品| 一本色道久久综合亚洲精品按摩| 亚洲一区尤物| 久久午夜羞羞影院免费观看| 在线亚洲免费| 国产麻豆综合| 久久精品欧美| 亚洲先锋成人| 日韩亚洲一区二区| 亚洲婷婷免费| 亚洲国产精品一区二区www| 欧美电影免费观看高清| 欧美成人精品一区二区| 亚洲六月丁香色婷婷综合久久| 久久婷婷久久| 麻豆精品国产91久久久久久| 亚洲国产精品嫩草影院| 99精品欧美一区二区三区| 亚洲一二三区在线| 久久久国产一区二区| 国产精品大片wwwwww| 亚洲黄页视频免费观看| 国产精品网曝门| 欧美日韩亚洲系列| 亚洲国产精品va| 欧美亚洲综合在线| 国产精品主播| 亚洲无线视频| 亚洲大胆人体视频| 亚洲国产一区二区三区高清 | 亚洲无亚洲人成网站77777 | 久久蜜桃资源一区二区老牛| 日韩亚洲综合在线| 在线免费日韩片| 亚洲国产成人在线播放| 亚洲国产一区二区a毛片| aⅴ色国产欧美| 亚洲免费在线视频| 国产麻豆精品久久一二三| 欧美韩日视频| 欧美美女bb生活片| 日韩午夜精品| 欧美高清视频一区| 国产在线精品二区| 亚洲一区二区三区四区视频| 欧美精品aa| 尤物九九久久国产精品的特点| 亚洲尤物视频在线| 国产精品久久久一区二区三区| 亚洲高清成人| 亚洲精品一二| 久久美女艺术照精彩视频福利播放| 久久麻豆一区二区| 亚洲国产高清视频| 欧美国产乱视频| 夜夜嗨av一区二区三区四季av | 亚洲国产精品va在线观看黑人| 国产精品yjizz| 制服丝袜亚洲播放| 久久久99免费视频| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲一级在线观看| 欧美午夜电影完整版| 性欧美xxxx视频在线观看| 亚洲大片av| 亚洲女性裸体视频| 久久精品一区二区三区中文字幕| 亚洲第一网站| 亚洲精华国产欧美| 日韩午夜一区| 国产精品扒开腿做爽爽爽视频| 国产日韩欧美一区在线| 久久久久久噜噜噜久久久精品| 欧美在线看片| 亚洲人成7777| 欧美日韩日本网| 欧美一级视频一区二区| 亚洲一区二区三区视频| 麻豆成人综合网| 欧美色123| 麻豆精品视频在线观看视频| 久久精品国产综合精品| 亚洲综合日韩在线| 欧美—级在线免费片| 亚洲精品一区久久久久久| 亚洲国产高清视频| 夜夜嗨av一区二区三区网站四季av| 亚洲免费不卡| 欧美日韩精品在线播放| 久久精品国产亚洲a| 亚洲图片欧洲图片日韩av| 欧美日韩xxxxx| 一区二区av在线| 欧美在线1区| 国产日韩精品一区二区浪潮av| 亚洲一区在线免费观看| 91久久精品日日躁夜夜躁国产| 欧美在线观看天堂一区二区三区| 美脚丝袜一区二区三区在线观看| 极品av少妇一区二区| 欧美一级欧美一级在线播放| 亚洲私人影院| 黄色成人av网站| 国产精品r级在线| 日韩亚洲国产欧美| 欧美大片在线观看| 亚洲一区二区高清| 亚洲另类自拍| 国产欧美一区二区三区久久人妖| 亚洲激情自拍| 国产午夜精品视频免费不卡69堂| 亚洲精品日韩在线观看| 日韩视频一区二区三区在线播放免费观看| 欧美日韩精品免费看| 亚洲一级一区| 欧美一区二区在线| 亚洲一区二区免费| 免费久久精品视频| 欧美亚洲一区二区在线观看| 亚洲一区二区在线播放| 亚洲人成免费| 久久精品在线| 欧美成人国产| 亚洲自拍高清| 加勒比av一区二区| 亚洲综合视频在线| 亚洲免费观看视频| 国产精品国产三级国产普通话三级 | 亚洲伊人网站| 99精品欧美一区二区蜜桃免费| 亚洲精品免费一二三区| 亚洲国产精品久久精品怡红院| 性欧美大战久久久久久久久| 久久九九99视频| 亚洲欧洲精品一区二区三区不卡| 欧美1区2区| 欧美激情无毛| 亚洲欧美日本国产专区一区| 国产欧美日韩精品专区| 亚洲国产专区校园欧美| 亚洲大片精品永久免费|