hack seems to help a little...power isn't going to have good performance...
authorbdemsky <bdemsky>
Thu, 7 Apr 2011 01:21:33 +0000 (01:21 +0000)
committerbdemsky <bdemsky>
Thu, 7 Apr 2011 01:21:33 +0000 (01:21 +0000)
Robust/src/Runtime/oooJava/hashStructure.c

index 1cda5680c9e4f2ffc8464ab3d8b9c51c5013f64a..6f7d7b7e3129d31322c0eafd3c87ac1063d1b287 100644 (file)
@@ -67,14 +67,26 @@ HashStructure* rcr_createHashtable(){
   return newTable;
 }
 
+#define WBMAX 256
+__thread WriteBinItem_rcr* bank=NULL;
+__thread offset=WBMAX;
+
+
 WriteBinItem_rcr* rcr_createWriteBinItem( HashStructure* htable ){
   //WriteBinItem_rcr* binitem=(WriteBinItem_rcr*)poolalloc( htable->memPoolWrite );
-  WriteBinItem_rcr* binitem=(WriteBinItem_rcr*)RUNMALLOC(sizeof(WriteBinItem_rcr));
+  if (offset==WBMAX) {
+    bank=(WriteBinItem_rcr*)RUNMALLOC(sizeof(WriteBinItem_rcr)*WBMAX);
+    offset=0;
+  }
+  
+  WriteBinItem_rcr* binitem=&bank[offset++];
+  //(WriteBinItem_rcr*)RUNMALLOC(sizeof(WriteBinItem_rcr));
   binitem->item.type=WRITEBIN;
   binitem->item.next=NULL;
   return binitem;
 }
 
+
 ReadBinItem_rcr* rcr_createReadBinItem( HashStructure* htable ){
   //ReadBinItem_rcr* binitem=(ReadBinItem_rcr*)poolalloc( htable->memPoolRead );
   ReadBinItem_rcr* binitem=(ReadBinItem_rcr*)RUNMALLOC(sizeof(ReadBinItem_rcr));