Dec 15, 3-4 PM (44)
Dec 15, 4-5 PM (31)
Dec 15, 5-6 PM (22)
Dec 15, 6-7 PM (55)
Dec 15, 7-8 PM (13)
Dec 15, 8-9 PM (33)
Dec 15, 9-10 PM (14)
Dec 15, 10-11 PM (26)
Dec 15, 11-12 AM (38)
Dec 16, 12-1 AM (17)
Dec 16, 1-2 AM (2)
Dec 16, 2-3 AM (6)
Dec 16, 3-4 AM (4)
Dec 16, 4-5 AM (2)
Dec 16, 5-6 AM (9)
Dec 16, 6-7 AM (13)
Dec 16, 7-8 AM (25)
Dec 16, 8-9 AM (36)
Dec 16, 9-10 AM (49)
Dec 16, 10-11 AM (53)
Dec 16, 11-12 PM (46)
Dec 16, 12-1 PM (71)
Dec 16, 1-2 PM (54)
Dec 16, 2-3 PM (40)
Dec 16, 3-4 PM (25)
Dec 16, 4-5 PM (33)
Dec 16, 5-6 PM (30)
Dec 16, 6-7 PM (20)
Dec 16, 7-8 PM (20)
Dec 16, 8-9 PM (41)
Dec 16, 9-10 PM (18)
Dec 16, 10-11 PM (65)
Dec 16, 11-12 AM (26)
Dec 17, 12-1 AM (10)
Dec 17, 1-2 AM (5)
Dec 17, 2-3 AM (6)
Dec 17, 3-4 AM (1)
Dec 17, 4-5 AM (4)
Dec 17, 5-6 AM (5)
Dec 17, 6-7 AM (13)
Dec 17, 7-8 AM (14)
Dec 17, 8-9 AM (26)
Dec 17, 9-10 AM (22)
Dec 17, 10-11 AM (56)
Dec 17, 11-12 PM (38)
Dec 17, 12-1 PM (39)
Dec 17, 1-2 PM (49)
Dec 17, 2-3 PM (35)
Dec 17, 3-4 PM (27)
Dec 17, 4-5 PM (21)
Dec 17, 5-6 PM (26)
Dec 17, 6-7 PM (9)
Dec 17, 7-8 PM (26)
Dec 17, 8-9 PM (6)
Dec 17, 9-10 PM (11)
Dec 17, 10-11 PM (26)
Dec 17, 11-12 AM (20)
Dec 18, 12-1 AM (44)
Dec 18, 1-2 AM (11)
Dec 18, 2-3 AM (10)
Dec 18, 3-4 AM (14)
Dec 18, 4-5 AM (4)
Dec 18, 5-6 AM (8)
Dec 18, 6-7 AM (7)
Dec 18, 7-8 AM (10)
Dec 18, 8-9 AM (21)
Dec 18, 9-10 AM (27)
Dec 18, 10-11 AM (40)
Dec 18, 11-12 PM (29)
Dec 18, 12-1 PM (49)
Dec 18, 1-2 PM (38)
Dec 18, 2-3 PM (47)
Dec 18, 3-4 PM (61)
Dec 18, 4-5 PM (31)
Dec 18, 5-6 PM (43)
Dec 18, 6-7 PM (28)
Dec 18, 7-8 PM (11)
Dec 18, 8-9 PM (17)
Dec 18, 9-10 PM (13)
Dec 18, 10-11 PM (40)
Dec 18, 11-12 AM (31)
Dec 19, 12-1 AM (2)
Dec 19, 1-2 AM (6)
Dec 19, 2-3 AM (4)
Dec 19, 3-4 AM (19)
Dec 19, 4-5 AM (5)
Dec 19, 5-6 AM (6)
Dec 19, 6-7 AM (4)
Dec 19, 7-8 AM (22)
Dec 19, 8-9 AM (51)
Dec 19, 9-10 AM (41)
Dec 19, 10-11 AM (20)
Dec 19, 11-12 PM (68)
Dec 19, 12-1 PM (34)
Dec 19, 1-2 PM (34)
Dec 19, 2-3 PM (50)
Dec 19, 3-4 PM (37)
Dec 19, 4-5 PM (52)
Dec 19, 5-6 PM (33)
Dec 19, 6-7 PM (32)
Dec 19, 7-8 PM (14)
Dec 19, 8-9 PM (12)
Dec 19, 9-10 PM (4)
Dec 19, 10-11 PM (26)
Dec 19, 11-12 AM (15)
Dec 20, 12-1 AM (0)
Dec 20, 1-2 AM (1)
Dec 20, 2-3 AM (3)
Dec 20, 3-4 AM (3)
Dec 20, 4-5 AM (1)
Dec 20, 5-6 AM (0)
Dec 20, 6-7 AM (0)
Dec 20, 7-8 AM (1)
Dec 20, 8-9 AM (2)
Dec 20, 9-10 AM (4)
Dec 20, 10-11 AM (12)
Dec 20, 11-12 PM (2)
Dec 20, 12-1 PM (4)
Dec 20, 1-2 PM (0)
Dec 20, 2-3 PM (2)
Dec 20, 3-4 PM (10)
Dec 20, 4-5 PM (6)
Dec 20, 5-6 PM (2)
Dec 20, 6-7 PM (15)
Dec 20, 7-8 PM (17)
Dec 20, 8-9 PM (18)
Dec 20, 9-10 PM (0)
Dec 20, 10-11 PM (21)
Dec 20, 11-12 AM (32)
Dec 21, 12-1 AM (0)
Dec 21, 1-2 AM (0)
Dec 21, 2-3 AM (3)
Dec 21, 3-4 AM (4)
Dec 21, 4-5 AM (13)
Dec 21, 5-6 AM (3)
Dec 21, 6-7 AM (3)
Dec 21, 7-8 AM (6)
Dec 21, 8-9 AM (5)
Dec 21, 9-10 AM (0)
Dec 21, 10-11 AM (1)
Dec 21, 11-12 PM (3)
Dec 21, 12-1 PM (1)
Dec 21, 1-2 PM (1)
Dec 21, 2-3 PM (9)
Dec 21, 3-4 PM (2)
Dec 21, 4-5 PM (12)
Dec 21, 5-6 PM (17)
Dec 21, 6-7 PM (7)
Dec 21, 7-8 PM (2)
Dec 21, 8-9 PM (0)
Dec 21, 9-10 PM (15)
Dec 21, 10-11 PM (29)
Dec 21, 11-12 AM (23)
Dec 22, 12-1 AM (0)
Dec 22, 1-2 AM (1)
Dec 22, 2-3 AM (4)
Dec 22, 3-4 AM (8)
Dec 22, 4-5 AM (3)
Dec 22, 5-6 AM (3)
Dec 22, 6-7 AM (8)
Dec 22, 7-8 AM (36)
Dec 22, 8-9 AM (22)
Dec 22, 9-10 AM (25)
Dec 22, 10-11 AM (26)
Dec 22, 11-12 PM (26)
Dec 22, 12-1 PM (21)
Dec 22, 1-2 PM (43)
Dec 22, 2-3 PM (19)
Dec 22, 3-4 PM (0)
3,253 commits this week Dec 15, 2025 - Dec 22, 2025
feat(costing): update Value↔Data memory models with linear coefficients
Replace constant memory costs with linear models derived from empirical measurements:

- ValueData: memory = 38×size + 6 (was constant 1)

- UnValueData: memory = 8×nodes + 0 (was constant 1)

  CPU: 290658×nodes + 1000 (was 43200×arg + 1000)

The linear models better reflect actual memory behavior: ValueData scales with serialized size, UnValueData scales with node count.

Benchmark data regenerated with new memory measurement approach.
feat(costing): add DataNodeCount wrapper for node-based memory tracking
Introduce DataNodeCount newtype that measures Data memory via lazy node traversal rather than serialization size. This provides more accurate memory accounting for UnValueData builtin which operates on the Data structure directly without serializing.

The wrapper separates concerns: node counting logic here, cost coefficients in JSON models.