Statistics on the world’s largest Java 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 Java 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 | Java LOC | Repo Size | Monthly commit count | 🤓 Monthly committer count | ★ Stars count | 👁 Watchers count |
---|---|---|---|---|---|---|
openjdk/jdk | 5,207,390 | 1.03 GB | 354 | 🤓 122 | ★ 11536 | 👁 11536 |
aosp-mirror/platform_frameworks_base | 3,329,823 | 2.97 GB | 248 | 🤓 115 | ★ 9795 | 👁 9795 |
elastic/elasticsearch | 2,273,504 | 943 MB | 484 | 🤓 80 | ★ 57244 | 👁 57244 |
apache/hadoop | 1,817,236 | 540 MB | 63 | 🤓 28 | ★ 12093 | 👁 12093 |
apache/flink | 1,401,228 | 427 MB | 190 | 🤓 66 | ★ 17571 | 👁 17571 |
oracle/graal | 1,142,091 | 238 MB | 501 | 🤓 61 | ★ 16165 | 👁 16165 |
bazelbuild/bazel | 844,669 | 838 MB | 197 | 🤓 56 | ★ 17643 | 👁 17643 |
apache/druid | 797,490 | 242 MB | 74 | 🤓 32 | ★ 11347 | 👁 11347 |
DrKLO/Telegram | 706,913 | 322 MB | 4 | 🤓 1 | ★ 18556 | 👁 18556 |
neo4j/neo4j | 686,936 | 547 MB | 18 | 🤓 11 | ★ 9497 | 👁 9497 |
spring-projects/spring-framework | 666,162 | 175 MB | 78 | 🤓 20 | ★ 45069 | 👁 45069 |
stanfordnlp/CoreNLP | 603,652 | 350 MB | 26 | 🤓 4 | ★ 8219 | 👁 8219 |
eclipse/deeplearning4j | 543,135 | 736 MB | 106 | 🤓 3 | ★ 12251 | 👁 12251 |
dbeaver/dbeaver | 430,741 | 274 MB | 212 | 🤓 9 | ★ 23257 | 👁 23257 |
apache/pulsar | 430,142 | 1.37 GB | 258 | 🤓 61 | ★ 9930 | 👁 9930 |
OpenAPITools/openapi-generator | 423,340 | 601 MB | 94 | 🤓 44 | ★ 10369 | 👁 10369 |
google/guava | 360,246 | 365 MB | 8 | 🤓 6 | ★ 42901 | 👁 42901 |
pinpoint-apm/pinpoint | 346,492 | 240 MB | 51 | 🤓 11 | ★ 11815 | 👁 11815 |
apereo/cas | 316,417 | 306 MB | 215 | 🤓 12 | ★ 9081 | 👁 9081 |
libgdx/libgdx | 276,167 | 1.12 GB | 3 | 🤓 5 | ★ 19278 | 👁 19278 |
signalapp/Signal-Android | 252,977 | 502 MB | 232 | 🤓 8 | ★ 21491 | 👁 21491 |
apache/shardingsphere | 198,946 | 446 MB | 290 | 🤓 34 | ★ 14864 | 👁 14864 |
SeleniumHQ/selenium | 115,488 | 1.98 GB | 93 | 🤓 23 | ★ 22114 | 👁 22114 |
Anuken/Mindustry | 87,070 | 1.81 GB | 123 | 🤓 31 | ★ 12956 | 👁 12956 |
OpenRefine/OpenRefine | 76,490 | 395 MB | 51 | 🤓 14 | ★ 8490 | 👁 8490 |
zxing/zxing | 45,197 | 247 MB | 3 | 🤓 2 | ★ 28658 | 👁 28658 |
williamfiset/Algorithms | 30,659 | 1.06 GB | 6 | 🤓 2 | ★ 11359 | 👁 11359 |
CarGuo/GSYVideoPlayer | 29,849 | 366 MB | 3 | 🤓 1 | ★ 16872 | 👁 16872 |
LuckSiege/PictureSelector | 29,512 | 319 MB | 38 | 🤓 2 | ★ 11011 | 👁 11011 |
arduino/Arduino | 27,110 | 1.42 GB | 0 | 🤓 0 | ★ 12212 | 👁 12212 |
Konloch/bytecode-viewer | 24,131 | 663 MB | 8 | 🤓 3 | ★ 12545 | 👁 12545 |
scwang90/SmartRefreshLayout | 20,085 | 280 MB | 1 | 🤓 1 | ★ 23129 | 👁 23129 |
iBotPeaches/Apktool | 11,792 | 206 MB | 1 | 🤓 1 | ★ 12850 | 👁 12850 |
gyf-dev/ImmersionBar | 8,120 | 306 MB | 0 | 🤓 0 | ★ 9975 | 👁 9975 |
geekxh/hello-algorithm | 1,845 | 374 MB | 0 | 🤓 0 | ★ 29176 | 👁 29176 |
lottie-react-native/lottie-react-native | 523 | 300 MB | 10 | 🤓 3 | ★ 14642 | 👁 14642 |
MisterBooo/LeetCodeAnimation | 265 | 522 MB | 0 | 🤓 0 | ★ 67768 | 👁 67768 |
eugenp/tutorials | 0 | 334 MB | 32 | 🤓 48 | ★ 28214 | 👁 28214 |
elastic/search-ui | 0 | 6.12 MB | 4 | 🤓 2 | ★ 1500 | 👁 1500 |
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.