From ad87573d092bd002c03471cb0760b21016823a26 Mon Sep 17 00:00:00 2001 From: Halil Durak Date: Mon, 2 Mar 2026 12:55:55 +0300 Subject: [PATCH] `ArenaPool`: make `init` configurable --- src/App.zig | 2 +- src/ArenaPool.zig | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/App.zig b/src/App.zig index a4ed0e8f..bb797ec5 100644 --- a/src/App.zig +++ b/src/App.zig @@ -66,7 +66,7 @@ pub fn init(allocator: Allocator, config: *const Config) !*App { app.telemetry = try Telemetry.init(app, config.mode); errdefer app.telemetry.deinit(); - app.arena_pool = ArenaPool.init(allocator); + app.arena_pool = ArenaPool.init(allocator, 512, 1024 * 16); errdefer app.arena_pool.deinit(); return app; diff --git a/src/ArenaPool.zig b/src/ArenaPool.zig index 7f1d38dc..6743a552 100644 --- a/src/ArenaPool.zig +++ b/src/ArenaPool.zig @@ -36,12 +36,12 @@ const Entry = struct { arena: ArenaAllocator, }; -pub fn init(allocator: Allocator) ArenaPool { +pub fn init(allocator: Allocator, free_list_max: u16, retain_bytes: usize) ArenaPool { return .{ .allocator = allocator, - .free_list_max = 512, // TODO make configurable - .retain_bytes = 1024 * 16, // TODO make configurable - .entry_pool = std.heap.MemoryPool(Entry).init(allocator), + .free_list_max = free_list_max, + .retain_bytes = retain_bytes, + .entry_pool = .init(allocator), }; }