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");
8
9fn day1pt1(_: std.mem.Allocator) void {
10 _ = day1.pt1(@embedFile("input/day1"));
11}
12
13fn day1pt2(_: std.mem.Allocator) void {
14 _ = day1.pt2(@embedFile("input/day1"));
15}
16
17fn day2pt1(_: std.mem.Allocator) void {
18 _ = day2.pt1(@embedFile("input/day2"));
19}
20
21fn day2pt2(_: std.mem.Allocator) void {
22 _ = day2.pt2(@embedFile("input/day2"));
23}
24
25fn day3pt1(_: std.mem.Allocator) void {
26 _ = day3.pt1(@embedFile("input/day3"));
27}
28
29fn day3pt2(_: std.mem.Allocator) void {
30 _ = day3.pt2(@embedFile("input/day3"));
31}
32
33fn day4pt1(_: std.mem.Allocator) void {
34 _ = day4.pt1(@embedFile("input/day4"));
35}
36
37fn day4pt2(_: std.mem.Allocator) void {
38 _ = day4.pt2(@embedFile("input/day4"));
39}
40
41pub fn main() !void {
42 var stdout = std.fs.File.stdout().writerStreaming(&.{});
43 const writer = &stdout.interface;
44
45 var bench = zbench.Benchmark.init(std.heap.page_allocator, .{});
46 defer bench.deinit();
47
48 try bench.add("Dia 1 parte 1", day1pt1, .{});
49 try bench.add("Dia 1 parte 2", day1pt2, .{});
50 try bench.add("Dia 2 parte 1", day2pt1, .{});
51 try bench.add("Dia 2 parte 2", day2pt2, .{});
52 try bench.add("Dia 3 parte 1", day3pt1, .{});
53 try bench.add("Dia 3 parte 2", day3pt2, .{});
54 try bench.add("Dia 4 parte 1", day4pt1, .{});
55 try bench.add("Dia 4 parte 2", day4pt2, .{});
56
57 try writer.writeAll("\n");
58 try bench.run(writer);
59}