dtcxzyw/llvm-opt-benchmark

An LLVM IR dataset for data-driven compiler optimization research

80

stars

16,783

commits

Mar 17, 2026

updated

dtcxzyw.github.io/llvm-opt-benchmark/
compiler-construction
llvm
llvm-ir

README

LLVM Opt Benchmark

IMPORTANT: This repository has moved to https://github.com/dtcxzyw/llvm-opt-benchmark-nightly.


CI GitHub repo size in bytes

LLVM Opt Benchmark is an LLVM IR dataset for data-driven compiler optimization research. This repository is also used by LLVM developers to evaluate the impact of their patches on real-world applications.

Don't submit PR to add new benchmarks. You can request new open-source C/C++/Rust repos here.

Please cite this work with the following BibTex entry:

@misc{opt-benchmark,
  title = {LLVM Opt Benchmark},
  url = {https://github.com/dtcxzyw/llvm-opt-benchmark},
  author = {Yingwei Zheng},
  year = {2023},
}

FAQs

LLVM developers use this corpus to assess the impact of your patches on real-world applications. If you see a link to this repository in your PR, it means that the target PR demonstrates some performance regressions or improvements caused by your changes. Here are some common questions you may have:

How can I reproduce the regression locally?

You should be able to reproduce the regression locally in the following steps:

# Apply your patch and rebuild opt.
...
# Download the source IR. Note that you should replace `optimized` with `original`.
wget https://raw.githubusercontent.com/dtcxzyw/llvm-opt-benchmark/refs/heads/main/bench/<program_name>/original/<file_name>.ll
# Run opt to generate the optimized IR.
bin/opt -O3 -disable-loop-unrolling -vectorize-loops=false -vectorize-slp=false -S <file_name>.ll -o opt.ll

Note that you don't need to clone the whole repository.

How can I evaluate my patch on this benchmark locally?

It is not recommended, as you can use the online service to evaluate your patch on GitHub if you have commit access to the LLVM repository.

You can use python3 ./scripts/gen_optimized.py bench <path-to-opt>. It will update the optimized IR files. Then you can review the diff with git.

The compile-time evaluation shows a huge impact on some files. What should I do?

Don't worry about it. If it doesn't affect the compile-time of the parent projects, it is generally acceptable. Otherwise, you may need to adjust the threshold or just handle simple cases.

What should I do when I see a regression?

Don't panic. Perfect is the enemy of good. We never ask the contributors to fix all the regressions before landing their patches.

Please follow the InstCombineContributorGuide to generalize your patch to cover the regression. If it doesn't work, try to find the pattern and file a separate issue. If it is hard to be caught by a separate transformation, try to bail out on the regression case. If we cannot make it better, the patch can still be accepted if the net effect is positive. Ask your reviewer to help you with the decision.

My method is expensive in compile time. But it shows some optimization opportunities. Should I abandon it?

Though we cannot accept the patch, we still encourage you to explore alternative approaches to handle the exposed optimization opportunities. As the distribution of the real-world code is not uniform, in general, a simple heuristic is good enough to cover most of the cases.

The evaluation result shows my patch has no effect on the benchmark. What does it mean?

We ask the issue reporter and the contributor to provide a motivating example from real-world scenarios. This benchmark only provides additional evidences to support the claim. It is highly recommended to run this benchmark if the real-world use case is missing, or it is found by fuzzers and super-optimizers. See also InstCombineContributorGuide.

The following patches may not be suitable for this benchmark:

  • SLPVectorizer/LoopVectorize/LoopUnroll patches. Vectorization and loop unrolling are disabled since the diff is huge and hard to review. The performance is highly dependent on the target machine so the running time may be more representative.
  • Sanitizer/Instrumentation/GPU patches. The related patterns are not included in this corpus.
  • Patches which handle scalable vectors. This corpus only contains fixed-width vectors (generated from X86 intrinsics).

Do the regressions in IR diff imply the run-time performance regressions?

Not necessarily. The IR diff is only a proxy for the run-time performance. Generally fewer instructions at IR level implies better analysis result and less instructions at run-time. However, it depends on the target micro-architecture and the LLVM CodeGen components. For example, a canonicalization in InstCombine may cause the SelectionDAG to not recognize certain patterns, leading to bad codegen. Please refer to llvm-codegen-benchmark for frequent isel patterns. Anyway, the run-time performance should be the golden metric. The IR diff only helps us to find the root cause of regressions.

In addition, most of IR snippets are not the hot paths in the real-world applications. I choose to keep all the source IR files instead of only keeping the hot spots, as it is useful for monitoring the code size changes, which is also critical for the frontend performance on modern devices. Another reason is that we cannot find the hot paths in large applications like LLVM and verilator-generated simulators. BTW the training data for PGO in some programs is unavailable or highly biased, you know :).

