{"id":18362356,"url":"https://github.com/srenatus/pb-bench","last_synced_at":"2025-04-10T05:56:41.587Z","repository":{"id":152434092,"uuid":"135687560","full_name":"srenatus/pb-bench","owner":"srenatus","description":null,"archived":false,"fork":false,"pushed_at":"2018-07-09T10:52:21.000Z","size":541,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-15T19:26:13.093Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/srenatus.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":"2018-06-01T08:05:38.000Z","updated_at":"2018-07-09T10:47:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"82c5bc99-9b82-4559-be2c-94d06b73f34b","html_url":"https://github.com/srenatus/pb-bench","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/srenatus%2Fpb-bench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srenatus%2Fpb-bench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srenatus%2Fpb-bench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srenatus%2Fpb-bench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srenatus","download_url":"https://codeload.github.com/srenatus/pb-bench/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166937,"owners_count":21058480,"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":[],"created_at":"2024-11-05T22:40:34.360Z","updated_at":"2025-04-10T05:56:41.563Z","avatar_url":"https://github.com/srenatus.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PB 1.0.0 vs 1.1.0 benchmark [![travis](https://api.travis-ci.org/srenatus/pb-bench.svg?branch=master)](https://travis-ci.org/srenatus/pb-bench)\n\nWith the giant message that is used here for benchmarking, a rather severe regression seems to be present.\n\n(Alternatively, I'm doing something wrong in the benchmark, which is at least just as likely.)\n\nUse `make all` to run the benchmarks for v1.0.0, v1.1.0 and master (ref 3a3da3 at the moment), and have some benchstat calls compare the results:\n\n```console\n$ make all\ncd v1.0.0 \u0026\u0026 make -f ../Makefile bench | grep ^Bench | tee ../v1.0.0.out\nBenchmarkRunMsgMarshal-8                    1000           1387356 ns/op          495933 B/op       5540 allocs/op\nBenchmarkRunMsgMarshal-8                    1000           1373843 ns/op          495932 B/op       5540 allocs/op\n...\n```\n\nThe crucial part of that seems to be differences between v1.0.0 and v1.1.0:\n\n```\nv1.0.0 (old) vs v1.1.0 (new)\nname                  old time/op    new time/op    delta\nRunMsgMarshal-8         1.43ms ± 6%    5.59ms ± 2%  +290.08%  (p=0.000 n=9+10)\nRunStructMarshal-8      1.52ms ± 4%    6.78ms ± 2%  +347.25%  (p=0.000 n=10+10)\nRunMsgUnmarshal-8       2.55ms ± 3%    2.39ms ± 2%    -6.22%  (p=0.000 n=10+10)\nRunStructUnmarshal-8    2.66ms ± 1%    2.58ms ± 3%    -3.01%  (p=0.000 n=10+10)\nname                  old alloc/op   new alloc/op   delta\nRunMsgMarshal-8          496kB ± 0%    1318kB ± 0%  +165.77%  (p=0.000 n=10+10)\nRunStructMarshal-8       500kB ± 0%    1595kB ± 0%  +219.33%  (p=0.000 n=10+10)\nRunMsgUnmarshal-8        649kB ± 0%     582kB ± 0%   -10.26%  (p=0.000 n=9+10)\nRunStructUnmarshal-8     675kB ± 0%     604kB ± 0%   -10.47%  (p=0.000 n=10+10)\nname                  old allocs/op  new allocs/op  delta\nRunMsgMarshal-8          5.54k ± 0%    47.20k ± 0%  +751.93%  (p=0.000 n=10+10)\nRunStructMarshal-8       5.76k ± 0%    57.27k ± 0%  +894.39%  (p=0.000 n=10+10)\nRunMsgUnmarshal-8        23.7k ± 0%     18.1k ± 0%   -23.47%  (p=0.000 n=10+10)\nRunStructUnmarshal-8     24.8k ± 0%     18.9k ± 0%   -23.64%  (p=0.000 n=9+10)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrenatus%2Fpb-bench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrenatus%2Fpb-bench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrenatus%2Fpb-bench/lists"}