{ "Slug": "swift", "Language": "Swift", "Status": "LIVE", "URL": "https://todo-swift-2.bfj.oncarlos.com", "Version": "b59ac55", "Stack": "", "Source": "https://amadan.net/carlos/todomvc-bakeoff?ref=main\u0026path=apps/swift", "BehaviourJSOn": { "Passed": 35, "Failed": 0, "Skipped": 0 }, "BehaviourJSOff": { "Passed": 32, "Failed": 0, "Skipped": 3 }, "TTFBEmpty": { "N": 30, "P50": 58.706, "P95": 66.484, "P99": 75.791, "Min": 49.085, "Max": 75.791 }, "TTFB50": { "N": 30, "P50": 56.312, "P95": 61.926, "P99": 63.425, "Min": 47.876, "Max": 63.425 }, "Wake": [ 1292.925, 1571.985, 1445.064 ], "Load": [ { "Scenario": "read", "Concurrency": 1, "RPS": 62.0924958672952, "P50Ms": 16.085201, "P95Ms": 21.323919, "P99Ms": 25.819993, "ErrorRate": 0, "Status": { "200": 620 } }, { "Scenario": "read", "Concurrency": 2, "RPS": 137.9826535107139, "P50Ms": 13.746804, "P95Ms": 19.8949, "P99Ms": 23.4948, "ErrorRate": 0, "Status": { "200": 1378 } }, { "Scenario": "read", "Concurrency": 4, "RPS": 102.88624191797862, "P50Ms": 37.969286, "P95Ms": 45.995428999999994, "P99Ms": 62.940053999999996, "ErrorRate": 0, "Status": { "200": 1025 } }, { "Scenario": "read", "Concurrency": 8, "RPS": 195.1791877504414, "P50Ms": 39.65168, "P95Ms": 48.991596, "P99Ms": 61.681878000000005, "ErrorRate": 0, "Status": { "200": 1944 } }, { "Scenario": "read", "Concurrency": 16, "RPS": 367.539230328579, "P50Ms": 41.264191, "P95Ms": 57.833427, "P99Ms": 74.200124, "ErrorRate": 0, "Status": { "200": 3660 } }, { "Scenario": "read", "Concurrency": 32, "RPS": 482.9160524811834, "P50Ms": 59.77146, "P95Ms": 127.28985700000001, "P99Ms": 195.709147, "ErrorRate": 0, "Status": { "200": 4798 } }, { "Scenario": "read", "Concurrency": 64, "RPS": 536.5676017832897, "P50Ms": 118.30839499999999, "P95Ms": 179.611211, "P99Ms": 238.626453, "ErrorRate": 0, "Status": { "200": 5303 } }, { "Scenario": "read", "Concurrency": 128, "RPS": 348.07940625373016, "P50Ms": 367.14313100000004, "P95Ms": 616.229955, "P99Ms": 693.192401, "ErrorRate": 0, "Status": { "200": 3354 } }, { "Scenario": "read", "Concurrency": 256, "RPS": 534.8700128941944, "P50Ms": 402.73589599999997, "P95Ms": 854.790501, "P99Ms": 1065.22288, "ErrorRate": 0, "Status": { "200": 5094 } }, { "Scenario": "read", "Concurrency": 512, "RPS": 952.9658157743403, "P50Ms": 314.52034499999996, "P95Ms": 2053.502059, "P99Ms": 2537.476385, "ErrorRate": 0.4311204699102294, "Status": { "200": 5133, "502": 3890 } }, { "Scenario": "toggle", "Concurrency": 1, "RPS": 88.39134892654133, "P50Ms": 10.934498000000001, "P95Ms": 14.850686999999999, "P99Ms": 17.477161000000002, "ErrorRate": 0, "Status": { "303": 883 } }, { "Scenario": "toggle", "Concurrency": 2, "RPS": 164.47616896564048, "P50Ms": 11.279753, "P95Ms": 17.263004, "P99Ms": 23.367166, "ErrorRate": 0, "Status": { "303": 1643 } }, { "Scenario": "toggle", "Concurrency": 4, "RPS": 115.6764887883567, "P50Ms": 33.671655, "P95Ms": 38.997323, "P99Ms": 46.591305999999996, "ErrorRate": 0, "Status": { "303": 1153 } }, { "Scenario": "toggle", "Concurrency": 8, "RPS": 222.60113188846984, "P50Ms": 35.10275, "P95Ms": 41.989121, "P99Ms": 49.290602, "ErrorRate": 0, "Status": { "303": 2220 } }, { "Scenario": "toggle", "Concurrency": 16, "RPS": 430.8344605140308, "P50Ms": 35.732986000000004, "P95Ms": 44.978485, "P99Ms": 93.453748, "ErrorRate": 0, "Status": { "303": 4293 } }, { "Scenario": "toggle", "Concurrency": 32, "RPS": 1187.6571228291066, "P50Ms": 24.091721, "P95Ms": 47.122064, "P99Ms": 62.629355999999994, "ErrorRate": 0, "Status": { "303": 11846 } }, { "Scenario": "toggle", "Concurrency": 64, "RPS": 1318.2371265117147, "P50Ms": 45.52474, "P95Ms": 81.330266, "P99Ms": 114.22493899999999, "ErrorRate": 0, "Status": { "303": 13121 } }, { "Scenario": "toggle", "Concurrency": 128, "RPS": 1409.929545847585, "P50Ms": 90.76343200000001, "P95Ms": 146.288902, "P99Ms": 213.733196, "ErrorRate": 0, "Status": { "303": 13976 } }, { "Scenario": "toggle", "Concurrency": 256, "RPS": 1453.3720610260882, "P50Ms": 198.724234, "P95Ms": 279.23400399999997, "P99Ms": 358.414454, "ErrorRate": 0, "Status": { "303": 14286 } }, { "Scenario": "read-after", "Concurrency": 1, "RPS": 60.09625655009286, "P50Ms": 17.007264000000003, "P95Ms": 21.515174000000002, "P99Ms": 26.001507, "ErrorRate": 0, "Status": { "200": 600 } }, { "Scenario": "read-after", "Concurrency": 2, "RPS": 116.98474952879565, "P50Ms": 16.739255, "P95Ms": 22.699843, "P99Ms": 29.978254, "ErrorRate": 0, "Status": { "200": 1168 } }, { "Scenario": "read-after", "Concurrency": 4, "RPS": 234.36507451817465, "P50Ms": 16.269068, "P95Ms": 23.239594999999998, "P99Ms": 29.501097, "ErrorRate": 0, "Status": { "200": 2340 } }, { "Scenario": "read-after", "Concurrency": 8, "RPS": 398.84339268676257, "P50Ms": 18.998329000000002, "P95Ms": 29.765583000000003, "P99Ms": 37.536835999999994, "ErrorRate": 0, "Status": { "200": 3984 } }, { "Scenario": "read-after", "Concurrency": 16, "RPS": 337.618541356529, "P50Ms": 29.846004, "P95Ms": 97.98349400000001, "P99Ms": 368.31043, "ErrorRate": 0, "Status": { "200": 3361 } }, { "Scenario": "read-after", "Concurrency": 32, "RPS": 475.8270092787615, "P50Ms": 61.699927, "P95Ms": 120.93642200000001, "P99Ms": 187.719178, "ErrorRate": 0, "Status": { "200": 4727 } }, { "Scenario": "read-after", "Concurrency": 64, "RPS": 511.8747541268479, "P50Ms": 120.925931, "P95Ms": 200.568238, "P99Ms": 264.991386, "ErrorRate": 0, "Status": { "200": 5056 } }, { "Scenario": "read-after", "Concurrency": 128, "RPS": 531.9302033045054, "P50Ms": 235.33870000000002, "P95Ms": 362.72706700000003, "P99Ms": 433.713977, "ErrorRate": 0, "Status": { "200": 5193 } } ], "Weight": { "HTMLBytes": 41189, "JSBytes": 3110 }, "Memory": { "IdleKB": 24252, "PeakKB": 34188, "AfterKB": 33444 }, "Code": { "Server": 650, "Templates": 0, "JS": 75, "Tests": 309, "Deps": 3 }, "Build": { "ColdSeconds": 81.408565296, "WarmSeconds": 4.135749989, "EditSeconds": 3.857357537, "Bytes": 21994904, "Host": "DOCS-T1", "ColdRuns": 1, "Runs": 3 }, "TokensBuild": { "Input": 120, "Output": 68280, "CacheRead": 6750077, "CacheWrite": 154900, "Turns": 67, "Seconds": 1813.84, "CostUSD": 3.9552954 }, "TokensFix": { "Input": 24, "Output": 6564, "CacheRead": 2080923, "CacheWrite": 11946, "Turns": 12, "Seconds": 434.384, "CostUSD": 0.6431286000000007 }, "TokensSecurity": { "Input": 0, "Output": 0, "CacheRead": 0, "CacheWrite": 0, "Turns": 0, "Seconds": 0, "CostUSD": 0 }, "TokensReview": { "Input": 688335, "Output": 3734, "CacheRead": 591488, "CacheWrite": 0, "Turns": 2, "Seconds": 0, "CostUSD": 0 }, "Readability": { "Naming": 5, "Structure": 4, "Traceability": 5, "Errors": 4, "Comments": 5, "Overall": 8, "Notes": "Strongest: traceability and comments. Toggling an item reads straight through: route in Routes.register, the shared `action` helper, Store.toggle's single RETURNING statement, then Page.body or a 303. Doc comments explain real decisions (one SQLite connection serialising writes, append-only migrations, 400-day cookie, nojs controls, the JS action queue) with almost no noise. Weakest: a few quiet fallbacks. Store.todos maps missing columns to 0/\"\"/false instead of failing; app.js turns every failed action into a silent page reload; Assets is referenced but its definition (generated) isn't here, and Static.swift is an odd home for one helper. Helper names `action` and `changed` are generic, and the two trimmingWhitespace extensions live in unrelated files." }, "ReviewFindings": [ "[correctness] [apps/swift/static/app.js:32](/home/paulca/amadan.net/carlos/todomvc-bakeoff/.worktrees/swift/apps/swift/static/app.js:32): Every action response removes the entire list, including any active editor. Toggle one item, then start editing another before the response arrives: the replacement discards the draft and focus without saving. Serializing requests does not protect unsent edits. Preserve active editor contents and focus across updates, or defer replacement until editing finishes." ], "Notes": null }