The IR diff looks weird. It contains some invalid instructions. Is it a bug?

Many IR diffs only change the name of instructions and basic blocks. Previously, I used llvm-diff to reduce meaningless changes. However, it is slow and ineffective. Now I use a heuristic name-remapping algorithm to reduce the noise. The algorithm can reduce up to 70% of line changes. However, as it works on textual diff and does not understand the semantics of LLVM IR, it may produce some invalid instructions. Please check the raw diff in the previous commit pre-commit: Update.

The IR diff contains hundreds of file changes. How can I review it efficiently?

To fit the GitHub's limit of diff rendering, only part of the files are picked to be committed. It is chosen by a heuristic algorithm to improve the diversity of the dataset.

In the diff mode, a summary of the diff is also provided. It contains some key information to allow you to quickly review the changes:

  • The number of files changed, lines added and removed (provided by git diff --shortstat). It is different from the numbers on the GitHub page, as it counts the statistics before diff reduction.
  • A summary of the top-10 LLVM statistics changes.
  • The number of line changes in each file (provided by git show <base>..HEAD --numstat --oneline). You can use this to quickly find the file with the most line additions or deletions (e.g., cat log | awk '{print $1 - $2, $3}' | sort -n).
  • A summary from LLM (powered by Qwen). It provides a high-level overview of the changes. However, it always gives a positive response, so it may not be very useful. You can use it to find the files that are worth reviewing in detail.

From my own experience, the patterns are likely to be similar in the same project. So you can skip the whole project after you review the first few files in the same project. If your patch optimizes the C++/Rust standard library and other widely-used libraries, you can also skip the files with similar bb names in the hunk header (e.g., _ZNSt6vector...).

The IR diff is totally unrelated to my patch. Why?

Your changes may break existing optimizations. Please reproduce it locally and try to provide a minimal phase-ordering regression test. Then follow the instructions for dealing with regressions above.

Online services (previously hosted by PLCT Lab, ISCAS/currently hosted by SUSTech ARiSE Lab)

Special Acknowledgement: Thank @goldsteinn for providing additional computational resources to meet the growing demand for testing!

  • Fuzzy DAG matching

    Please file an issue to provide LLVM IR with a single function. I will add the grep label to trigger CI.

    Example: https://github.com/dtcxzyw/llvm-opt-benchmark/issues/1072

  • Middle-end optimization pre-commit testing

    Ping me if you want to see what is affected by your PR. It is useful for reviewers to find potential performance regressions and new optimization opportunities.

    For convenience, all llvm members are authorized to request pre-commit tests in https://github.com/dtcxzyw/llvm-opt-benchmark/issues/1312. Some basic PR editing commands are also supported by leaving a comment starts with /:

    • /close : Close the PR
    • /reopen: Reopen the PR
    • /add-label labels: Add labels (separated by comma). Available labels: reviewed, regression, crash, hang and miscompilation.
    • /remove-label labels: Remove labels.
  • Codegen pre-commit testing

    See also llvm-codegen-benchmark.

  • Weekly coverage report:

    https://dtcxzyw.github.io/llvm-opt-benchmark/

Benchmark List

Currently, this repository contains the following libraries/applications:

