{"id":18664728,"url":"https://github.com/zlib-ng/deflatebench","last_synced_at":"2025-04-11T22:30:38.488Z","repository":{"id":43153276,"uuid":"273716000","full_name":"zlib-ng/deflatebench","owner":"zlib-ng","description":"Small tool to benchmark zlib-ng","archived":false,"fork":false,"pushed_at":"2023-03-06T12:34:01.000Z","size":31,"stargazers_count":8,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T19:21:23.420Z","etag":null,"topics":["benchmarking","testing","zlib","zlib-license","zlib-ng"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"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/zlib-ng.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":"2020-06-20T13:44:28.000Z","updated_at":"2024-10-16T18:23:09.000Z","dependencies_parsed_at":"2024-11-07T08:29:07.933Z","dependency_job_id":"f504871d-1483-40b3-8853-9756359036bf","html_url":"https://github.com/zlib-ng/deflatebench","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/zlib-ng%2Fdeflatebench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlib-ng%2Fdeflatebench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlib-ng%2Fdeflatebench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zlib-ng%2Fdeflatebench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zlib-ng","download_url":"https://codeload.github.com/zlib-ng/deflatebench/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248489465,"owners_count":21112579,"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":["benchmarking","testing","zlib","zlib-license","zlib-ng"],"created_at":"2024-11-07T08:24:44.852Z","updated_at":"2025-04-11T22:30:37.857Z","avatar_url":"https://github.com/zlib-ng.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## deflatebench -  a tool that can benchmark minigzip/minideflate\n\nThis tool must be run from the folder where an executable `minigzip` or `minideflate` exist.\\\nEx: `../deflatebench/deflatebench.py --gen`. (I suggest making a symlink to it though, for example in /usr/bin/)\\\nYou must provide the tool with testdata files.\n\n### Prerequisites\n\nTo setup the required Python packages use the following command:\n\n```\npython3 -m pip install -r requirements.txt\n```\n\n### Config Files\n* `--write` parameter creates a new config file as ~/deflatebench.conf\n* Supports profiles in separate config files\n* Supports overriding config files with command-line parameters\n\n### System Tuning\n\u003csub\u003ePS: Several of these require root or sudo permissions\u003c/sub\u003e\n* Supports `perf` or `time` for measuring cputime [Default perf]\n* Supports `chrt` to set real-time priority [Default OFF]\n* Supports `nosync` library preloading [Default OFF]\n* Supports `turboctl` for disabling cpu turbo while benchmarking [Default OFF]\n  * `turboctl` script included in repo supports disabling turbo with `intel_pstate` cpu-governor, and should be copied do /usr/bin/turboctl and added to sudo config\n* Supports `cpupower` for locking cpu speed and disabling powersaving while benchmarking [Default OFF]\n  * `cpu_std_minspeed` configures normal minimal cpu speed in Mhz to reset back to after benchmark [Default 1000]\n  * `cpu_std_maxspeed` configures normal maxumum (non-Turbo) cpu speed in Mhz to reset back to after benchmark [Default 2200]\n  * `cpu_bench_speed` configure cpu speed to use while benchmarking, should be same as cpu normal non-turbo max speed or a little slower(200Mhz for example) [Default 2000]\n\n### Test configuration\n* Specify number of testruns [Default 15]\n* Specify number of worst results to ignore [Default 5]\n* Specify minlevel [Default 0]\n* Specify maxlevel [Default 9]\n* Specify testtool either minigzip or minideflate [Default minigzip]\n\n### Test modes\n* Single, tests all levels using the same testdata-file\n* Multi, allows you to specify separate testdata-files per level\n* Gen, lets you provide the tool with a single testdata-file, and the tool will generate files of the appropriate sizes (in MiB) according to what is specified under [Testdata_Gen] in the configfile\n  * Gen works by concatenating the source file multiple times until the asked for size is met or exceeded.\n  * This works best with a relatively small input file. I use a 15MiB file, and let all levels get a generated size that is a multiple of 15MiB.\n* Please note that for best performance, the temp folder specified in the config [Default /tmp/] should be tmpfs or ramdisk.\n\n### Example Testdata\nAs a convenience, I have created a couple uncompressed tar files that can be used for `single` and `gen` testmodes:\n* [202MiB full Silesia testcorpus](https://mirror.circlestorm.org/silesia.tar)\n* [15MiB custom cropped Silesia testcorpus](https://mirror.circlestorm.org/silesia-small.tar)\n\nThe original source of this testcorpus is here: [Silesia](http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzlib-ng%2Fdeflatebench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzlib-ng%2Fdeflatebench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzlib-ng%2Fdeflatebench/lists"}