{"id":18048808,"url":"https://github.com/marcelgarus/kakuro","last_synced_at":"2025-10-26T20:10:12.017Z","repository":{"id":96407071,"uuid":"482615453","full_name":"MarcelGarus/kakuro","owner":"MarcelGarus","description":null,"archived":false,"fork":false,"pushed_at":"2023-08-13T22:58:58.000Z","size":164,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-09T14:16:26.698Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MarcelGarus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-17T19:31:05.000Z","updated_at":"2022-04-23T20:03:39.000Z","dependencies_parsed_at":"2025-04-05T05:28:33.460Z","dependency_job_id":null,"html_url":"https://github.com/MarcelGarus/kakuro","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MarcelGarus/kakuro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcelGarus%2Fkakuro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcelGarus%2Fkakuro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcelGarus%2Fkakuro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcelGarus%2Fkakuro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarcelGarus","download_url":"https://codeload.github.com/MarcelGarus/kakuro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcelGarus%2Fkakuro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001526,"owners_count":26083117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T20:15:26.871Z","updated_at":"2025-10-09T14:16:27.113Z","avatar_url":"https://github.com/MarcelGarus.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kakuro solver\n\nKakuros are cool puzzles.\nThis repo contains several solvers with different strategies.\n\n## Measurements\n\nI conducted ten measurements for each value with prior warm-up.\n\ntodo = Not measured yet  \noom = Out of memory and killed by the operating system  \ntimeout = Took longer than 30 minutes\n\n| solver                   | small     | wikipedia | 15x15     | 20x20     | 30x30     | book      |\n| ------------------------ | --------- | --------- | --------- | --------- | --------- | --------- |\n| naive                    | todo      | todo      | todo      | todo      | todo      | todo      |\n| gradual                  | todo      | todo      | todo      | todo      | todo      | todo      |\n| sum_reachable            | todo      | todo      | todo      | todo      | todo      | todo      |\n| prioritize               | 1.23 ms   | 376.48 ms | 466.87 ms | 364.07 s  | timeout   | todo      |\n| sum_reachable_no_set     | 335.41 us | 5.12 ms   | 20.43 ms  | 208.78 ms | 14.06 s   | 20.56 s   |\n| only_check_changes       | 170.99 us | 792.26 us | 2.18 ms   | 9.70 ms   | 595.41 ms | 1.41 s    |\n| divide                   | 23.48 us  | 1.55 ms   | 8.13 ms   | 143.76 ms | 6.24 s    | oom       |\n| connecting_cells         | 29.79 us  | 833.63 us | 4.62 ms   | 18.25 ms  | 313.25 ms | oom       |\n| lazy                     | 46.41 us  | 1.47 ms   | 7.63 ms   | 68.32 ms  | 10.46 s   | oom       |\n| propagate_constraints    | 155.90 us | 1.34 ms   | 8.05 ms   | 37.12 ms  | oom       | 1.12 s    |\n| solution_in_rc           | 61.72 us  | 778.51 us | 6.57 ms   | 33.40 ms  | oom       | 193.86 ms |\n| simpler_recursion_anchor | 45.99 us  | 681.29 us | 5.68 ms   | 28.64 ms  | oom       | 178.51 ms |\n| fxhashmap                | 39.12 us  | 641.78 us | 5.35 ms   | 27.49 ms  | oom       | 142.74 ms |\n| better_vecs              | 34.61 us  | 597.71 us | 5.75 ms   | 32.85 ms  | oom       | 88.97 ms  |\n\n## Raw measurements\n\nThe values are median with standard deviation, as well as minimum and maximum.\n\n- naive\n  - small: todo\n  - wikipedia: todo\n  - 15x15: todo\n  - 20x20: todo\n  - 30x30: todo\n  - book: todo\n- gradual\n  - small: todo\n  - wikipedia: todo\n  - 15x15: todo\n  - 20x20: todo\n  - 30x30: todo\n  - book: todo\n- sum_reachable\n  - small: todo\n  - wikipedia: todo\n  - 15x15: todo\n  - 20x20: todo\n  - 30x30: todo\n  - book: todo\n- prioritize\n  - small: 1.23 ms +- 0.64 %; 1.22 ms – 1.24 ms\n  - wikipedia: 376.48 ms +- 0.23 %; 374.88 ms – 377.45 ms\n  - 15x15: 466.87 ms +- 0.11 %; 465.69 ms – 467.73 ms\n  - 20x20: 364.07 s +- 0.50 %; 360.01 s – 366.62 s\n  - 30x30: \u003e35 min\n  - book: todo\n- sum_reachable_no_set\n  - small: 335.41 us +- 0.49 %; 333.95 us – 339.22 us\n  - wikipedia: 5.12 ms +- 0.17 %; 5.10 ms – 5.13 ms\n  - 15x15: 20.43 ms +- 2.91 %; 20.16 ms – 22.17 ms\n  - 20x20: 208.78 ms +- 0.19 %; 208.28 ms – 209.42 ms\n  - 30x30: 14.06 s +- 0.69 %; 13.98 s – 14.22 s\n  - book: 20.56 s +- 1.00 %; 20.12 s - 20.79 s\n- only_check_changes\n  - small: 170.99 us +- 0.78 %; 169.85 us - 173.50 us\n  - wikipedia: 792.26 us +- 10.94 %; 758.90 us - 1.05 ms\n  - 15x15: 2.18 ms +- 4.99 %; 2.11 ms - 2.43 ms\n  - 20x20: 9.70 ms +- 1.28 %; 9.55 ms - 9.96 ms\n  - 30x30: 595.41 ms +- 0.84 %; 588.83 ms - 608.70 ms\n  - book: 1.41 s +- 1.11 %; 1.38 s - 1.42 s\n- divide\n  - small: 23.48 us +- 8.30 %; 22.31 us – 28.99 us\n  - wikipedia: 1.55 ms +- 0.84 %; 1.53 ms – 1.58 ms\n  - 15x15: 8.13 ms +- 0.34 %; 8.10 ms – 8.18 ms\n  - 20x20: 143.76 ms +- 1.01 %; 142.05 ms – 147.75 ms\n  - 30x30: 6.24 s +- 1.02 %; 6.18 s – 6.36 s\n  - book: oom\n- connecting_cells\n  - small: 29.79 us +- 6.25 %; 28.69 us – 34.81 us\n  - wikipedia: 833.63 us +- 0.84 %; 822.23 us – 846.14 us\n  - 15x15: 4.62 ms +- 0.53 %; 4.59 ms – 4.66 ms\n  - 20x20: 18.25 ms +- 0.29 %; 18.19 ms – 18.38 ms\n  - 30x30: 313.25 ms +- 0.85 %; 309.63 ms – 317.18 ms\n  - book: oom\n- lazy\n  - small: 46.41 us +- 6.93 %; 43.21 us – 54.47 us\n  - wikipedia: 1.47 ms +- 1.40 %; 1.45 ms – 1.52 ms\n  - 15x15: 7.63 ms +- 1.29 %; 7.49 ms – 7.87 ms\n  - 20x20: 68.32 ms +- 4.33 %; 64.57 ms – 74.80 ms\n  - 30x30: 10.46 s +- 1.89 %; 9.96 s – 10.70 s\n  - book: oom\n- propagate_constraints\n  - small: 155.90 us +- 3.30 %; 151.01 us – 166.42 us\n  - wikipedia: 1.34 ms +- 3.23 %; 1.31 ms – 1.47 ms\n  - 15x15: 8.05 ms +- 0.56 %; 7.99 ms – 8.14 ms\n  - 20x20: 37.12 ms +- 2.45 %; 36.11 ms – 38.90 ms\n  - 30x30: oom\n  - book: 1.12 s +- 0.79 %; 1.10 s – 1.13 s\n- solution_in_rc\n  - small: 61.72 us +- 6.56 %; 56.98 us – 71.14 us\n  - wikipedia: 778.51 us +- 1.55 %; 766.99 us – 803.07 us\n  - 15x15: 6.57 ms +- 0.27 %; 6.53 ms – 6.60 ms\n  - 20x20: 33.40 ms +- 0.69 %; 33.12 ms – 33.77 ms\n  - 30x30: oom\n  - book: 193.86 ms +- 4.22 %; 186.47 ms - 210.47 ms\n- simpler_recursion_anchor\n  - small: 45.99 us +- 7.82 %; 42.07 us – 55.11 us\n  - wikipedia: 681.29 us +- 1.75 %; 669.13 us – 711.74 us\n  - 15x15: 5.68 ms +- 0.49 %; 5.65 ms – 5.75 ms\n  - 20x20: 28.64 ms +- 0.48 %; 28.44 ms – 28.82 ms\n  - 30x30: oom\n  - book: 178.51 ms +- 0.33 %; 177.46 ms - 179.62 ms\n- fxhashmap\n  - small: 39.12 us +- 10.26 %; 36.28 us – 49.70 us\n  - wikipedia: 641.78 us +- 1.94 %; 630.47 us – 675.82 us\n  - 15x15: 5.35 ms +- 0.80 %; 5.29 ms – 5.41 ms\n  - 20x20: 27.49 ms +- 0.67 %; 27.20 ms – 27.81 ms\n  - 30x30: oom\n  - book: 142.74 ms +- 1.42 %; 140.26 ms – 146.90 ms\n- better_vecs\n  - small: 34.61 us +- 8.17 %; 31.95 us – 41.03 us\n  - wikipedia: 597.71 us +- 2.06 %; 585.46 us – 631.27 us\n  - 15x15: 5.75 ms +- 0.45 %; 5.73 ms – 5.80 ms\n  - 20x20: 32.85 ms +- 0.31 %; 32.75 ms – 33.04 ms\n  - 30x30: oom\n  - book: 88.97 ms +- 1.18 %; 87.35 ms - 91.70 ms\n\n## Todo\n\n- re-do benchmarks\n- investigate oom -\u003e endless recursive loop?\n- invent new solvers\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelgarus%2Fkakuro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcelgarus%2Fkakuro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelgarus%2Fkakuro/lists"}