NameLanguageStarsLast UpdatedActive Files
abcCstars2025-01-02904
bdwgcCstars2025-02-014
box2dCstars2025-01-2776
brotliCstars2025-01-3119
c3cCstars2024-04-1656
chibiccCstars2020-12-078
cjsonCstars2024-09-232
clamavCstars2025-02-03219
cmakeCstars2025-02-04613
coremarkCstars2023-01-243
cpythonCstars2025-02-03237
curlCstars2025-02-03101
darktableCstars2025-02-03384
ffmpegCstars2025-05-191723
flacCstars2025-02-0346
freetypeCstars2025-01-2829
gitCstars2025-02-03299
graphvizCstars2025-02-10213
hdf5Cstars2025-02-14314
hwlocCstars2025-02-1339
jemallocCstars2025-02-1339
jqCstars2025-02-1639
kcpCstars2024-12-011
lean4Cstars2025-05-201029
libdeflateCstars2025-01-2010
libeventCstars2025-02-0324
libjpeg-turboCstars2024-12-1867
libpngCstars2025-02-1214
libquicCstars2016-09-22351
libsodiumCstars2025-01-2656
libuvCstars2025-02-1723
libwebpCstars2025-01-3093
linuxCstars2024-02-291138
luaCstars2025-01-2929
luajitCstars2025-01-1363
lvglCstars2025-02-17108
lz4Cstars2025-02-039
memcachedCstars2025-02-0425
mimallocCstars2025-02-1715
miniaudioCstars2023-11-151
nanosvgCstars2024-12-191
nuklearCstars2025-02-071
nuttxCstars2024-03-0460
ompiCstars2025-02-14218
onigurumaCstars2025-02-1118
openblasCstars2025-02-17289
opensslCstars2025-02-18922
osqpCstars2025-02-1316
php-srcCstars2025-02-17335
portaudioCstars2025-02-0811
postgresCstars2025-02-18772
qemuCstars2025-02-1644
qoiCstars2025-02-121
quickjsCstars2024-07-278
raylibCstars2025-02-177
redisCstars2025-02-16137
riscv-isa-simCstars2025-02-12910
rubyCstars2025-02-18169
sdlCstars2025-05-19225
slurmCstars2025-02-17275
sqliteCstars2025-02-183
stbCstars2024-11-0817
sundialsCstars2024-12-20179
wiresharkCstars2025-02-181355
wolfsslCstars2025-02-1739
yyjsonCstars2025-02-121
zlibCstars2025-02-1312
zstdCstars2025-02-1330
abseil-cppC++stars2025-02-15316
annoyC++stars2024-07-281
arrowC++stars2025-02-17164
assimpC++stars2025-02-17205
boostC++stars2024-10-25343
bullet3C++stars2025-01-29181
casadiC++stars2025-02-18189
ceres-solverC++stars2025-02-17118
cpp-httplibC++stars2025-02-171
crowC++stars2025-02-1013
csmithC++stars2023-11-0258
cvc5C++stars2025-02-17653
cxxoptsC++stars2025-01-141
double-conversionC++stars2025-02-147
dracoC++stars2025-01-2879
duckdbC++stars2025-02-18205
eastlC++stars2023-08-1682
enttC++stars2025-02-1472
evmoneC++stars2025-09-2928
faissC++stars2025-02-14159
flatbuffersC++stars2025-02-1035
fmtC++stars2025-02-1425
follyC++stars2025-02-17211
g2oC++stars2025-02-09122
glogC++stars2025-02-1618
glslangC++stars2024-06-2537
gromacsC++stars2025-02-24760
grpcC++stars2025-02-24305
gslC++stars2025-02-1412
harfbuzzC++stars2025-02-2313
hermesC++stars2023-12-15217
hyperscanC++stars2023-04-19194
icuC++stars2025-02-21410
imguiC++stars2025-02-225
ipoptC++stars2025-02-23102
jsonC++stars2025-02-2175
jsonnetC++stars2025-02-2316
libcxxC++stars2025-05-2055
libiglC++stars2025-05-14449
libphonenumberC++stars2025-02-1333
libzmqC++stars2024-12-3069
liefC++stars2025-02-23307
lightgbmC++stars2025-02-2431
llama.cppC++stars2025-02-2337
llvm-projectC++stars2025-02-032120
lodepngC++stars2024-12-283
luauC++stars2025-02-21149
meshlabC++stars2024-02-13198
meshoptimizerC++stars2025-02-2115
minetestC++stars2024-03-26307
mitsuba3C++stars2024-03-22152
mixboxC++stars2022-12-161
moldC++stars2025-02-2179
msdfgenC++stars2024-01-0613
msgpack-cC++stars2025-02-2119
nanobindC++stars2025-02-2124
ncnnC++stars2025-02-20353
nghttp2C++stars2025-02-1814
ninjaC++stars2025-02-1958
nixC++stars2024-03-06210
nodeC++stars2023-12-17146
noriC++stars2023-11-1545
open3dC++stars2025-04-03383
open_spielC++stars2024-08-27249
openccC++stars2025-02-1221
opencolorioC++stars2025-02-10169
opencvC++stars2025-02-251485
openexrC++stars2025-02-18119
openimageioC++stars2025-02-25100
openjdkC++stars2024-07-161014
openusdC++stars2024-07-24841
openvdbC++stars2023-12-0633
ozz-animationC++stars2025-01-1938
pbrt-v4C++stars2025-01-3060
pcg-cppC++stars2022-04-086
pocketpyC++stars2024-06-2026
projC++stars2025-02-22137
protobufC++stars2023-12-15112
proxyC++stars2024-05-225
proxygenC++stars2023-12-1675
pugixmlC++stars2025-02-191
quantlibC++stars2024-09-10854
questC++stars2025-02-086
re2C++stars2023-12-1416
readerwriterqueueC++stars2024-07-091
recastnavigationC++stars2024-01-2845
rocksdbC++stars2025-02-26309
sentencepieceC++stars2025-02-2750
simdjsonC++stars2025-02-211
snappyC++stars2024-08-171
soc-simulatorC++stars2024-06-255
spdlogC++stars2025-02-117
stockfishC++stars2024-03-0314
taskflowC++stars2025-02-2139
tevC++stars2024-01-1222
tinygltfC++stars2025-01-221
tinympcC++stars2025-02-118
tinyobjloaderC++stars2025-01-291
tinyrendererC++stars2025-02-214
tomlplusplusC++stars2025-02-271
vcpkg-toolC++stars2025-02-27137
veloxC++stars2023-12-15160
verilatorC++stars2025-03-02141
wasmedgeC++stars2024-07-1565
xgboostC++stars2025-03-01103
yalantinglibsC++stars2023-12-1752
yaml-cppC++stars2025-01-2428
yogaC++stars2025-02-2712
yosysC++stars2025-03-01310
z3C++stars2025-02-28772
zfpC++stars2025-02-1235
zxing-cppC++stars2025-02-1993
actix-webRuststars2024-04-15106
ankiRuststars2024-06-246
clapRuststars2024-03-0118
coreutilsRuststars2024-04-23624
dekuRuststars2025-05-163
delta-rsRuststars2024-04-23117
dieselRuststars2024-03-01217
eggRuststars2024-08-3012
elfshakerRuststars2025-05-0916
fish-shellRuststars2025-05-1922
foundationsRuststars2025-05-1915
html5everRuststars2023-09-0639
hyperRuststars2024-03-024
imageRuststars2024-02-2216
influxdbRuststars2024-03-0142
jiffRuststars2025-05-1816
jsonRuststars2024-01-1115
justRuststars2024-04-0116
logRuststars2024-02-291
logosRuststars2024-06-1026
meilisearchRuststars2024-06-2543
mini-lsmRuststars2024-02-2645
nomRuststars2024-04-214
ockamRuststars2024-04-22274
pingoraRuststars2025-05-0999
polarsRuststars2025-05-19282
pyo3Ruststars2024-06-2422
qdrantRuststars2024-03-1938
quicheRuststars2025-05-1962
quinnRuststars2025-05-2043
raft-rsRuststars2025-02-2823
randRuststars2024-02-187
rayonRuststars2024-02-2718
regexRuststars2024-01-1044
ringRuststars2024-03-0316
ripgrepRuststars2024-03-2784
ropeyRuststars2024-04-0815
ruffRuststars2025-05-19333
rust-analyzerRuststars2024-04-22461
rust-base64Ruststars2024-03-015
rustfmtRuststars2024-03-0416
rustlsRuststars2024-03-0715
salsaRuststars2025-05-1916
serdeRuststars2024-01-081
smolRuststars2024-03-0416
softposit-rsRuststars2022-12-1410
statrsRuststars2024-06-2415
synRuststars2024-01-1316
tikvRuststars2025-05-207
tokenizersRuststars2024-05-0616
tokioRuststars2024-03-0438
tree-sitterRuststars2024-03-0880
turborepoRuststars2024-10-0352
typstRuststars2024-03-2581
unicode-normalizationRuststars2024-03-032
uvRuststars2025-05-19521
wasmiRuststars2025-05-1768
wasmtimeRuststars2024-04-22265
yara-xRuststars2025-08-0894
zedRuststars2024-10-041187

