{"id":21654812,"url":"https://github.com/localvoid/cxx-benchmark-itoa","last_synced_at":"2025-04-11T21:14:07.622Z","repository":{"id":6728748,"uuid":"7974660","full_name":"localvoid/cxx-benchmark-itoa","owner":"localvoid","description":"C++ itoa benchmark","archived":false,"fork":false,"pushed_at":"2013-09-15T03:29:57.000Z","size":372,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T21:14:01.517Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/localvoid.png","metadata":{"files":{"readme":"README.rst","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":"2013-02-02T10:45:48.000Z","updated_at":"2025-02-17T18:06:15.000Z","dependencies_parsed_at":"2022-09-09T04:22:48.568Z","dependency_job_id":null,"html_url":"https://github.com/localvoid/cxx-benchmark-itoa","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/localvoid%2Fcxx-benchmark-itoa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localvoid%2Fcxx-benchmark-itoa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localvoid%2Fcxx-benchmark-itoa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localvoid%2Fcxx-benchmark-itoa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/localvoid","download_url":"https://codeload.github.com/localvoid/cxx-benchmark-itoa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248480426,"owners_count":21110937,"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-25T08:29:08.344Z","updated_at":"2025-04-11T21:14:07.593Z","avatar_url":"https://github.com/localvoid.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"================\n itoa benchmark\n================\n\nIn this benchmark we are trying to find the fastest implementation of\n`itoa(uint64_t, char *buf)`\n\n\nCompiling\n=========\n\n::\n\n    $ mkdir build\n    $ cd build\n    $ cmake -DCMAKE_BUILD_TYPE=Release ..\n    $ make\n\nRunning Benchmarks\n==================\n\nTo run benchmarking script you need to install `R language\n\u003chttp://www.r-project.org/\u003e`_ and `ggplot2 \u003chttp://ggplot2.org/\u003e`_.\n\nMake sure that you `set cpu frequency\n\u003chttps://wiki.archlinux.org/index.php/CPU_Frequency_Scaling\u003e`_ to\nfixed value and disable any turbo mode, so the results of the\nbenchmark should be more accurate.\n\nAnd then you can run the benchmark. It will generate .png files in the\ncurrent directory.\n\n::\n\n    $ cd scripts\n    $ ./benchmark.sh\n\n\nBenchmark details\n=================\n\nEach algorithm is compiled in its own benchmarking application and\ntesting application.\n\nBenchmarking application support positional arguments:\n\n - inner loop counter [default=1]\n - number of digits [default=iterate through all possible values]\n\nTesting application can be launched in two modes: simple testing and\nrandom testing. For simple testing, just launch the application, and\nfor random testing launch application with an integer argument, it\nwill be used as a seed for random number generator.\n\nbenchmark.sh\n++++++++++++\n\nThis script run benchmarks in two modes(cold, hot) and collect data\nfrom it.\n\nIn the cold mode, it runs benchmark application for 10 times with\narguments (inner loop counter=1, digits=\u003call\nvalues for current integer size\u003e).\n\nIn the hot mode, it runs benchmark application for 100 times with\narguments (inner loop counter=100).\n\nAnd then generates graphical representation of the collected data. As\na time value it uses minimum of all time values for each (benchmark,\ndigits).\n\nBenchmarking results\n====================\n\nLinux 3.10.11, gcc 4.8.1 (core i5-3570k, intel_pstate)\n++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nCold\n----\n\n.. image:: https://raw.github.com/localvoid/cxx-benchmark-itoa/master/results/linux/gcc_4_8/i5_3570k/cold.png\n\nHot\n---\n\n.. image:: https://raw.github.com/localvoid/cxx-benchmark-itoa/master/results/linux/gcc_4_8/i5_3570k/hot.png\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalvoid%2Fcxx-benchmark-itoa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flocalvoid%2Fcxx-benchmark-itoa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalvoid%2Fcxx-benchmark-itoa/lists"}