tiny.arrange.Measurer
Defined in tiny.arrange.
API (7)
Actions
Public operations.
Fields and members
Public fields and members.
Source
Source: lib/arrange/src/types.zig:127
zig
pub const Measurer = struct { measure: Measure, memos: []MeasureMemo = &.{}, used: usize = 0, calls: usize = 0, probes: usize = 0, pub fn reset(self: *Measurer) void { for (self.memos) |*memo| memo.* = .{}; self.used = 0; self.calls = 0; self.probes = 0; } pub fn size(self: *Measurer, token: u32, available: Available) Size { if (self.memos.len == 0) { self.calls += 1; return self.measure.size(token, available); } const index = measureHash(token, available) % self.memos.len; const memo = &self.memos[index]; self.probes += 1; if (memo.valid and memo.token == token and sameAvailable(memo.available, available)) { return memo.size; } const measured = self.measure.size(token, available); self.calls += 1; if (!memo.valid) { self.used += 1; } memo.* = .{ .valid = true, .token = token, .available = available, .size = measured, }; return measured; }};Source: lib/arrange/src/root.zig:28
zig
pub const Measurer = types.Measurer;Audit
| Definitions | 3 |
|---|---|
| Public names | 3 |
| Members | 5 |
| Version | 26.7.0 |
| Revision | daab053ee433 |