Contributors

github-actions[bot]

16,099 commits

dtcxzyw

680 commits

goldsteinn

3 commits

zyw-bot

1 commits

dtcxzyw/llvm-opt-benchmark

An LLVM IR dataset for data-driven compiler optimization research

80

stars

16,783

commits

Mar 17, 2026

updated

dtcxzyw.github.io/llvm-opt-benchmark/
compiler-construction
llvm
llvm-ir

README

LLVM Opt Benchmark

IMPORTANT: This repository has moved to https://github.com/dtcxzyw/llvm-opt-benchmark-nightly.


CI GitHub repo size in bytes

LLVM Opt Benchmark is an LLVM IR dataset for data-driven compiler optimization research. This repository is also used by LLVM developers to evaluate the impact of their patches on real-world applications.

Don't submit PR to add new benchmarks. You can request new open-source C/C++/Rust repos here.

Please cite this work with the following BibTex entry:

@misc{opt-benchmark,
  title = {LLVM Opt Benchmark},
  url = {https://github.com/dtcxzyw/llvm-opt-benchmark},
  author = {Yingwei Zheng},
  year = {2023},
}

FAQs

LLVM developers use this corpus to assess the impact of your patches on real-world applications. If you see a link to this repository in your PR, it means that the target PR demonstrates some performance regressions or improvements caused by your changes. Here are some common questions you may have:

How can I reproduce the regression locally?

You should be able to reproduce the regression locally in the following steps:

# Apply your patch and rebuild opt.
...
# Download the source IR. Note that you should replace `optimized` with `original`.
wget https://raw.githubusercontent.com/dtcxzyw/llvm-opt-benchmark/refs/heads/main/bench/<program_name>/original/<file_name>.ll
# Run opt to generate the optimized IR.
bin/opt -O3 -disable-loop-unrolling -vectorize-loops=false -vectorize-slp=false -S <file_name>.ll -o opt.ll

Note that you don't need to clone the whole repository.

How can I evaluate my patch on this benchmark locally?

It is not recommended, as you can use the online service to evaluate your patch on GitHub if you have commit access to the LLVM repository.

You can use python3 ./scripts/gen_optimized.py bench <path-to-opt>. It will update the optimized IR files. Then you can review the diff with git.

The compile-time evaluation shows a huge impact on some files. What should I do?

Don't worry about it. If it doesn't affect the compile-time of the parent projects, it is generally acceptable. Otherwise, you may need to adjust the threshold or just handle simple cases.

What should I do when I see a regression?

Don't panic. Perfect is the enemy of good. We never ask the contributors to fix all the regressions before landing their patches.

Please follow the InstCombineContributorGuide to generalize your patch to cover the regression. If it doesn't work, try to find the pattern and file a separate issue. If it is hard to be caught by a separate transformation, try to bail out on the regression case. If we cannot make it better, the patch can still be accepted if the net effect is positive. Ask your reviewer to help you with the decision.

My method is expensive in compile time. But it shows some optimization opportunities. Should I abandon it?

Though we cannot accept the patch, we still encourage you to explore alternative approaches to handle the exposed optimization opportunities. As the distribution of the real-world code is not uniform, in general, a simple heuristic is good enough to cover most of the cases.

The evaluation result shows my patch has no effect on the benchmark. What does it mean?

We ask the issue reporter and the contributor to provide a motivating example from real-world scenarios. This benchmark only provides additional evidences to support the claim. It is highly recommended to run this benchmark if the real-world use case is missing, or it is found by fuzzers and super-optimizers. See also InstCombineContributorGuide.

The following patches may not be suitable for this benchmark:

  • SLPVectorizer/LoopVectorize/LoopUnroll patches. Vectorization and loop unrolling are disabled since the diff is huge and hard to review. The performance is highly dependent on the target machine so the running time may be more representative.
  • Sanitizer/Instrumentation/GPU patches. The related patterns are not included in this corpus.
  • Patches which handle scalable vectors. This corpus only contains fixed-width vectors (generated from X86 intrinsics).

Do the regressions in IR diff imply the run-time performance regressions?

Not necessarily. The IR diff is only a proxy for the run-time performance. Generally fewer instructions at IR level implies better analysis result and less instructions at run-time. However, it depends on the target micro-architecture and the LLVM CodeGen components. For example, a canonicalization in InstCombine may cause the SelectionDAG to not recognize certain patterns, leading to bad codegen. Please refer to llvm-codegen-benchmark for frequent isel patterns. Anyway, the run-time performance should be the golden metric. The IR diff only helps us to find the root cause of regressions.

In addition, most of IR snippets are not the hot paths in the real-world applications. I choose to keep all the source IR files instead of only keeping the hot spots, as it is useful for monitoring the code size changes, which is also critical for the frontend performance on modern devices. Another reason is that we cannot find the hot paths in large applications like LLVM and verilator-generated simulators. BTW the training data for PGO in some programs is unavailable or highly biased, you know :).

