Statistics on the world’s largest C++ GitHub monorepos
All | TypeScript | JavaScript | Java | C++ |
The following list of repositories was selected because of one of the following:
- They are in the top 38 C++ repositories over 200 MB and 2000 stars, sorted by stars.*
- They are defined in
extraRepos
in the config.json.
The highest number in each column is highlighted
Repo | C++ LOC | Repo Size | Monthly commit count | 🤓 Monthly committer count | ★ Stars count | 👁 Watchers count |
---|---|---|---|---|---|---|
freebsd/freebsd-src | 2,764,261 | 2.35 GB | 631 | 🤓 114 | ★ 6155 | 👁 6155 |
gcc-mirror/gcc | 1,127,319 | 3.09 GB | 704 | 🤓 105 | ★ 5634 | 👁 5634 |
catboost/catboost | 702,974 | 852 MB | 587 | 🤓 73 | ★ 6208 | 👁 6208 |
reactos/reactos | 446,911 | 569 MB | 56 | 🤓 22 | ★ 10072 | 👁 10072 |
yugabyte/yugabyte-db | 399,919 | 300 MB | 236 | 🤓 69 | ★ 5790 | 👁 5790 |
emscripten-core/emscripten | 274,797 | 246 MB | 124 | 🤓 12 | ★ 21422 | 👁 21422 |
audacity/audacity | 223,569 | 247 MB | 81 | 🤓 11 | ★ 6651 | 👁 6651 |
greenplum-db/gpdb | 180,070 | 610 MB | 29 | 🤓 34 | ★ 4860 | 👁 4860 |
sumatrapdfreader/sumatrapdf | 167,683 | 276 MB | 29 | 🤓 1 | ★ 7354 | 👁 7354 |
libretro/RetroArch | 145,932 | 342 MB | 217 | 🤓 18 | ★ 6003 | 👁 6003 |
videolan/vlc | 103,476 | 523 MB | 145 | 🤓 24 | ★ 8207 | 👁 8207 |
offensive-security/exploitdb | 37,815 | 303 MB | 18 | 🤓 1 | ★ 6625 | 👁 6625 |
espressif/arduino-esp32 | 26,486 | 1.04 GB | 37 | 🤓 17 | ★ 7605 | 👁 7605 |
OpenAtomFoundation/TencentOS-tiny | 23,979 | 371 MB | 8 | 🤓 1 | ★ 5253 | 👁 5253 |
qemu/qemu | 18,208 | 361 MB | 418 | 🤓 111 | ★ 5422 | 👁 5422 |
deepmind/lab | 17,504 | 471 MB | 0 | 🤓 0 | ★ 6574 | 👁 6574 |
betaflight/betaflight | 16,049 | 391 MB | 25 | 🤓 8 | ★ 4898 | 👁 4898 |
RT-Thread/rt-thread | 13,131 | 539 MB | 173 | 🤓 25 | ★ 6361 | 👁 6361 |
darktable-org/darktable | 9,626 | 1.16 GB | 179 | 🤓 31 | ★ 5944 | 👁 5944 |
SecWiki/windows-kernel-exploits | 8,520 | 250 MB | 0 | 🤓 0 | ★ 5894 | 👁 5894 |
processhacker/processhacker | 7,043 | 295 MB | 37 | 🤓 2 | ★ 6178 | 👁 6178 |
php/php-src | 4,946 | 470 MB | 378 | 🤓 31 | ★ 32435 | 👁 32435 |
QSCTech/zju-icicles | 2,977 | 3.1 GB | 7 | 🤓 3 | ★ 23363 | 👁 23363 |
coolsnowwolf/lede | 2,676 | 279 MB | 73 | 🤓 22 | ★ 18614 | 👁 18614 |
zephyrproject-rtos/zephyr | 2,441 | 451 MB | 545 | 🤓 163 | ★ 5189 | 👁 5189 |
FFmpeg/FFmpeg | 2,207 | 288 MB | 131 | 🤓 33 | ★ 26948 | 👁 26948 |
raspberrypi/linux | 1,942 | 2.95 GB | 3083 | 🤓 221 | ★ 8493 | 👁 8493 |
microsoft/WSL2-Linux-Kernel | 1,911 | 1.79 GB | 1 | 🤓 1 | ★ 5300 | 👁 5300 |
liuliu/ccv | 1,908 | 391 MB | 8 | 🤓 1 | ★ 6821 | 👁 6821 |
openwrt/openwrt | 1,596 | 220 MB | 199 | 🤓 66 | ★ 10000 | 👁 10000 |
SoftEtherVPN/SoftEtherVPN | 1,184 | 554 MB | 0 | 🤓 0 | ★ 8462 | 👁 8462 |
postgres/postgres | 688 | 618 MB | 154 | 🤓 19 | ★ 9214 | 👁 9214 |
openssl/openssl | 0 | 251 MB | 91 | 🤓 27 | ★ 16957 | 👁 16957 |
systemd/systemd | 0 | 229 MB | 599 | 🤓 43 | ★ 8709 | 👁 8709 |
raysan5/raylib | 0 | 381 MB | 117 | 🤓 30 | ★ 7933 | 👁 7933 |
pwn20wndstuff/Undecimus | 0 | 444 MB | 0 | 🤓 0 | ★ 6639 | 👁 6639 |
screetsec/TheFatRat | 0 | 372 MB | 0 | 🤓 0 | ★ 5851 | 👁 5851 |
Details
I am leveraging Cloc for the LOC, however, for the total, I am only counting the languages defined in config.json, so as to eliminate counting things like lines of JSON (of which, for example, the Kibana repo has a couple million!).
- Unfortunately GitHub API does not support sorting by size, and since the LOC counting logic requires locally cloning each of these giant repositories, I may be missing some. If I am, file an issue and I can add it to the list manually. Or, throw up a PR to have it added!
If you notice any errors with the above numbers, please file an issue and let me know! In particular the Cloc tool supports eliminating certain folders and files for LOC counts. With node, node_modules is excluded, however, for other languages I may be missing certain key configurations.