{"id":24616278,"url":"https://github.com/wunkolo/qcheck","last_synced_at":"2025-05-07T02:25:36.814Z","repository":{"id":49193330,"uuid":"225300812","full_name":"Wunkolo/qCheck","owner":"Wunkolo","description":"A quick alternative to cksfv for generating and verifying CRC32 checksum files.","archived":false,"fork":false,"pushed_at":"2025-02-05T05:15:03.000Z","size":95,"stargazers_count":19,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-31T05:24:54.276Z","etag":null,"topics":["checksum","crc","error-detection","hash"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wunkolo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-12-02T06:22:18.000Z","updated_at":"2025-02-05T05:15:07.000Z","dependencies_parsed_at":"2025-01-07T20:21:25.213Z","dependency_job_id":"08ff422d-174d-48e4-b9b3-51c01cabcbaf","html_url":"https://github.com/Wunkolo/qCheck","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wunkolo%2FqCheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wunkolo%2FqCheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wunkolo%2FqCheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wunkolo%2FqCheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wunkolo","download_url":"https://codeload.github.com/Wunkolo/qCheck/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252800121,"owners_count":21806100,"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","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":["checksum","crc","error-detection","hash"],"created_at":"2025-01-24T22:16:45.570Z","updated_at":"2025-05-07T02:25:36.800Z","avatar_url":"https://github.com/Wunkolo.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# qCheck [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\nA **q**uick alternative to cksfv for generating and verifying CRC32C checksum files(`.sfv`).\n\n---\n\nqCheck is about **x4** to **x15** times faster than alternatives such as\n`rhash` and `cksfv` and reduces algorithmic overhead to being almost\nentirely bounded by device IO!\nIt is recommended to run this program on a fast NVME Solid State Drive to fully\nsaturate read speed.\n\n---\n\n## Install\n\n### Manual\n```\n$ git clone https://github.com/Wunkolo/qCheck.git qCheck/src\n$ cmake -B qCheck/build -S qCheck/src -DCMAKE_BUILD_TYPE=Release\n$ cmake --build qCheck/build --config Release\n# install -Dm+x \"qCheck/build/qCheck\" \"/usr/local/bin/qCheck\"\n```\n\n### Packages\n\n[ArchLinux](https://aur.archlinux.org/packages/qcheck-git)\n\n\n## Benchmark\n\nSpecs:\n\n```\n% inxi -IC\nCPU:       Topology: 10-Core model: Intel Core i9-7900X bits: 64 type: MT MCP L2 cache: 13.8 MiB \n           Speed: 1201 MHz min/max: 1200/4500 MHz Core speeds (MHz): 1: 1201 2: 1200 3: 1200 4: 1201 5: 1201 6: 1200 7: 1197 \n           8: 1201 9: 1201 10: 1201 11: 1201 12: 1201 13: 1201 14: 1201 15: 1200 16: 1201 17: 1200 18: 1200 19: 1200 20: 1200 \nInfo:      Processes: 350 Uptime: 9d 14h 45m Memory: 62.51 GiB used: 19.88 GiB (31.8%) Init: systemd Shell: vim inxi: 3.0.37 \n\n% sudo nvme list\nNode             SN                   Model                                    Namespace Usage                      Format           FW Rev  \n---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------\n\u003csnip\u003e\n/dev/nvme1n1     S~~~N~~~9~~~7~~      Samsung SSD 970 EVO 500GB                1         341.05  GB / 500.11  GB    512   B +  0 B   2B2QEXE7\n```\n\nVerifying an .sfv file(10GB folder full of +200MB files)\n```\n% hyperfine --runs 10 -i '../qCheck -c TestCheck.sfv' 'rhash -c TestCheck.sfv' 'cksfv -g TestCheck.sfv'\nBenchmark #1: ../qCheck -c TestCheck.sfv\n  Time (mean ± σ):      1.494 s ±  0.198 s    [User: 5.140 s, System: 0.817 s]\n  Range (min … max):    1.282 s …  1.740 s    10 runs\n\nBenchmark #2: rhash -c TestCheck.sfv\n  Time (mean ± σ):      7.374 s ±  0.015 s    [User: 5.769 s, System: 1.598 s]\n  Range (min … max):    7.352 s …  7.400 s    10 runs\nBenchmark #3: cksfv -g TestCheck.sfv\n  Time (mean ± σ):     21.376 s ±  0.663 s    [User: 19.848 s, System: 1.512 s]\n  Range (min … max):   21.084 s … 23.260 s    10 runs\nSummary\n  '../qCheck -c TestCheck.sfv' ran\n    4.94 ± 0.65 times faster than 'rhash -c TestCheck.sfv'\n   14.31 ± 1.94 times faster than 'cksfv -g TestCheck.sfv'\n```\n\nGenerating a .sfv file(10GB folder full of +200MB files)\n```\n% hyperfine --runs 10 \"rhash SampleFiles/*\" \"./qCheck SampleFiles/*\" \"cksfv SampleFiles/*\"\nBenchmark #1: rhash SampleFiles/*\n  Time (mean ± σ):      6.234 s ±  0.145 s    [User: 4.798 s, System: 1.424 s]\n  Range (min … max):    6.133 s …  6.632 s    10 runs\n\nBenchmark #2: ./qCheck SampleFiles/*\n  Time (mean ± σ):      1.435 s ±  0.105 s    [User: 5.146 s, System: 0.610 s]\n  Range (min … max):    1.289 s …  1.590 s    10 runs\n\nBenchmark #3: cksfv SampleFiles/*\n  Time (mean ± σ):     20.896 s ±  0.074 s    [User: 19.611 s, System: 1.271 s]\n  Range (min … max):   20.778 s … 20.996 s    10 runs\n\nSummary\n  './qCheck SampleFiles/*' ran\n    4.34 ± 0.33 times faster than 'rhash SampleFiles/*'\n   14.56 ± 1.07 times faster than 'cksfv SampleFiles/*'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwunkolo%2Fqcheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwunkolo%2Fqcheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwunkolo%2Fqcheck/lists"}