The IR diff looks weird. It contains some invalid instructions. Is it a bug?

Many IR diffs only change the name of instructions and basic blocks. Previously, I used llvm-diff to reduce meaningless changes. However, it is slow and ineffective. Now I use a heuristic name-remapping algorithm to reduce the noise. The algorithm can reduce up to 70% of line changes. However, as it works on textual diff and does not understand the semantics of LLVM IR, it may produce some invalid instructions. Please check the raw diff in the previous commit pre-commit: Update.

The IR diff contains hundreds of file changes. How can I review it efficiently?

To fit the GitHub's limit of diff rendering, only part of the files are picked to be committed. It is chosen by a heuristic algorithm to improve the diversity of the dataset.

In the diff mode, a summary of the diff is also provided. It contains some key information to allow you to quickly review the changes:

  • The number of files changed, lines added and removed (provided by git diff --shortstat). It is different from the numbers on the GitHub page, as it counts the statistics before diff reduction.
  • A summary of the top-10 LLVM statistics changes.
  • The number of line changes in each file (provided by git show <base>..HEAD --numstat --oneline). You can use this to quickly find the file with the most line additions or deletions (e.g., cat log | awk '{print $1 - $2, $3}' | sort -n).
  • A summary from LLM (powered by Qwen). It provides a high-level overview of the changes. However, it always gives a positive response, so it may not be very useful. You can use it to find the files that are worth reviewing in detail.

