Francesc Alted <faltet <at> pytables.org> writes: > > Between 1 and 5. > > Mmh, this is not very much. Given that, I'd try to put that info in a > multidimensional column of the same table. The column can be defined > something like Int32Col(shape=(5,2)), that is, up to 5 pairs of 32-bit > integers. Then, another column (Int8Col) can have the actual number of > valid entries. This is 5x2x4+1=41 bytes of maximum overhead per row, > which is not that much.
This is what I did before and it does work. However most table rows have 0 entriesin this field, so that adding a column with shape (5,2) adds a lot of unused space to the database. I have not yet checked how blosc compression will help with this. If EArray appends are much faster then VLArray appends I might go with that. More benchmarking needed as always. On a related note: What is the prefered way to fill a CArray? createCArray does not take an array element (as opposed to createArray). Is the best thing to do to build the array in memory and then: nparr = SomeArray() carr = tables.createCArray(...) carr[:] = nparr Creating the empty CArray first and then filling it (in my case with lots of random access) seems to be much slower. Felix ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ Pytables-users mailing list Pytables-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pytables-users