On Sun, Nov 15, 2009 at 8:59 PM, Don Stewart <[email protected]> wrote: > alexey.skladnoy: >> I found that perfomace of indexU is very poor and it is not fast O(1) >> operation which is very surprising. Here is some benchmarcking I've >> done. Everything compiled with -O2 > > You're using the streamed version when its not fusing. Use the > non-streaming direct implementation exported from Data.Array.Vector.UArr > > This is really an API bug, but I've not had time to sanitize the use. > Probably this should be stated more explicitly in documentation. This is _very_ unexpected and confusing behaviour.
Also I don't quite understand nature of bug. Is this missing export or wrong function is exported. And is streamed version of idexU useful and in which way? On Sun, Nov 15, 2009 at 9:11 PM, Thomas DuBuisson <[email protected]> wrote: > The documentation explicitly says indexU is O(n) - no need for so much > testing to rediscover that fact. When I needed a contiguous block of > values in UArr, I just relied on sliceU to acquire the block and > performed a foldU. > Problems begin when you need non-contiguous block. Easiest way to so is indexing. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
