Conversation
Assigning allocator to every Node object is absurd. Make it static, so that set only once.
3fc55d3 to
d70acc7
Compare
|
Sounds reasonable. |
|
I think a bufferd writer is also useful:
An arena allocator should also be faster when releasing memory |
|
This is unfair to assign allocator to each node. Rust solution does not store a reference to C allocator |
|
It was so fun to read source code once again with a Git blame on.
|
|
Hey @hanabi1224 some Zig community people are upset to not having it merged. |
In this Zig code, every Node object had its own allocator. Assigning allocator to every Node object is absurd.
Removing allocator from Node struct would be a simple solution.
However simingly @hanabi1224 does not like that idea because Zig language usually assigns specific allocator to each data structure and it's fair to do so, reflecting the language's norm of its own standard library.
Fine. Zig language allows static members in struct.
So I let specific allocator still remain in Node structure, but it can be changed to be static. The allocator in Node now became static and set only once.