[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: luaV_concat
- From: Taj Khattra <taj.khattra@...>
- Date: Mon, 23 Dec 2002 23:19:53 -0800
luaV_concat() uses the more general realloc interface, instead of a
free/malloc, when growing a short buffer for string concatenation.
doesn't this result in unnecessary memory copies (since we don't
need the buffer's old contents) ?
i replaced
buffer = luaZ_openspace(L, &G(L)->buff, tl);
with
#include "lmem.h"
if (tl > G(L)->buff.buffsize) {
luaM_free(L, G(L)->buff.buffer, G(L)->buff.buffsize);
G(L)->buff.buffer = luaM_malloc(L, tl);
}
buffer = G(L)->buff.buffer;
and did a quick valgrind cache profile to confirm this (otoh, the
savings weren't very spectacular).
-taj