perf(highlight): allocate permanent names in an arena for fun and cache locality

This commit is contained in:
bfredl
2022-06-21 13:03:35 +02:00
parent 1dad288432
commit a9442c532e
3 changed files with 23 additions and 23 deletions

View File

@@ -686,10 +686,7 @@ Dictionary arena_dict(Arena *arena, size_t max_size)
String arena_string(Arena *arena, String str)
{
if (str.size) {
char *mem = arena_alloc(arena, str.size + 1, false);
memcpy(mem, str.data, str.size);
mem[str.size] = NUL;
return cbuf_as_string(mem, str.size);
return cbuf_as_string(arena_memdupz(arena, str.data, str.size), str.size);
} else {
return (String)STRING_INIT;
}