Hi Andre,

The problem has been fixed [1]. A new snapshot is available [2]. BaseX
9.0.1 will probably be released around the end of April.

Best,
Christian

[1] 
https://github.com/BaseXdb/basex/commit/4500547038ff69b99d04751768ac328d5276eb6d
[2] http://files.basex.org/releases/latest/



On Sat, Mar 31, 2018 at 5:10 PM, Christian Grün
<christian.gr...@gmail.com> wrote:
> Dear Andre,
>
> Thanks for your observations, which bear some similarity to what
> another user reported in Github [1]. I’ll get back to you soon.
>
> Best,
> Christian
>
> [1] https://github.com/BaseXdb/basex/issues/1553
>
>
>
> On Fri, Mar 30, 2018 at 10:32 AM, andre weber <a...@gmx.de> wrote:
>> Hi,
>>
>> with the new Version 9 I have encountered a strange performance issue:
>> - Running a simple xpath-query is fast, as it is using the attribute-index. 
>> Execution time: 59.19 ms
>> - Putting the same simple xpath-query into a function results in a very poor 
>> performance. No use of the attribute-index here. Execution time: 12578.55 ms
>>
>> There where no issues with that in the previous Versions 8.x
>>
>> Here’s the setup…
>>
>>    xquery version "3.1";
>>
>>    declare function local:slow_query_here() as node()*
>>    {
>>        prof:time(
>>          db:open("mars","data“)/sec[ @isin = "FR0000125338" ]
>>        )
>>    (: 12578.55 ms :)
>>    };
>>
>>    let $fast_query_here :=
>>        prof:time(
>>          db:open("mars","data“)/sec[ @isin = "FR0000125338" ]
>>        )
>>    (: 59.19 ms :)
>>
>>    return local:slow_query_here()
>>
>>
>> Here’s the query plan…
>> <QueryPlan compiled="true" updating="false">
>>  <GFLWOR type="element()*">
>>    <Let type="element()*">
>>      <Var name="$fast_query_here" id="0" type="element()*"/>
>>      <ProfTime name="time(value[,label])" type="element()*">
>>        <CachedPath type="element()*">
>>          <ValueAccess index="attribute" type="attribute()*">
>>            <IndexStaticDb name="mars" database="mars"/>
>>            <Str type="xs:string">FR0000125338</Str>
>>          </ValueAccess>
>>          <IterStep axis="self" test="*:base_isin" type="attribute()*"/>
>>          <CachedStep axis="parent" test="*:option" type="element()*">
>>            <CachedPath>
>>              <IterStep axis="parent" test="*:option_list" type="element()*"/>
>>              <IterStep axis="parent" test="*:finance" type="element()*"/>
>>              <IterStep axis="parent" test="document-node()" 
>> type="document-node()*"/>
>>            </CachedPath>
>>          </CachedStep>
>>        </CachedPath>
>>      </ProfTime>
>>    </Let>
>>    <ProfTime name="time(value[,label])" type="element()*">
>>      <CachedPath type="element()*" database="mars">
>>        <DBNode database="mars" pre="0" type="document-node()"/>
>>        <IterStep axis="descendant" test="*:option_list" type="element()*"/>
>>        <IterStep axis="child" test="*:option" type="element()*">
>>          <CmpSimpleG op="=" type="xs:boolean" size="1">
>>            <CachedPath type="attribute()?">
>>              <IterStep axis="attribute" test="*:base_isin" 
>> type="attribute()?"/>
>>            </CachedPath>
>>            <Str type="xs:string">FR0000125338</Str>
>>          </CmpSimpleG>
>>        </IterStep>
>>      </CachedPath>
>>    </ProfTime>
>>  </GFLWOR>
>> </QueryPlan>
>>
>> Any idea what’s causing the performance drop?
>>
>> Thank you for your thoughts!
>> Andre

Reply via email to