From my own experience, the patterns are likely to be similar in the same project. So you can skip the whole project after you review the first few files in the same project. If your patch optimizes the C++/Rust standard library and other widely-used libraries, you can also skip the files with similar bb names in the hunk header (e.g., _ZNSt6vector...).

The IR diff is totally unrelated to my patch. Why?

Your changes may break existing optimizations. Please reproduce it locally and try to provide a minimal phase-ordering regression test. Then follow the instructions for dealing with regressions above.

Online services (previously hosted by PLCT Lab, ISCAS/currently hosted by SUSTech ARiSE Lab)

Special Acknowledgement: Thank @goldsteinn for providing additional computational resources to meet the growing demand for testing!

  • Fuzzy DAG matching

    Please file an issue to provide LLVM IR with a single function. I will add the grep label to trigger CI.

    Example: https://github.com/dtcxzyw/llvm-opt-benchmark/issues/1072

  • Middle-end optimization pre-commit testing

    Ping me if you want to see what is affected by your PR. It is useful for reviewers to find potential performance regressions and new optimization opportunities.

    For convenience, all llvm members are authorized to request pre-commit tests in https://github.com/dtcxzyw/llvm-opt-benchmark/issues/1312. Some basic PR editing commands are also supported by leaving a comment starts with /:

    • /close : Close the PR
    • /reopen: Reopen the PR
    • /add-label labels: Add labels (separated by comma). Available labels: reviewed, regression, crash, hang and miscompilation.
    • /remove-label labels: Remove labels.
  • Codegen pre-commit testing

    See also llvm-codegen-benchmark.

  • Weekly coverage report:

    https://dtcxzyw.github.io/llvm-opt-benchmark/

Benchmark List

Currently, this repository contains the following libraries/applications:

