[Haskell-cafe] ANNOUNCE: set-monad
Tillmann Rendel
rendel at informatik.uni-marburg.de
Sun Jun 17 08:26:26 CEST 2012
Hi,
David Menendez wrote:
> As you noticed, you can get somewhat better performance by using the
> combinators that convert to S.Set internally, because they eliminate
> redundant computations later on.
"Somewhat better"? My example was three times faster, and I guess that
the fast variant is O(n) and the slow variant is O(n²). So I expect that
for some applications, the Set interface is more than fast enough and
the MonadPlus-interface is much too slow.
>> (Why is unioned faster then numbers? Is union doing some rebalancing? Can I
>> trigger that effect directly?)
>
> It's because mplus a b>>= f turns into mplus (a>>= f) (b>>= f),
> whereas unioned takes the union before calling f.
Here, you compare mplused to unioned, but in the parentheses, I asked
about numbers and unioned (from my last email).
Tillmann
More information about the Haskell-Cafe
mailing list