On 16/03/17 12:23, Roberto Cornacchia wrote:
I'm seeing a strange behaviour with COLcopy(). (Dec2016, optimized, non-devel compilation)
In short, it seems to take almost half second to copy a 1-tuple string (view) bat.
Inspected with gdb, I see that the copy falls in "(3) we can copy the heaps (memcopy, or even VM page sharing)", with the following values:
cnt = 1 bunstocopy = BUN_NONE isVIEW(b) = TRUE VIEWtparent(b) = 0 b->T.heap.size = 1024 b->T.vheap.size = 1094320128
The actual tail and heap copy then takes place:
heapcopy(bn, "tail", &bthp, &b->theap) heapcopy(bn, "theap", &thp, b->tvheap)
Does this mean that a heap of almost 1GB has been copied for a 1-tuple view?
Looks like it. ;-) A little higheer in the code is a comment "reduced slice view". That seems to be to not copy the whole heap when only a small (less than half) part of the "tail" heap is actually needed. A similar check should probably be made for the tvheap.
Roberto
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
-- Sjoerd Mullender