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

doing5552

記錄每日點(diǎn)滴,不枉人生一世

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  73 Posts :: 0 Stories :: 94 Comments :: 0 Trackbacks

公告

常用鏈接

留言簿(24)

我參與的團(tuán)隊(duì)

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 456317
  • 排名 - 49

最新隨筆

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

從最簡(jiǎn)單的入手

1.實(shí)現(xiàn)一個(gè)固定大小的allocator

//分配固定大小內(nèi)存塊的模板類,內(nèi)部緩存算法自己實(shí)現(xiàn)了,

//我用的是預(yù)分配+回收cache鏈

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

//釋放時(shí)直接加入回收鏈即可

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

template <size_t size> class Fix_Allocator{

void* alloc(size_t size);

void free(void*p);

typedef     Fix_Allocator me;

static me Instance;

};

提供一個(gè)給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);
}

然后所有需要內(nèi)存池的類繼承new_op即可

class cls_usePool:public new_op<cls_usePool>{

.........

};

2.改進(jìn)

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

內(nèi)存池并不能提高程序太多效率.

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

解決方法如下

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計(jì)算2的n次冥的值

最后用n查allocidx表得到該大小下,內(nèi)存塊的cache數(shù).

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

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

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

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   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一区二区三区网站四季av| 欧美3dxxxxhd| 久久久久久电影| 亚洲第一中文字幕| 欧美国产一区二区| 欧美精选在线| 性欧美激情精品| 欧美伊久线香蕉线新在线| 激情综合亚洲| 亚洲激情专区| 欧美三区视频| 久久夜色精品一区| 欧美福利电影在线观看| 亚洲性视频h| 欧美诱惑福利视频| 亚洲精品乱码久久久久| 一本综合久久| 激情五月综合色婷婷一区二区| 欧美gay视频| 国产精品白丝jk黑袜喷水| 久久se精品一区精品二区| 久久综合伊人77777| 一区二区日韩精品| 久久九九99| 亚洲午夜性刺激影院| 欧美在线关看| 国产精品99久久久久久www| 小辣椒精品导航| 亚洲精品一区在线观看香蕉| 亚洲伊人久久综合| 亚洲国产欧美日韩精品| 亚洲午夜影视影院在线观看| 极品尤物av久久免费看| 亚洲精品看片| 玉米视频成人免费看| 亚洲一区二区久久| 日韩视频永久免费观看| 欧美在线资源| 午夜宅男欧美| 欧美日韩免费一区二区三区| 理论片一区二区在线| 欧美三日本三级少妇三2023| 欧美黄色小视频| 国产一区二区三区在线观看视频| 欧美激情中文字幕一区二区| 国产一区二区三区精品久久久| 日韩亚洲欧美高清| 亚洲精品中文字幕有码专区| 久久久久久久综合色一本| 午夜日本精品| 欧美色中文字幕| 亚洲黄色片网站| 亚洲高清自拍| 久久久久久久综合色一本| 久久精品国产一区二区电影| 欧美亚州在线观看| 亚洲精品系列| 99精品国产在热久久婷婷| 免费亚洲电影| 亚洲高清久久久| 亚洲三级影院| 欧美a级一区| 亚洲第一区在线| 亚洲毛片在线免费观看| 巨乳诱惑日韩免费av| 男女精品网站| 91久久精品国产91久久| 久久婷婷激情| 亚洲电影在线免费观看| 亚洲人体大胆视频| 欧美日本精品一区二区三区| 亚洲精品欧美在线| 在线性视频日韩欧美| 欧美亚州一区二区三区| 亚洲网站在线观看| 久久成人一区二区| 国产亚洲欧美另类中文| 久久久久一区二区| 欧美激情免费在线| 一本色道久久综合亚洲精品小说 | 久久精品亚洲精品| 欧美mv日韩mv国产网站| 亚洲精品日韩精品| 欧美日韩午夜视频在线观看| 一区二区电影免费观看| 欧美一区二区三区免费在线看| 国产亚洲精品7777| 免费观看成人鲁鲁鲁鲁鲁视频| 最新国产乱人伦偷精品免费网站| 99人久久精品视频最新地址| 国产精品国产三级国产专播品爱网 | 久久xxxx| 欧美激情精品久久久久久变态| 亚洲美女在线观看| 国产精品亚洲美女av网站| 久久免费视频这里只有精品| 最新国产拍偷乱拍精品 | 18成人免费观看视频| 欧美成人中文| 午夜欧美不卡精品aaaaa| 欧美激情女人20p| 性欧美长视频| 亚洲免费观看在线观看| 国产精品女人网站| 美日韩在线观看| 亚洲欧美综合另类中字| 亚洲国产精品久久精品怡红院| 亚洲欧美日韩视频一区| 91久久在线播放| 国产精品亚洲综合天堂夜夜| 另类综合日韩欧美亚洲| 亚洲主播在线| 亚洲精品中文字幕有码专区| 久久精品亚洲热| 亚洲无毛电影| 亚洲欧洲久久| 狠狠色噜噜狠狠狠狠色吗综合| 欧美日韩免费一区| 欧美国产精品va在线观看| 欧美怡红院视频| 亚洲一级电影| 夜夜嗨av一区二区三区| 欧美不卡视频一区发布| 久久久精品国产免大香伊| 亚洲天堂偷拍| 99精品国产高清一区二区| ●精品国产综合乱码久久久久| 国产欧美精品一区| 国产精品久久九九| 欧美日韩在线视频一区| 欧美金8天国| 女人天堂亚洲aⅴ在线观看| 久久久九九九九| 欧美中日韩免费视频| 亚洲在线观看| 亚洲免费在线观看| 亚洲在线观看免费| 亚洲一二三区在线| 亚洲欧美卡通另类91av| 亚洲综合第一页| 亚洲曰本av电影| 亚洲欧美日韩国产| 亚洲一级电影| 午夜精品久久久久久99热软件| 亚洲视频自拍偷拍| 亚洲永久免费观看| 亚洲欧美成人一区二区在线电影| 亚洲天堂偷拍| 性欧美暴力猛交另类hd| 久久国产日韩| 久久久久久国产精品mv| 麻豆精品视频在线观看视频| 美女91精品| 欧美日韩午夜视频在线观看| 国产精品mm| 国产欧美日韩视频| 一区二区三区在线免费观看| 激情综合视频| 99在线热播精品免费| 亚洲一区免费在线观看| 香蕉av777xxx色综合一区| 久久久精品视频成人| 美女视频黄 久久| 亚洲韩国日本中文字幕| 日韩亚洲欧美高清| 小黄鸭视频精品导航| 理论片一区二区在线| 欧美日本一区二区高清播放视频| 国产精品久久久久国产a级| 国产私拍一区| 亚洲国产综合视频在线观看| 一区二区三区视频在线观看| 亚洲欧美日本日韩| 麻豆视频一区二区| 亚洲最新在线| 久久久97精品| 欧美亚洲成人网| 在线电影欧美日韩一区二区私密| 日韩午夜高潮| 久久噜噜噜精品国产亚洲综合| 亚洲国产成人av| 香蕉久久国产| 欧美美女福利视频| 黑丝一区二区三区| 亚洲一区二区日本| 蜜臀久久99精品久久久画质超高清| 亚洲国产精品久久91精品| 亚洲欧美日韩中文在线制服| 美女黄网久久| 国产亚洲激情视频在线| 亚洲视频综合在线| 欧美大片免费久久精品三p| 一区二区三区欧美| 欧美sm视频| 极品少妇一区二区三区| 欧美一级久久久| 日韩视频在线观看免费| 蜜臀va亚洲va欧美va天堂|