Hi, Steven,

Please give SVN revision 790 a try when you get the chance.  The
dictionary class now allows the user to specify 0 as the code from a
string value and allows one to have discontinuous code words.  Note
that gaps in code words create inefficiencies.  In particular, the
dictionary

0: a
1: b
2: c

would take much less memory than

100: a
1000: b
10000: c


Good luck.

John



On 12/17/14 2:44 PM, Enns, Steven wrote:
> Hi John,
> 
> Current version is great.  I’ve attached the profiler output for r788,
> emailed directly to [email protected]
> 
> 
> 
> On 12/17/14, 1:05 PM, "K. John Wu" <[email protected]> wrote:
> 
>> Hi, Steven,
>>
>> Thanks for the information.  I presume that you are ok with the
>> current version then?
>>
>> By the way, what shows up as the more time-consuming function in your
>> profiles?
>>
>> John
>>
>>
>> On 12/17/14 11:12 AM, Enns, Steven wrote:
>>> Thanks John!  We see 13.5% improvement in total runtime using r.
>>> According to oprofile the time spent in do_cnt is down from 20% to 4.3%.
>>> Unfortunately I don¹t have call counts since I¹m not using an
>>> instrumented
>>> profiler (just pc sampling).  gprof was giving strange results because
>>> my
>>> application is multi threaded.
>>>
>>> On 12/16/14, 9:29 PM, "K. John Wu" <[email protected]> wrote:
>>>
>>>> Hi, Steven,
>>>>
>>>> Based on guess that the problem was caused by a solution implemented
>>>> to address a thread-safety issue raised earlier this year (Change made
>>>> on 2014/08/06).  I have implemented a change to hopefully resolve this
>>>> in a slightly better way this way.  The change is in SVN revision 788.
>>>> Please give it a try when you get the chance.
>>>>
>>>> Thanks,
>>>>
>>>> John
>>>>
>>>>
>>>> On 12/15/14 5:57 PM, Enns, Steven wrote:
>>>>> Trying the mailing list
>>>>>
>>>>> From: <Enns>, "Enns, Steven" <[email protected] <mailto:[email protected]>>
>>>>> Date: Tuesday, December 9, 2014 at 11:20 AM
>>>>> To: "K. John Wu" <[email protected] <mailto:[email protected]>>
>>>>> Subject: question about doEvaluate
>>>>>
>>>>> Hi John,
>>>>>
>>>>> I am profiling my application and noticed 20% of my time is spent in
>>>>> ibis::query::doEvaluate() -> ibis::bitvector::cnt() ->
>>>>> ibis::bitvector::do_cnt()
>>>>>
>>>>>     case ibis::qExpr::LOGICAL_OR: {
>>>>>   ierr = doEvaluate(term->getLeft(), mask, ht);
>>>>>   if (ierr >= 0 && ht.cnt() < mask.cnt()) {
>>>>>       ibis::bitvector b1;
>>>>>       ierr = doEvaluate(term->getRight(), mask, b1);
>>>>>       if (ierr > 0)
>>>>>           ht |= b1;
>>>>>       if (ierr >= 0)
>>>>>                 ierr = ht.sloppyCount();
>>>>>   }
>>>>>   break;
>>>>>     }
>>>>>
>>>>>   * Is this an optimization?
>>>>>   * What is the purpose of the bitvector called Œmask'?
>>>>>   * What does it mean to compare ht.cnt() to mask.cnt()?
>>>>>   * ibis::bitvector::cnt() caches the result in ibis::bitvector::nset
>>>>>     and ibis::bitvector::nbit.  Should this call to ht.cnt() result in
>>>>>     a 'cache hit'?  It seems ht changes at every node of the query so
>>>>>     'cache miss' seems reasonable.
>>>>>
>>>>>
>>>>> Thanks!
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> FastBit-users mailing list
>>>>> [email protected]
>>>>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
>>>>>
>>>> _______________________________________________
>>>> FastBit-users mailing list
>>>> [email protected]
>>>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
>>>
>>> _______________________________________________
>>> FastBit-users mailing list
>>> [email protected]
>>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
>>>
>> _______________________________________________
>> FastBit-users mailing list
>> [email protected]
>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
> 
> _______________________________________________
> FastBit-users mailing list
> [email protected]
> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
> 
_______________________________________________
FastBit-users mailing list
[email protected]
https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users

Reply via email to