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

doing5552

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

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

公告

常用鏈接

留言簿(24)

我參與的團隊

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 456318
  • 排名 - 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 閱讀(446) 評論(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>
            亚洲三级免费观看| 日韩视频一区二区| 亚洲欧美成人精品| 国产精品亚洲一区二区三区在线| 99在线热播精品免费| 亚洲级视频在线观看免费1级| 免费成人高清在线视频| 亚洲精品视频在线| 日韩亚洲成人av在线| 国产精品久久999| 久久久精品性| 欧美肥婆在线| 亚洲免费人成在线视频观看| 午夜一区不卡| 亚洲日本精品国产第一区| 亚洲美女在线一区| 国产日韩精品一区二区三区在线 | 国模套图日韩精品一区二区| 久久精品一区二区三区四区 | 亚洲欧美日韩国产中文| 国产一区二区精品丝袜| 免费不卡视频| 欧美亚洲成人网| 久久这里只有| 欧美三级日本三级少妇99| 欧美中文在线免费| 欧美国产乱视频| 欧美亚洲一区二区三区| 可以看av的网站久久看| 国产精品99久久不卡二区| 亚欧美中日韩视频| 99re8这里有精品热视频免费| 亚洲一区二区三区国产| 亚洲国产高清在线观看视频| 亚洲午夜成aⅴ人片| 亚洲日本欧美日韩高观看| 亚洲中无吗在线| 99国产精品久久久久久久| 欧美一级日韩一级| 中文欧美日韩| 女人天堂亚洲aⅴ在线观看| 久久不射电影网| 欧美视频二区| 亚洲国产精品电影| 伊人婷婷久久| 欧美亚洲日本一区| 亚洲一区欧美| 欧美日本国产在线| 欧美成人一二三| 一区二区在线视频观看| 亚洲欧美中文日韩在线| 亚洲私人影吧| 欧美日韩视频在线一区二区| 欧美激情一区二区三区全黄| 狠狠色狠狠色综合日日小说| 午夜久久电影网| 午夜精品久久久久久久久久久久久 | 欧美在线视频一区二区三区| 欧美日韩一区成人| 亚洲人成在线播放| 亚洲精品日韩精品| 蜜桃av一区二区三区| 免费美女久久99| 在线精品国产成人综合| 欧美在线国产精品| 久久久99爱| 影音先锋日韩精品| 久久久蜜桃一区二区人| 久久综合一区| 亚洲成人原创| 欧美sm视频| 亚洲日韩中文字幕在线播放| 亚洲免费观看| 欧美日韩在线观看视频| 亚洲视频免费在线观看| 亚洲欧美日韩中文视频| 国产精品日本精品| 欧美一区网站| 鲁大师影院一区二区三区| 尹人成人综合网| 欧美91福利在线观看| 亚洲欧洲综合另类| 一区二区三区久久久| 欧美性事免费在线观看| 午夜精品福利电影| 欧美成人午夜视频| 夜夜嗨av一区二区三区网页| 欧美色综合天天久久综合精品| 正在播放亚洲| 麻豆精品在线观看| 这里只有精品丝袜| 国产精品一区视频| 老司机免费视频久久| 亚洲美女精品成人在线视频| 香蕉亚洲视频| 一区在线观看视频| 欧美日韩免费视频| 亚洲欧美一区二区三区久久| 欧美成人精品h版在线观看| 99精品热6080yy久久| 国产乱码精品一区二区三区av| 久久精品日韩| 亚洲美女av黄| 老色鬼久久亚洲一区二区| 在线视频中文亚洲| 国产综合欧美| 欧美涩涩视频| 欧美大片在线看免费观看| 国产精品99久久久久久有的能看 | 一区二区三区你懂的| 国产日本欧美一区二区| 欧美黑人多人双交| 欧美在线国产| 一区二区三区日韩精品| 欧美成人嫩草网站| 欧美一区成人| 一本色道久久综合狠狠躁的推荐| 国语自产在线不卡| 欧美午夜免费| 欧美巨乳在线观看| 久久裸体艺术| 亚洲欧美在线网| 一区二区三区成人| 亚洲日本精品国产第一区| 久久综合伊人77777| 欧美亚洲综合久久| 亚洲一区二区三区四区中文 | 亚洲人成免费| 精品99一区二区| 国产日韩综合一区二区性色av| 欧美日韩视频第一区| 欧美福利视频| 久久综合九色九九| 久久精品国产成人| 欧美在线一区二区三区| 亚洲欧美国产精品桃花| 99精品99| 中文日韩在线| 亚洲性夜色噜噜噜7777| 中文亚洲视频在线| 一区二区三区不卡视频在线观看| 亚洲人成网站色ww在线| 最新高清无码专区| 亚洲国产精品va| 亚洲福利免费| 亚洲精品一区在线观看| 99av国产精品欲麻豆| 一区二区精品在线| 一区二区三区免费观看| 一本色道久久88精品综合| 一本色道久久88综合亚洲精品ⅰ | 亚洲日本aⅴ片在线观看香蕉| 亚洲大片免费看| 91久久精品网| 在线亚洲欧美专区二区| 亚洲自拍啪啪| 欧美伊人久久大香线蕉综合69| 欧美一区二区性| 久久综合中文字幕| 欧美日本精品一区二区三区| 欧美日本在线播放| 国产精品女人毛片| 国产一区二区电影在线观看| 激情亚洲成人| 99精品久久久| 性欧美xxxx视频在线观看| 久久九九热免费视频| 免费在线观看精品| 日韩视频永久免费| 亚洲欧美综合v| 蜜月aⅴ免费一区二区三区 | 蜜臀久久99精品久久久久久9 | 99在线视频精品| 亚洲欧美日本视频在线观看| 欧美在线亚洲| 欧美人交a欧美精品| 国产目拍亚洲精品99久久精品| 韩国v欧美v日本v亚洲v| 日韩午夜激情电影| 久久精品国产96久久久香蕉| 亚洲电影一级黄| 亚洲一区二区精品在线| 麻豆9191精品国产| 国产精品日韩久久久| 亚洲激情影院| 欧美亚洲网站| 亚洲精品一区二区三区樱花 | 亚洲福利视频二区| 亚洲一区二区在线视频| 欧美超级免费视 在线| 国产精品日韩精品欧美精品| 亚洲国产综合在线看不卡| 欧美一区二区三区视频在线 | 亚洲日本中文字幕免费在线不卡| 亚洲免费网址| 欧美日精品一区视频| 亚洲国产91精品在线观看| 亚洲欧美中日韩| 亚洲精品日产精品乱码不卡| 久久久噜噜噜久久狠狠50岁|