{"id":19252439,"url":"https://github.com/ssciwr/high-performance-cpp","last_synced_at":"2025-08-13T19:18:42.307Z","repository":{"id":37960978,"uuid":"457425916","full_name":"ssciwr/high-performance-cpp","owner":"ssciwr","description":"High Performance C++ [SSC Compact Course]","archived":false,"fork":false,"pushed_at":"2025-04-07T17:24:33.000Z","size":1843,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-21T13:38:46.830Z","etag":null,"topics":["cpp","performance","ssc-compact-course"],"latest_commit_sha":null,"homepage":"https://ssciwr.github.io/high-performance-cpp","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/ssciwr.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-02-09T15:53:59.000Z","updated_at":"2024-10-08T06:42:58.000Z","dependencies_parsed_at":"2024-01-04T10:30:32.708Z","dependency_job_id":"2657cfad-6330-468f-85c0-48d5036193a4","html_url":"https://github.com/ssciwr/high-performance-cpp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ssciwr/high-performance-cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssciwr%2Fhigh-performance-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssciwr%2Fhigh-performance-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssciwr%2Fhigh-performance-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssciwr%2Fhigh-performance-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ssciwr","download_url":"https://codeload.github.com/ssciwr/high-performance-cpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssciwr%2Fhigh-performance-cpp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260268632,"owners_count":22983601,"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":["cpp","performance","ssc-compact-course"],"created_at":"2024-11-09T18:26:51.314Z","updated_at":"2025-06-17T00:36:47.900Z","avatar_url":"https://github.com/ssciwr.png","language":"C++","readme":"# High Performance C++\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/ssciwr/high-performance-cpp/ci.yml?branch=main)](https://github.com/ssciwr/high-performance-cpp/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/ssciwr/high-performance-cpp/branch/main/graph/badge.svg)](https://codecov.io/gh/ssciwr/high-performance-cpp)\n\n## Slides\n\n\u003ciframe src=\"https://docs.google.com/presentation/d/e/2PACX-1vSsQgXEWShyBmv29hURbcjWcCXJmAKv-PvT-6vIaIHqgV33GyhPa8tWnzT8fM1Gl3XzEXjzpfuWieXS/embed?start=false\u0026loop=false\u0026delayms=3000\" frameborder=\"0\" width=\"960\" height=\"569\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"\u003e\u003c/iframe\u003e\n\n[download slides as pdf](https://github.com/ssciwr/high-performance-cpp/raw/main/slides/slides.pdf) | [download course description as pdf](https://ssc.iwr.uni-heidelberg.de/sites/default/files/high-performance-cpp-ss22.pdf)\n\n## Getting started\n\nTo clone the repo, compile the code and run the benchmarks:\n\n```\ngit clone --recursive https://github.com/ssciwr/high-performance-cpp.git\ncd high-performance-cpp\nmkdir build\ncd build\ncmake -DCMAKE_BUILD_TYPE=Release ..\ncmake --build .\n./bench/bench\n```\n\nNotes\n\n- CMake 3.16 gave a `target \"BLAS::BLAS\"` error on Ubuntu (see [#13](https://github.com/ssciwr/high-performance-cpp/issues/13))\n  - Using a more recent CMake version is one solution to this problem\n- Apple clang on M1 mac doesn't support the `-march=native` flag\n  - Possible alternatives: `-mcpu=apple-m1` or `-mcpu=apple-a14`\n  - `-march=native` will be supported by on M1 by clang 15\n\n## Plots\n\nList versus Vector inserting elements:\n\n![](plots/data_structure-llvm.png)\n![](plots/data_structure-gcc.png)\n\nMatrix-vector multiplication:\n\n![](plots/matmul-llvm.png)\n![](plots/matmul-gcc.png)\n\nStruct of Arrays versus Array of Structs:\n\n![](plots/particles_m-llvm.png)\n![](plots/particles_m-gcc.png)\n\n![](plots/particles_xy-llvm.png)\n![](plots/particles_xy-gcc.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssciwr%2Fhigh-performance-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssciwr%2Fhigh-performance-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssciwr%2Fhigh-performance-cpp/lists"}