Your language choice affects how fast PRs merge. PowerShell is 4x faster than C.
Speed Difference
PowerShell (6h) vs C (24h)
Based on 3,387,250 merged PRs | GitHub Archive / BigQuery | December 2024
All 16 programming languages ranked by median PR merge time. The fastest languages merge in hours; the slowest take nearly a full day.
| Rank | Language | Median (h) | PRs Analyzed | Avg PR Size |
|---|---|---|---|---|
| #1 | PowerShell | 6h | 9,026 | 307 lines |
| #2 | Dockerfile | 11h | 5,704 | 85 lines |
| #3 | C# | 14h | 36,364 | 377 lines |
| #4 | Shell | 15h | 29,077 | 111 lines |
| #5 | TypeScript | 16h | 204,152 | 377 lines |
| #6 | JavaScript | 16h | 89,678 | 353 lines |
| #7 | Ruby | 16h | 22,001 | 145 lines |
| #8 | Rust | 18h | 45,942 | 299 lines |
| #9 | Java | 20h | 77,086 | 282 lines |
| #10 | Go | 20h | 72,837 | 260 lines |
| #11 | Python | 21h | 129,702 | 271 lines |
| #12 | Kotlin | 21h | 24,435 | 230 lines |
| #13 | C++ | 22h | 39,135 | 320 lines |
| #14 | PHP | 22h | 22,271 | 327 lines |
| #15 | Swift | 23h | 6,094 | 399 lines |
| #16 | C | 24h | 17,615 | 345 lines |
"PowerShell PRs merge 4x faster than C PRs."
PowerShell tops the leaderboard with a median merge time of just 6 hours. That's remarkably fast—but it makes sense when you understand the ecosystem.
PowerShell is primarily used for automation and DevOps. These changes are often straightforward and reviewed by the same people who wrote them.
Configuration changes, CI/CD tweaks, and deployment scripts tend to be self-contained and low-risk, enabling faster approval.
Dockerfile follows a similar pattern—it's the second-fastest language at 11 hours median. Both represent infrastructure-as-code where changes are often reviewed by the same team that maintains them.
At the other end of the spectrum, C takes 24 hours median to merge. C++ isn't far behind at 22 hours. What's driving these delays?
C/C++ dominates embedded systems, kernel development, and safety-critical applications. These areas demand thorough review.
Many C/C++ codebases are decades old. Understanding context and avoiding regressions takes time—and reviewers know it.
The slow merge times in C/C++ aren't a bug—they're a feature. When you're working close to the metal, careful review prevents catastrophic failures.
"TypeScript and JavaScript tie at 16 hours median merge time."
Does PR size explain the speed gap? Let's look at the average lines changed per PR across our language tiers.
220 lines avg
PowerShell, Dockerfile, C#, Shell
286 lines avg
TypeScript, JavaScript, Ruby, Rust, Java, Go
315 lines avg
Python, Kotlin, C++, PHP, Swift, C
The data shows size isn't the main factor. The fastest tier averages smaller PRs, but the middle and slowest tiers are nearly identical in size. Culture and domain matter more than line count.
Correlation, not causation
Languages don't determine review speed—teams, domains, and cultures do. C is slow because it's used in cautious environments, not because of syntax.
Public repos only
GitHub Archive captures public repositories. Private enterprise repos may show different patterns—especially for languages like C# that dominate in enterprise.
Sample size varies
TypeScript has 204K PRs in our dataset; Swift has only 6K. Languages with smaller samples may be less representative of the true median.
Language speed isn't destiny—it's culture.
PowerShell is fast because infrastructure changes are often reviewed by the same people who wrote them. C is slow because embedded systems demand thorough review. Know your ecosystem's norms before setting review SLAs. A 24-hour turnaround that's excellent for kernel code would be a disaster for DevOps scripts.
This analysis is based on 3,387,250 merged pull requests from GitHub Archive / BigQuery during December 2024. Language is determined by GitHub's primary language detection for each repository. Merge time is calculated from PR creation to merge event. For full methodology, see the complete study.
CodePulse shows you merge times by language, repository, and developer.