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

doing5552

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

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

公告

常用鏈接

留言簿(24)

我參與的團隊

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 456153
  • 排名 - 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>
            亚洲欧洲av一区二区| 欧美在线影院在线视频| 亚洲电影一级黄| 欧美日韩一区二区视频在线观看| 欧美电影专区| 久久另类ts人妖一区二区| 亚洲男人第一网站| 日韩小视频在线观看| 国内成+人亚洲| 国产午夜亚洲精品羞羞网站 | 亚洲欧美卡通另类91av| 99精品视频免费观看| 亚洲日本无吗高清不卡| 久久不射网站| 久久精品一二三区| 欧美一二区视频| 久久精品国产一区二区电影 | 午夜在线成人av| 欧美一区在线直播| 久久久久久久综合| 母乳一区在线观看| 欧美成人资源| 亚洲精品一区在线观看| 亚洲天堂成人在线观看| 久久影音先锋| 国产精品a久久久久| 国内久久精品| 亚洲午夜在线观看| 蜜臀va亚洲va欧美va天堂| 日韩一级不卡| 久久久久亚洲综合| 国产精品区二区三区日本| 最新中文字幕一区二区三区| 欧美一区二区在线| 亚洲第一精品福利| 性刺激综合网| 欧美日韩另类丝袜其他| 一区二区在线不卡| 欧美在线观看一区二区| 欧美系列一区| 亚洲视频在线二区| 美女91精品| 国产精品视频网| 亚洲一区二区四区| 亚洲国产成人在线| 久久综合色88| 激情欧美一区二区| 久久国产日韩| 午夜精品久久久| 国产精品久久久久一区二区三区共| 亚洲国产精品久久久| 美脚丝袜一区二区三区在线观看| 午夜在线精品| 国产亚洲人成网站在线观看| 欧美一区二区三区在| 亚洲性线免费观看视频成熟| 欧美日韩精品综合| 一区二区三欧美| 日韩视频中午一区| 欧美无乱码久久久免费午夜一区| 一区二区三区视频在线观看| 亚洲精品一区二| 欧美日韩亚洲国产精品| 亚洲视频第一页| 99精品国产在热久久下载| 欧美日韩亚洲一区二区| 亚洲一区二区三区高清不卡| 中文在线资源观看视频网站免费不卡| 欧美日韩八区| 亚洲一区二区在线看| 一区电影在线观看| 国产精品嫩草99av在线| 欧美一区综合| 久久精品国产99国产精品澳门| 狠狠色丁香久久综合频道| 鲁大师影院一区二区三区| 久久综合99re88久久爱| 亚洲精品视频免费| 亚洲美女中出| 国产视频精品va久久久久久| 欧美jizz19性欧美| 欧美人在线视频| 久久aⅴ国产欧美74aaa| 久久综合99re88久久爱| 亚洲一区综合| 久久久午夜视频| 一区二区三区四区国产| 欧美在线免费观看亚洲| 亚洲韩日在线| 亚洲一区亚洲| 亚洲三级影片| 欧美一区成人| 一本色道久久综合亚洲精品不卡| 亚洲一区二区三区久久| 亚洲二区视频在线| 亚洲网站在线观看| 亚洲国产精品久久| 亚洲少妇中出一区| 在线观看国产精品淫| aa日韩免费精品视频一| 狠狠综合久久| 欧美成人影音| 亚洲特色特黄| 亚洲激情婷婷| 欧美一区二区精品| 亚洲伊人伊色伊影伊综合网| 久久综合中文| 久久国产主播| 国产精品成人一区| 亚洲欧洲在线看| 一区福利视频| 午夜精品久久久久久久99黑人| 亚洲人在线视频| 性欧美长视频| 亚洲欧美高清| 欧美日韩成人综合天天影院| 欧美成人精品一区二区三区| 国产欧美一区二区白浆黑人| 亚洲精品一区二区网址| 亚洲全黄一级网站| 另类图片综合电影| 女人香蕉久久**毛片精品| 好看的日韩视频| 久久精品国产91精品亚洲| 久久成人久久爱| 国产精品一区二区三区观看| 一本色道久久综合亚洲精品按摩| 亚洲日本中文字幕| 葵司免费一区二区三区四区五区| 久久久www免费人成黑人精品| 欧美天堂在线观看| 亚洲成色www久久网站| 激情国产一区二区| 欧美一二三区在线观看| 香蕉成人伊视频在线观看| 国产精品久久久久影院色老大 | 欧美成人精品在线观看| 国产综合色精品一区二区三区| 亚洲免费在线视频一区 二区| 亚洲午夜精品久久| 国产精品久久国产精麻豆99网站| 99日韩精品| 欧美亚洲一级| 国产午夜精品一区理论片飘花| 亚洲欧美中文日韩在线| 久久大逼视频| 一区二区三区自拍| 欧美超级免费视 在线| 亚洲国产美女精品久久久久∴| 亚洲全部视频| 欧美日韩一区二区三区| 亚洲免费观看在线观看| 午夜日本精品| 狠狠v欧美v日韩v亚洲ⅴ| 久久一区二区精品| 亚洲激情社区| 西西人体一区二区| 亚洲成色www8888| 欧美日韩国产小视频在线观看| 亚洲午夜精品| 牛夜精品久久久久久久99黑人| 日韩视频一区二区三区在线播放免费观看 | 日韩午夜免费| 国产精品成人一区二区三区夜夜夜| 亚洲视频综合在线| 久久九九99| aa国产精品| 国产亚洲视频在线| 欧美福利视频在线观看| 国产精品99久久久久久宅男| 久久综合一区二区| 一本色道久久综合一区| 国产毛片精品视频| 免费成人小视频| 这里只有精品在线播放| 美女日韩欧美| 亚洲欧美在线免费| 亚洲狠狠丁香婷婷综合久久久| 欧美视频在线一区| 久久人人97超碰人人澡爱香蕉| 夜夜嗨av一区二区三区中文字幕| 久久福利电影| 中日韩男男gay无套| 国内揄拍国内精品少妇国语| 欧美大片网址| 久久婷婷综合激情| 午夜视频一区在线观看| 日韩午夜激情电影| 欧美韩日高清| 久久久91精品| 亚洲专区一二三| 亚洲精品四区| 精品福利av| 国产午夜精品在线观看| 欧美午夜精品久久久久久浪潮| 美女啪啪无遮挡免费久久网站| 欧美亚洲一区三区| 亚洲图片欧美一区| 一区二区精品国产| 亚洲欧洲综合另类|