{"id":20564543,"url":"https://github.com/tarantool/cbench","last_synced_at":"2025-04-14T15:13:01.032Z","repository":{"id":11246512,"uuid":"13643963","full_name":"tarantool/cbench","owner":"tarantool","description":"Tarantool C Bench - a simple tool to benchmark Tarantool internal API","archived":false,"fork":false,"pushed_at":"2022-04-05T19:26:16.000Z","size":48,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-04-14T15:12:52.529Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tarantool.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}},"created_at":"2013-10-17T09:02:16.000Z","updated_at":"2025-04-07T11:59:56.000Z","dependencies_parsed_at":"2022-09-14T21:00:50.278Z","dependency_job_id":null,"html_url":"https://github.com/tarantool/cbench","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarantool%2Fcbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarantool%2Fcbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarantool%2Fcbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarantool%2Fcbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tarantool","download_url":"https://codeload.github.com/tarantool/cbench/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248904637,"owners_count":21180835,"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-16T04:27:37.719Z","updated_at":"2025-04-14T15:13:01.003Z","avatar_url":"https://github.com/tarantool.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"Tarantool C Bench\n=================\n\n## Overview\n\nTarantool C Bench is a **simple tool to benchmark Tarantool internal API**. Tarantool (http://tarantool.org) is an efficient in-memory NoSQL database and a Lua application server, blended.\n\nThe tool is used internally by Tarantool team to check for performance regressions during development cycle. All workloads are written in C++. Lua (FFI) is only used to load \u0026 run workloads and display results (does not affect performance).\n\n[![Build Status](https://travis-ci.org/tarantool/cbench.png?branch=master)](https://travis-ci.org/tarantool/cbench)\n\n## Prerequisites\n\n * Tarantool 1.6.5+ with header files (tarantool \u0026\u0026 tarantool-dev packages)\n * libmsgpuck header files (libmsgpuck-dev package)\n\n## Installation\n\nClone repository and then build it using CMake:\n\n``` bash\ngit clone https://github.com/tarantool/cbench.git tarantool-cbench\ncd tarantool-cbench \u0026\u0026 cmake . -DCMAKE_BUILD_TYPE=RelWithDebugInfo\nmake\nmake install\n```\n\n## Usage\n\nModify workload configuration in bench-cfg.lua and run it:\n\n    $ ./bench-cfg.lua\n\nResults are printed to the console and `tarantool.log`:\n\n```\n2013-10-17 11:55:38.277 [26385] 101/init.lua I\u003e ----------------------------------\n2013-10-17 11:55:39.309 [26385] 101/init.lua I\u003e HASH NUM\n2013-10-17 11:55:39.309 [26385] 101/init.lua I\u003e ----------------------------------\n2013-10-17 11:55:39.309 [26385] 101/init.lua I\u003e replaces  : 1706523.16  rps\n2013-10-17 11:55:39.309 [26385] 101/init.lua I\u003e selects   : 2102669.76  rps\n2013-10-17 11:55:39.309 [26385] 101/init.lua I\u003e deletes   : 1690311.04  rps\n2013-10-17 11:55:39.309 [26385] 101/init.lua I\u003e ----------------------------------\n2013-10-17 11:55:41.933 [26385] 101/init.lua I\u003e HASH STR\n2013-10-17 11:55:41.933 [26385] 101/init.lua I\u003e ----------------------------------\n2013-10-17 11:55:41.933 [26385] 101/init.lua I\u003e replaces  : 1250570.18  rps\n2013-10-17 11:55:41.933 [26385] 101/init.lua I\u003e selects   : 1528495.59  rps\n2013-10-17 11:55:41.933 [26385] 101/init.lua I\u003e deletes   : 1150491.84  rps\n2013-10-17 11:55:41.933 [26385] 101/init.lua I\u003e ----------------------------------\n2013-10-17 11:56:33.537 [26385] 101/init.lua I\u003e Benchmark result saved to bench-result-1.6.0-203-ge116619-Linux-x86_64-Debug.json\n```\n\nA provided script also saves results in JSON format into a file in the current directory:\n\n     ~/tarantool/test/var $ cat *.json\n    [[\"HASH NUM\",[[\"replaces\",1706523.160216],[\"selects\",2102669.7558844],[\"deletes\",1690311.0366006]]],[\"HASH STR\",[[\"replaces\",1250570.1797105],[\"selects\",1528495.5941411],[\"deletes\",1150491.8403015]]]]\n\n\n## Feedback\n\nPlease report bugs at http://github.com/tarantool/tarantool/issues We also warmly welcome your feedback in the discussion mailing list, tarantool@googlegroups.com.\n\nThank you for your interest in Tarantool!\n\n## Microb integration\nTo interact with microbench service follow next steps:\n* Get api token from tarantool dev team\n* Add token into your build infrastructure\n* run `cbench_runner.lua`:\n```\ntarantool cbench_runner.lua \u003cAPI_TOKEN\u003e\n```\n* Result: you can see cbench in microb dashboard\n\nN.B.: tarantool-http module required for microb integration\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarantool%2Fcbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftarantool%2Fcbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarantool%2Fcbench/lists"}