>>> Maybe the BaseX developers didn't implement proper short-cutting for
>>> the "every" expression.
>>>
>>
>> Or maybe they expand 2 to 100000 into an actual list of 99999 numbers
prematurely.
>
>
> I think BaseX is open source and we will find the answer in the code.
>
> Even before that, here is another guess:
>
> Maybe they are implementing the "every" expression using parallelism,
> so they cannot stop the other three threads immediately when the
> current thread finds that the condition is violated.
>
> Just one example where parallel execution is outperformed by
> sequential execution. The exact data may make parallel execution on it
> significantly slower than simple sequential execution.
>
> Speaking about BaseX: Congratulations for their just announced 8.1
> version. Among other things they implemented "efficient Finger Tree
> algorithm for arrays" -- this is enormous -- really made my day.
I have been playing around with BaseX today. Nicely done. Unfortunately the do
not support schema validation yet ;-(
I have also been playing with Saxon in Oxygen. I wanted to measure execution
time for different code. However, I have no idea how to measure time in a
declarative language. Can anyone help?
Thanks in advance
Leo
|