NameLanguageStarsLast UpdatedActive Files
abcCstars2025-01-02904
bdwgcCstars2025-02-014
box2dCstars2025-01-2776
brotliCstars2025-01-3119
c3cCstars2024-04-1656
chibiccCstars2020-12-078
cjsonCstars2024-09-232
clamavCstars2025-02-03219
cmakeCstars2025-02-04613
coremarkCstars2023-01-243
cpythonCstars2025-02-03237
curlCstars2025-02-03101
darktableCstars2025-02-03384
ffmpegCstars2025-05-191723
flacCstars2025-02-0346
freetypeCstars2025-01-2829
gitCstars2025-02-03299
graphvizCstars2025-02-10213
hdf5Cstars2025-02-14314
hwlocCstars2025-02-1339
jemallocCstars2025-02-1339
jqCstars2025-02-1639
kcpCstars2024-12-011
lean4Cstars2025-05-201029
libdeflateCstars2025-01-2010
libeventCstars2025-02-0324
libjpeg-turboCstars2024-12-1867
libpngCstars2025-02-1214
libquicCstars2016-09-22351
libsodiumCstars2025-01-2656
libuvCstars2025-02-1723
libwebpCstars2025-01-3093
linuxCstars2024-02-291138
luaCstars2025-01-2929
luajitCstars2025-01-1363
lvglCstars2025-02-17108
lz4Cstars2025-02-039
memcachedCstars2025-02-0425
mimallocCstars2025-02-1715
miniaudioCstars2023-11-151
nanosvgCstars2024-12-191
nuklearCstars2025-02-071
nuttxCstars2024-03-0460
ompiCstars2025-02-14218
onigurumaCstars2025-02-1118
openblasCstars2025-02-17289
opensslCstars2025-02-18922
osqpCstars2025-02-1316
php-srcCstars2025-02-17335
portaudioCstars2025-02-0811
postgresCstars2025-02-18772
qemuCstars2025-02-1644
qoiCstars2025-02-121
quickjsCstars2024-07-278
raylibCstars2025-02-177
redisCstars2025-02-16137
riscv-isa-simCstars2025-02-12910
rubyCstars2025-02-18169
sdlCstars2025-05-19225
slurmCstars2025-02-17275
sqliteCstars2025-02-183
stbCstars2024-11-0817
sundialsCstars2024-12-20179
wiresharkCstars2025-02-181355
wolfsslCstars2025-02-1739
yyjsonCstars2025-02-121
zlibCstars2025-02-1312
zstdCstars2025-02-1330
abseil-cppC++stars2025-02-15316
annoyC++stars2024-07-281
arrowC++stars2025-02-17164
assimpC++stars2025-02-17205
boostC++stars2024-10-25343
bullet3C++stars2025-01-29181
casadiC++stars2025-02-18189
ceres-solverC++stars2025-02-17118
cpp-httplibC++stars2025-02-171
crowC++stars2025-02-1013
csmithC++stars2023-11-0258
cvc5C++stars2025-02-17653
cxxoptsC++stars2025-01-141
double-conversionC++stars2025-02-147
dracoC++stars2025-01-2879
duckdbC++stars2025-02-18205
eastlC++stars2023-08-1682
enttC++stars2025-02-1472
evmoneC++stars2025-09-2928
faissC++stars2025-02-14159
flatbuffersC++stars2025-02-1035
fmtC++stars2025-02-1425
follyC++stars2025-02-17211
g2oC++stars2025-02-09122
glogC++stars2025-02-1618
glslangC++stars2024-06-2537
gromacsC++stars2025-02-24760
grpcC++stars2025-02-24305
gslC++stars2025-02-1412
harfbuzzC++stars2025-02-2313
hermesC++stars2023-12-15217
hyperscanC++stars2023-04-19194
icuC++stars2025-02-21410
imguiC++stars2025-02-225
ipoptC++stars2025-02-23102
jsonC++stars2025-02-2175
jsonnetC++stars2025-02-2316
libcxxC++stars2025-05-2055
libiglC++stars2025-05-14449
libphonenumberC++stars2025-02-1333
libzmqC++stars2024-12-3069
liefC++stars2025-02-23307
lightgbmC++stars2025-02-2431
llama.cppC++stars2025-02-2337
llvm-projectC++stars2025-02-032120
lodepngC++stars2024-12-283
luauC++stars2025-02-21149
meshlabC++stars2024-02-13198
meshoptimizerC++stars2025-02-2115
minetestC++stars2024-03-26307
mitsuba3C++stars2024-03-22152
mixboxC++stars2022-12-161
moldC++stars2025-02-2179
msdfgenC++stars2024-01-0613
msgpack-cC++stars2025-02-2119
nanobindC++stars2025-02-2124
ncnnC++stars2025-02-20353
nghttp2C++stars2025-02-1814
ninjaC++stars2025-02-1958
nixC++stars2024-03-06210
nodeC++stars2023-12-17146
noriC++stars2023-11-1545
open3dC++stars2025-04-03383
open_spielC++stars2024-08-27249
openccC++stars2025-02-1221
opencolorioC++stars2025-02-10169
opencvC++stars2025-02-251485
openexrC++stars2025-02-18119
openimageioC++stars2025-02-25100
openjdkC++stars2024-07-161014
openusdC++stars2024-07-24841
openvdbC++stars2023-12-0633
ozz-animationC++stars2025-01-1938
pbrt-v4C++stars2025-01-3060
pcg-cppC++stars2022-04-086
pocketpyC++stars2024-06-2026
projC++stars2025-02-22137
protobufC++stars2023-12-15112
proxyC++stars2024-05-225
proxygenC++stars2023-12-1675
pugixmlC++stars2025-02-191
quantlibC++stars2024-09-10854
questC++stars2025-02-086
re2C++stars2023-12-1416
readerwriterqueueC++stars2024-07-091
recastnavigationC++stars2024-01-2845
rocksdbC++stars2025-02-26309
sentencepieceC++stars2025-02-2750
simdjsonC++stars2025-02-211
snappyC++stars2024-08-171
soc-simulatorC++stars2024-06-255
spdlogC++stars2025-02-117
stockfishC++stars2024-03-0314
taskflowC++stars2025-02-2139
tevC++stars2024-01-1222
tinygltfC++stars2025-01-221
tinympcC++stars2025-02-118
tinyobjloaderC++stars2025-01-291
tinyrendererC++stars2025-02-214
tomlplusplusC++stars2025-02-271
vcpkg-toolC++stars2025-02-27137
veloxC++stars2023-12-15160
verilatorC++stars2025-03-02141
wasmedgeC++stars2024-07-1565
xgboostC++stars2025-03-01103
yalantinglibsC++stars2023-12-1752
yaml-cppC++stars2025-01-2428
yogaC++stars2025-02-2712
yosysC++stars2025-03-01310
z3C++stars2025-02-28772
zfpC++stars2025-02-1235
zxing-cppC++stars2025-02-1993
actix-webRuststars2024-04-15106
ankiRuststars2024-06-246
clapRuststars2024-03-0118
coreutilsRuststars2024-04-23624
dekuRuststars2025-05-163
delta-rsRuststars2024-04-23117
dieselRuststars2024-03-01217
eggRuststars2024-08-3012
elfshakerRuststars2025-05-0916
fish-shellRuststars2025-05-1922
foundationsRuststars2025-05-1915
html5everRuststars2023-09-0639
hyperRuststars2024-03-024
imageRuststars2024-02-2216
influxdbRuststars2024-03-0142
jiffRuststars2025-05-1816
jsonRuststars2024-01-1115
justRuststars2024-04-0116
logRuststars2024-02-291
logosRuststars2024-06-1026
meilisearchRuststars2024-06-2543
mini-lsmRuststars2024-02-2645
nomRuststars2024-04-214
ockamRuststars2024-04-22274
pingoraRuststars2025-05-0999
polarsRuststars2025-05-19282
pyo3Ruststars2024-06-2422
qdrantRuststars2024-03-1938
quicheRuststars2025-05-1962
quinnRuststars2025-05-2043
raft-rsRuststars2025-02-2823
randRuststars2024-02-187
rayonRuststars2024-02-2718
regexRuststars2024-01-1044
ringRuststars2024-03-0316
ripgrepRuststars2024-03-2784
ropeyRuststars2024-04-0815
ruffRuststars2025-05-19333
rust-analyzerRuststars2024-04-22461
rust-base64Ruststars2024-03-015
rustfmtRuststars2024-03-0416
rustlsRuststars2024-03-0715
salsaRuststars2025-05-1916
serdeRuststars2024-01-081
smolRuststars2024-03-0416
softposit-rsRuststars2022-12-1410
statrsRuststars2024-06-2415
synRuststars2024-01-1316
tikvRuststars2025-05-207
tokenizersRuststars2024-05-0616
tokioRuststars2024-03-0438
tree-sitterRuststars2024-03-0880
turborepoRuststars2024-10-0352
typstRuststars2024-03-2581
unicode-normalizationRuststars2024-03-032
uvRuststars2025-05-19521
wasmiRuststars2025-05-1768
wasmtimeRuststars2024-04-22265
yara-xRuststars2025-08-0894
zedRuststars2024-10-041187

Contributors

github-actions[bot]

16,099 commits

dtcxzyw

680 commits

goldsteinn

3 commits

zyw-bot

1 commits