aoc2025 @ 40a7ae0bde3e0d351f21733cc7fbf1c620470207

 1const std = @import("std");
 2const zbench = @import("zbench");
 3
 4const day1 = @import("day1.zig");
 5const day2 = @import("day2.zig");
 6const day3 = @import("day3.zig");
 7const day4 = @import("day4.zig");
 8const day5 = @import("day5.zig");
 9
10fn day1pt1(_: std.mem.Allocator) void {
11    _ = day1.pt1(@embedFile("input/day1"));
12}
13
14fn day1pt2(_: std.mem.Allocator) void {
15    _ = day1.pt2(@embedFile("input/day1"));
16}
17
18fn day2pt1(_: std.mem.Allocator) void {
19    _ = day2.pt1(@embedFile("input/day2"));
20}
21
22fn day2pt2(_: std.mem.Allocator) void {
23    _ = day2.pt2(@embedFile("input/day2"));
24}
25
26fn day3pt1(_: std.mem.Allocator) void {
27    _ = day3.pt1(@embedFile("input/day3"));
28}
29
30fn day3pt2(_: std.mem.Allocator) void {
31    _ = day3.pt2(@embedFile("input/day3"));
32}
33
34fn day4pt1(_: std.mem.Allocator) void {
35    _ = day4.pt1(@embedFile("input/day4"));
36}
37
38fn day4pt2(_: std.mem.Allocator) void {
39    _ = day4.pt2(@embedFile("input/day4"));
40}
41
42fn day5pt1(alloc: std.mem.Allocator) void {
43    _ = day5.pt1(alloc, @embedFile("input/day5")) catch unreachable;
44}
45
46fn day5pt2(alloc: std.mem.Allocator) void {
47    _ = day5.pt2(alloc, @embedFile("input/day5")) catch unreachable;
48}
49
50pub fn main() !void {
51    var stdout = std.fs.File.stdout().writerStreaming(&.{});
52    const writer = &stdout.interface;
53
54    var bench = zbench.Benchmark.init(std.heap.page_allocator, .{});
55    defer bench.deinit();
56
57    try bench.add("Dia 1 parte 1", day1pt1, .{});
58    try bench.add("Dia 1 parte 2", day1pt2, .{});
59    try bench.add("Dia 2 parte 1", day2pt1, .{});
60    try bench.add("Dia 2 parte 2", day2pt2, .{});
61    try bench.add("Dia 3 parte 1", day3pt1, .{});
62    try bench.add("Dia 3 parte 2", day3pt2, .{});
63    try bench.add("Dia 4 parte 1", day4pt1, .{});
64    try bench.add("Dia 4 parte 2", day4pt2, .{});
65    try bench.add("Dia 5 parte 1", day5pt1, .{ .track_allocations = true });
66    try bench.add("Dia 5 parte 2", day5pt2, .{ .track_allocations = true });
67
68    try writer.writeAll("\n");
69    try bench.run(writer);
70}