{"id":18295508,"url":"https://github.com/librapid/benchmarkscpp","last_synced_at":"2025-07-23T15:07:50.987Z","repository":{"id":104013595,"uuid":"551605782","full_name":"LibRapid/BenchmarksCPP","owner":"LibRapid","description":"A Suite of C++ Benchmarks for LibRapid","archived":false,"fork":false,"pushed_at":"2023-11-07T22:07:30.000Z","size":28135,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-09T08:37:16.601Z","etag":null,"topics":["benchmark"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LibRapid.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":"2022-10-14T18:19:47.000Z","updated_at":"2023-08-15T07:35:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"ebe407e9-95c3-4fc7-ba50-aaf9728036f0","html_url":"https://github.com/LibRapid/BenchmarksCPP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LibRapid/BenchmarksCPP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibRapid%2FBenchmarksCPP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibRapid%2FBenchmarksCPP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibRapid%2FBenchmarksCPP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibRapid%2FBenchmarksCPP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LibRapid","download_url":"https://codeload.github.com/LibRapid/BenchmarksCPP/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibRapid%2FBenchmarksCPP/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266699794,"owners_count":23970564,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"],"created_at":"2024-11-05T14:36:05.575Z","updated_at":"2025-07-23T15:07:50.966Z","avatar_url":"https://github.com/LibRapid.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BenchmarksCPP\n\nA Suite of C++ Benchmarks for LibRapid, comparing it against [Eigen](https://gitlab.com/libeigen/eigen.git)\nand [XTensor](https://github.com/xtensor-stack/xtensor.git).\n\n## Contributing to Benchmarks\n\nIf you know how to increase the performance of ***any*** benchmarks here, please feel free to create a pull request with\nsome changes. Ideally, we'll be benchmarking the optimal performance of each of these libraries.\n\nAdditionally, I only have access to a single machine, so if you want to run the benchmark on your own machine and have\nthe results included, please create a pull request specifying the specs of your machine and the result of a given\nbenchmark!\n\n## The Benchmarks\n\nEach benchmark is contained in a different file, and can be found in `benchmarks/src/*.cpp`. If you want to change the\nconfiguration for a given benchmark, edit the JSON object for it in `main.cpp` and recompile the program.\n\nCurrent benchmarks include:\n\n- Arithmetic operations (currently just array-array addition)\n- Matrix transposition\n\n## Running the Benchmarks\n\nTo run the benchmarks, you can follow these steps:\n\n#### 1. Clone the repository\n\n```bash\ngit clone --recursive https://github.com/LibRapid/BenchmarksCPP.git\n```\n\n#### 2. Build the benchmarks\n\n```bash\ncd BenchmarksCPP\nmkdir build\ncd build\ncmake .. -DCMAKE_BUILD_TYPE=Release\ncmake --build . --config Release\n```\n\n#### 3. Run the benchmarks\n\nThe exact location of the executable will depend on your operating system, but it will be in the `build` directory.\n\n```bash\n# Linux\n./BenchmarkCPP\n\n# Windows\n./release/BenchmarkCPP.exe\n```\n\n#### 4. View the results\n\nThis repository contains some scripts to help interpret the results of the benchmarks. The executable writes the results\nto CSV files in the same directory as the executable. To plot the results, you can use the `dataProcessor.py` script in\n`./scripts/`.\n\nYou can use `--help` to see the available options.\n\nSimply specify an input file/directory and an output location, and the script will generate a plot for each benchmark.\nYou can specify whether to plot the graphs relative to a given library, or to plot the absolute performance.\n\n## Results\n\nThe benchmark results are stored as artefacts on LibRapid's CI pipeline, and can also be found on\nthe [LibRapid website](https://librapid.readthedocs.io/en/test/BenchmarkResults/BenchmarkResults.html)\n\n## Contributing to LibRapid\n\nLibRapid's goal is to be as fast as physically possible, while still presenting a simple-to-use interface.\n\nIf you want to improve LibRapid's performance, find a bug, or believe something is not fast enough, please feel free to\ncreate a pull request or file an issue. Additionally, if you need to talk with me or anyone else supporting the library,\nour [Discord](https://discord.gg/cGxTFTgCAC) server is a great place to ask questions and get help.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibrapid%2Fbenchmarkscpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibrapid%2Fbenchmarkscpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibrapid%2Fbenchmarkscpp/lists"}