You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Maybe 32 GiB is doable as a maximum, and "pointers" could still be stored in 32 bits. Because all AST types are aligned on 8, bottom 3 bits of pointers are always 0. So you can address up to 32 GiB with a u32. ptr = arena_base_ptr.add(u32_index << 3).
Edit: Actually, if "pointers" were u32s, most AST types would be aligned on 4, not 8. So then only 2 spare bottom bits = 16 GiB max arena size. Maybe that's still viable. Obviously with reduced pointer size, AST would take significantly less memory. So less memory to play with, but you can fit more into each GiB.
I asked for opinions on Discord about whether we could place any limits on max AST size in order to limit size of arena to 4 GiB.
Upshot was definitely not in all cases, but maybe in majority. It needs research.
As starting point, Boshen suggested parsing all of https://github.com/elastic/kibana and measuring AST size. Do that!
The text was updated successfully, but these errors were encountered: