If the internal vectors are fixed size, you can easily write a wrapper around Vector Int that converts (Int,Int) indices into indices in the sub-vector.

If the internal vectors have dynamic size, you can't declare an Unbox instance, because pointers can't be unboxed; unboxed types are opaque to the garbage collector.

At a low level, Vector Int is

  Vector Word# Word# ByteArray#

where Word# are machine words and ByteArray# is like 'const char *' that is understood by the ghc garbage collector.

On Wed, Nov 9, 2011 at 1:56 AM, kaffeepause73 <kaffeepause73@yahoo.de> wrote:
Hello,

quick question about unboxed Vectors :

Is it possible to create an unboxed vector of unboxed vector ? :

> import qualified Data.Vector.Unboxed as V
> type UnboxedNestedVextor =  V.Vector (V.Vector Int)

Alternatively I would have to use:

> import qualified Data.Vector.Unboxed as V
> import qualified Data.Vector as VB

type UnboxedNestedVextor =  VB.Vector (V.Vector Int)

Is there a rule of thumb how much quicker Unboxed Vectors are ?

Cheers Phil


--
View this message in context: http://haskell.1045720.n5.nabble.com/Data-Vector-Unboxed-tp4977289p4977289.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe