Language Analysis

The Language Speed Hierarchy

Your language choice affects how fast PRs merge. PowerShell is 4x faster than C.

4x

Speed Difference

PowerShell (6h) vs C (24h)

Based on 3,387,250 merged PRs | GitHub Archive / BigQuery | December 2024

The Leaderboard

All 16 programming languages ranked by median PR merge time. The fastest languages merge in hours; the slowest take nearly a full day.

Median Merge Time by Language (Hours)

0h6h12h18h24hPowerShellDockerfileC#ShellTypeScriptJavaScriptRubyRustJavaGoPythonKotlinC++PHPSwiftC
RankLanguageMedian (h)PRs AnalyzedAvg PR Size
#1PowerShell6h9,026307 lines
#2Dockerfile11h5,70485 lines
#3C#14h36,364377 lines
#4Shell15h29,077111 lines
#5TypeScript16h204,152377 lines
#6JavaScript16h89,678353 lines
#7Ruby16h22,001145 lines
#8Rust18h45,942299 lines
#9Java20h77,086282 lines
#10Go20h72,837260 lines
#11Python21h129,702271 lines
#12Kotlin21h24,435230 lines
#13C++22h39,135320 lines
#14PHP22h22,271327 lines
#15Swift23h6,094399 lines
#16C24h17,615345 lines

"PowerShell PRs merge 4x faster than C PRs."

Why PowerShell is Fast

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.

Infrastructure Scripts

PowerShell is primarily used for automation and DevOps. These changes are often straightforward and reviewed by the same people who wrote them.

Simpler PR Patterns

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.

Why C/C++ is Slow

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?

Safety-Critical Domains

C/C++ dominates embedded systems, kernel development, and safety-critical applications. These areas demand thorough review.

Legacy Complexity

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."

PR Size by Language

Does PR size explain the speed gap? Let's look at the average lines changed per PR across our language tiers.

Fastest (6-15h)

220 lines avg

PowerShell, Dockerfile, C#, Shell

Middle (16-20h)

286 lines avg

TypeScript, JavaScript, Ruby, Rust, Java, Go

Slowest (21-24h)

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.

Caveats

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.

🔥 Our Take

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.

Related Research

Methodology

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.

See your team's language breakdown

CodePulse shows you merge times by language, repository, and developer.