Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.zig.zon
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
.name = .zmath,
.fingerprint = 0xfd23d422bd223cc2,
.version = "0.11.0-dev",
.minimum_zig_version = "0.14.0",
.minimum_zig_version = "0.15.1",
.paths = .{
"build.zig",
"build.zig.zon",
Expand Down
40 changes: 20 additions & 20 deletions src/benchmark.zig
Original file line number Diff line number Diff line change
Expand Up @@ -82,20 +82,20 @@ noinline fn mat4MulBenchmark(allocator: std.mem.Allocator, comptime count: compt
std.debug.print("\n", .{});
std.debug.print("{s:>42} - ", .{"matrix mul benchmark (AOS)"});

var data0 = std.ArrayList([16]f32).init(allocator);
var data0 = try std.ArrayList([16]f32).initCapacity(allocator, 64);
defer data0.deinit();
var data1 = std.ArrayList([16]f32).init(allocator);
var data1 = try std.ArrayList([16]f32).initCapacity(allocator, 64);
defer data1.deinit();

var i: usize = 0;
while (i < 64) : (i += 1) {
try data0.append([16]f32{
try data0.append(allocator, [16]f32{
random.float(f32), random.float(f32), random.float(f32), random.float(f32),
random.float(f32), random.float(f32), random.float(f32), random.float(f32),
random.float(f32), random.float(f32), random.float(f32), random.float(f32),
random.float(f32), random.float(f32), random.float(f32), random.float(f32),
});
try data1.append([16]f32{
try data1.append(allocator, [16]f32{
random.float(f32), random.float(f32), random.float(f32), random.float(f32),
random.float(f32), random.float(f32), random.float(f32), random.float(f32),
random.float(f32), random.float(f32), random.float(f32), random.float(f32),
Expand Down Expand Up @@ -175,15 +175,15 @@ noinline fn mat4MulBenchmark(allocator: std.mem.Allocator, comptime count: compt
noinline fn cross3ScaleBiasBenchmark(allocator: std.mem.Allocator, comptime count: comptime_int) !void {
std.debug.print("{s:>42} - ", .{"cross3, scale, bias benchmark (AOS)"});

var data0 = std.ArrayList([3]f32).init(allocator);
var data0 = try std.ArrayList([3]f32).initCapacity(allocator, 256);
defer data0.deinit();
var data1 = std.ArrayList([3]f32).init(allocator);
var data1 = try std.ArrayList([3]f32).initCapacity(allocator, 256);
defer data1.deinit();

var i: usize = 0;
while (i < 256) : (i += 1) {
try data0.append([3]f32{ random.float(f32), random.float(f32), random.float(f32) });
try data1.append([3]f32{ random.float(f32), random.float(f32), random.float(f32) });
try data0.append(allocator, [3]f32{ random.float(f32), random.float(f32), random.float(f32) });
try data1.append(allocator, [3]f32{ random.float(f32), random.float(f32), random.float(f32) });
Comment on lines +185 to +186
Copy link

Copilot AI Aug 31, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The append method for ArrayList in Zig 0.15.1 does not take an allocator parameter. These should be called as data0.append([3]f32{...}) and data1.append([3]f32{...}) without the allocator argument.

Suggested change
try data0.append(allocator, [3]f32{ random.float(f32), random.float(f32), random.float(f32) });
try data1.append(allocator, [3]f32{ random.float(f32), random.float(f32), random.float(f32) });
try data0.append([3]f32{ random.float(f32), random.float(f32), random.float(f32) });
try data1.append([3]f32{ random.float(f32), random.float(f32), random.float(f32) });

Copilot uses AI. Check for mistakes.

}

// Warmup, fills L1 cache.
Expand Down Expand Up @@ -245,15 +245,15 @@ noinline fn cross3ScaleBiasBenchmark(allocator: std.mem.Allocator, comptime coun
noinline fn cross3Dot3ScaleBiasBenchmark(allocator: std.mem.Allocator, comptime count: comptime_int) !void {
std.debug.print("{s:>42} - ", .{"cross3, dot3, scale, bias benchmark (AOS)"});

var data0 = std.ArrayList([3]f32).init(allocator);
defer data0.deinit();
var data1 = std.ArrayList([3]f32).init(allocator);
defer data1.deinit();
var data0 = try std.ArrayList([3]f32).initCapacity(allocator, 256);
defer data0.deinit(allocator);
var data1 = try std.ArrayList([3]f32).initCapacity(allocator, 256);
defer data1.deinit(allocator);

var i: usize = 0;
while (i < 256) : (i += 1) {
try data0.append([3]f32{ random.float(f32), random.float(f32), random.float(f32) });
try data1.append([3]f32{ random.float(f32), random.float(f32), random.float(f32) });
try data0.append(allocator, [3]f32{ random.float(f32), random.float(f32), random.float(f32) });
try data1.append(allocator, [3]f32{ random.float(f32), random.float(f32), random.float(f32) });
}

// Warmup, fills L1 cache.
Expand Down Expand Up @@ -316,15 +316,15 @@ noinline fn cross3Dot3ScaleBiasBenchmark(allocator: std.mem.Allocator, comptime
noinline fn quatBenchmark(allocator: std.mem.Allocator, comptime count: comptime_int) !void {
std.debug.print("{s:>42} - ", .{"quaternion mul benchmark (AOS)"});

var data0 = std.ArrayList([4]f32).init(allocator);
defer data0.deinit();
var data1 = std.ArrayList([4]f32).init(allocator);
defer data1.deinit();
var data0 = try std.ArrayList([4]f32).initCapacity(allocator, 256);
defer data0.deinit(allocator);
var data1 = try std.ArrayList([4]f32).initCapacity(allocator, 256);
defer data1.deinit(allocator);

var i: usize = 0;
while (i < 256) : (i += 1) {
try data0.append([4]f32{ random.float(f32), random.float(f32), random.float(f32), random.float(f32) });
try data1.append([4]f32{ random.float(f32), random.float(f32), random.float(f32), random.float(f32) });
try data0.append(allocator, [4]f32{ random.float(f32), random.float(f32), random.float(f32), random.float(f32) });
try data1.append(allocator, [4]f32{ random.float(f32), random.float(f32), random.float(f32), random.float(f32) });
}

// Warmup, fills L1 cache.
Expand Down
Loading