Beispiel #1
0
 void testSet(bool initial)
 {
     unsigned now = msTick();
     bool setValue = !initial;
     bool clearValue = initial;
     const unsigned numBits = 400;
     const unsigned passes = 10000;
     for (unsigned pass=0; pass < passes; pass++)
     {
         Owned<IBitSet> bs = createThreadSafeBitSet();
         testSet1(initial, bs, 0, numBits, setValue, clearValue);
     }
     unsigned elapsed = msTick()-now;
     fprintf(stdout, "Bit test (%u) time taken = %dms\n", initial, elapsed);
     now = msTick();
     for (unsigned pass=0; pass < passes; pass++)
     {
         Owned<IBitSet> bs = createBitSet();
         testSet1(initial, bs, 0, numBits, setValue, clearValue);
     }
     elapsed = msTick()-now;
     fprintf(stdout, "Bit test [thread-unsafe version] (%u) time taken = %dms\n", initial, elapsed);
     now = msTick();
     size32_t bitSetMemSz = getBitSetMemoryRequirement(numBits+5);
     MemoryBuffer mb;
     void *mem = mb.reserveTruncate(bitSetMemSz);
     for (unsigned pass=0; pass < passes; pass++)
     {
         Owned<IBitSet> bs = createBitSet(bitSetMemSz, mem);
         testSet1(initial, bs, 0, numBits, setValue, clearValue);
     }
     elapsed = msTick()-now;
     fprintf(stdout, "Bit test [thread-unsafe version, fixed memory] (%u) time taken = %dms\n", initial, elapsed);
 }
Beispiel #2
0
    CSmartRowBuffer(CActivityBase *_activity, IFile *_file,size32_t bufsize,IRowInterfaces *rowif)
        : activity(_activity), file(_file), allocator(rowif->queryRowAllocator()), serializer(rowif->queryRowSerializer()), deserializer(rowif->queryRowDeserializer())
    {
#ifdef _DEBUG
        putrecheck = false;
        getrecheck = false;
#endif
        in = new ThorRowQueue;
        out = new ThorRowQueue;
        waiting = false;
        waitflush = false;
        blocksize = ((bufsize/2+0xfffff)/0x100000)*0x100000;
        numblocks = 0;
        insz = 0;
        eoi = false;
        diskfree.setown(createBitSet()); 

#ifdef _FULL_TRACE
        ActPrintLog(activity, "SmartBuffer create %x",(unsigned)(memsize_t)this);
#endif
    }