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 cheers Arve [Simple map operator] http://www.w3.org/TR/xquery-30/#id-map-operator Am 25.09.13 10:41 schrieb Arto Viitanen: > > > -----Original Message----- > From: Arve Gengelbach [mailto:a...@basex.org] > Sent: 25. syyskuuta 2013 9:08 > To: Arto Viitanen > Cc: basex-talk@mailman.uni-konstanz.de > Subject: Re: [basex-talk] Set Operator Examples > > Hej Arto, > > just being interested: > How does it compare to a FLOWR expression? > > declare function local:difference-flowr($a, $b) { > for $x in $a > where not($x = $b) > group by $x > return $x[1] > }; > > pred 51787.06 ms > map 485.16 ms > map2 325.09 ms > flowr 45275.97 ms > > -- > Arto Viitanen > Finland > _______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk