{"id":17148475,"url":"https://github.com/mavam/compbench","last_synced_at":"2025-10-04T12:33:24.952Z","repository":{"id":138661190,"uuid":"43111426","full_name":"mavam/compbench","owner":"mavam","description":":hourglass: Benchmark and visualization of various compression algorithms","archived":false,"fork":false,"pushed_at":"2016-01-12T15:48:32.000Z","size":0,"stargazers_count":23,"open_issues_count":0,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-04T15:43:08.398Z","etag":null,"topics":["benchmark","compression","cpp","ggplot2","r"],"latest_commit_sha":null,"homepage":"","language":"C++","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/mavam.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}},"created_at":"2015-09-25T05:29:08.000Z","updated_at":"2024-07-09T06:13:33.000Z","dependencies_parsed_at":"2023-03-24T23:05:48.605Z","dependency_job_id":null,"html_url":"https://github.com/mavam/compbench","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/mavam%2Fcompbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mavam%2Fcompbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mavam%2Fcompbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mavam%2Fcompbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mavam","download_url":"https://codeload.github.com/mavam/compbench/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248709475,"owners_count":21149178,"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":["benchmark","compression","cpp","ggplot2","r"],"created_at":"2024-10-14T21:28:47.143Z","updated_at":"2025-10-04T12:33:24.843Z","avatar_url":"https://github.com/mavam.png","language":"C++","readme":"A benchmark utility to examine and compare various compression algorithms,\nbased on [bundle](https://github.com/r-lyeh/bundle).\n\n### Usage\n\nClone with `--recursive` and build with `make`. Then run\n\n    ./benchmark \u003c input \u003e log\n\nwhere `input` is the data you want to run through the various algorithms\nThereafter, generate the plots:\n\n    ./plot [prefix] [format] \u003c log\n\nYou will find several plots in the current directory for your perusal. The\noptional argument `prefix` sets a file prefix and `format` defaults to `png`.\n\n### Examples\n\nTo illustrate, we use a 850 MB PCAP trace ([2009-M57-day11-18][M57]), plus a\nderived 5.3 MB of [Bro](https://www.bro.org) ASCII logs. The trace consists of\n8505 connections from standard protocols, such as DNS, HTTP, DHCP, SSL, SMTP,\nand FTP. We conducted our experiments on a 64-bit FreeBSD system with two\n8-core CPUs and 128 GB of RAM. To reproduce the input data, download the trace\nand run Bro on it as follows:\n\n    bro -r trace.pcap\n\nThereafter, typing `make` generates in the `screenshots` directory the plots\nbelow.\n\n#### PCAP input\n\n![PCAP Tradeoff](screenshots/pcap-tradeoff-comp.png)\n![PCAP Tradeoff](screenshots/pcap-tradeoff-decomp.png)\n\nThe above plots shows the trade-off space between space savings and\ncompression, as well as space savings versus decompression. The further a point\nlays in the top-right corner the better it performs across both dimensions.\n\n![PCAP Compression Ratio](screenshots/pcap-compression-ratio-decomp.png)\n\nThe above plot ranks the algorithms with respect to their compression ratio.\nThe algorithm with the highest compression ratio appears on the left. The\ncoloring corresponds to the decompression throughput in MB/sec and uses\nlight blue to highlight those algorithms with fast decompression.\n\n![PCAP Throughput Scatterplot](screenshots/pcap-throughput-scatter.png)\n\nThe above plot contrasts compression versus decompression throughput. The\nx-axis shows compression and the y-axis decompression performance in MB/sec. A\npoint above the y=x diagonal means that it has high decompression than\ncompression throughput. The converse holds for points below the diagonal. The\nfurther a point appears in the top-right corner, the higher its combined\nperformance. Note that this algorithm does not profile compression ratio.\n\n![PCAP Throughput Barplot](screenshots/pcap-throughput-bars-ratio.png)\n\nThe above plot shows the same information as the previous plot, but also\nincludes the compression ratio in that the left-most algorithm exhibits the\nhighest compression ratio.\n\n#### Bro input\n\nThe next figures show the same plot types for Bro ASCII logs generated from the\nabove trace:\n\n![Bro Tradeoff](screenshots/bro-tradeoff-comp.png)\n![Bro Tradeoff](screenshots/bro-tradeoff-decomp.png)\n![Bro Compression Ratio](screenshots/bro-compression-ratio-decomp.png)\n![Bro Throughput Scatterplot](screenshots/bro-throughput-scatter.png)\n![Bro Throughput Barplot](screenshots/bro-throughput-bars-decomp.png)\n\n### License\n\nThe above plots come with a [Creative Commons Attribution 4.0 International\nLicense](http://creativecommons.org/licenses/by/4.0/), while the code ships\nwith a 3-clause BSD license.\n\n[M57]: http://digitalcorpora.org/corpora/scenarios/m57-patents-scenario\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmavam%2Fcompbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmavam%2Fcompbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmavam%2Fcompbench/lists"}