I had a typo in my example. The return did not call the map2 version. With it, 
the results were (now on 7.7 and Windows 7)

- pred 58278.25 ms
- map 272.68 ms
- map2 74.27 ms
- map2! 92.97 ms
- flowr 43018.3 ms

Hej Arto,

One can even improve your map2 by using the [Simple map operator].

declare function local:difference-map-2-excl($a, $b) {
  let $m2 := map:new($b ! map:entry(., true()))
  return $a ! (if($m2(.)) then () else .) };

- map 299.47 ms
- map2 290.96 ms
- map2 + ! 128.25 ms

..
Arto
_______________________________________________
BaseX-Talk mailing list
BaseX-Talk@mailman.uni-konstanz.de
https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk

Reply via email to