Compiler Performance on 2025 Devices

2025-10-25

5 minute read

In this blog post, I'll share my experience with four computers, focusing on their performance in various development tasks and how they compare.

For the past few years, I've been working on a Windows laptop with two isolated hard drives--one for my personal OS and one for work. The eGPU I used to connect that laptop to monitors failed and replacing it didn't make sense. Firstly, I was overdue for an upgrade so work offered a faster machine anyways. At the same time, my company was holding a garage sale of old hardware. I bought an M1 MacBook Pro for personal use. I was so impressed and I wanted more. So I soon upgraded to an M4. Ultimately, I ended up with four devices:

Let's break down the stats in detail:

DeviceProcessorPerformance CoresEfficiency CoresRAMDisk
Alienware Aurora R16Intel
Core i9-14900F
8
2.0-5.8 GHz
16
1.5-4.3 GHz
SK Hynix
64 GB
DDR5-5600
Micron
2 TB
NVMe M.2
Razer Blade 15Intel
Core i9-12900H
6
2.5-5.0 GHz
8
1.8-3.8 GHz
Kingston
64 GB
DDR5-4800
Samsung
2 TB
NVMe M.2
M1 MacBook ProApple
M1 Pro
6
0.6-3.2 GHz
2
0.6-2.1 GHz
Apple
16 GB
Apple
1 TB
M4 MacBook ProApple
M4 Max
12
2.6-4.5 GHz
4
1.0-2.6 GHz
Apple
128 GB
Apple
4 TB

Tests

I ran 5 tests on each machine, both plugged in and on battery (where applicable):

  1. Compiling Bevy Minesweeper to the native host platform with Rust.
  2. Compiling Bevy Minesweeper to WASM with Rust.
  3. Compiling all of tyleo.com with TypeScript.
  4. Running webpack on the compiled tyleo.com.
  5. Compiling the Unity game Rec Room.

I'll talk more about the testing methodology later, but first, let's get to what you're really here for: the results. If you'd prefer a different view, you can check out the Google Sheet here.

TestDevicePower SourceAverage Compile Time (Seconds)Temperature (Celsius)Remaining Battery
Bevy Minesweeper Native CompileAlienware Aurora R16Outlet102.0N/A100%
Bevy Minesweeper Native CompileRazer Blade 15Outlet213.6N/A100%
Bevy Minesweeper Native CompileRazer Blade 15Battery228.046.381%
Bevy Minesweeper Native CompileM1 MacBook ProOutlet95.8N/A100%
Bevy Minesweeper Native CompileM1 MacBook ProBattery96.035.696%
Bevy Minesweeper Native CompileM4 MacBook ProOutlet47.0N/A100%
Bevy Minesweeper Native CompileM4 MacBook ProBattery47.435.4100%
Bevy Minesweeper WASM CompileAlienware Aurora R16Outlet55.6N/A100%
Bevy Minesweeper WASM CompileRazer Blade 15Outlet92.2N/A100%
Bevy Minesweeper WASM CompileRazer Blade 15Battery118.441.892%
Bevy Minesweeper WASM CompileM1 MacBook ProOutlet50.2N/A100%
Bevy Minesweeper WASM CompileM1 MacBook ProBattery50.335.2100%
Bevy Minesweeper WASM CompileM4 MacBook ProOutlet32.0N/A100%
Bevy Minesweeper WASM CompileM4 MacBook ProBattery31.836.1100%
tyleo.com TypeScript CompileAlienware Aurora R16Outlet45.5N/A100%
tyleo.com TypeScript CompileRazer Blade 15Outlet74.9N/A100%
tyleo.com TypeScript CompileRazer Blade 15Battery96.537.696%
tyleo.com TypeScript CompileM1 MacBook ProOutlet70.0N/A100%
tyleo.com TypeScript CompileM1 MacBook ProBattery66.931.6100%
tyleo.com TypeScript CompileM4 MacBook ProOutlet44.5N/A100%
tyleo.com TypeScript CompileM4 MacBook ProBattery44.332.8100%
tyleo.com webpackAlienware Aurora R16Outlet7.2N/A100%
tyleo.com webpackRazer Blade 15Outlet12.2N/A100%
tyleo.com webpackRazer Blade 15Battery15.636.393%
tyleo.com webpackM1 MacBook ProOutlet20.4N/A100%
tyleo.com webpackM1 MacBook ProBattery20.631.6100%
tyleo.com webpackM4 MacBook ProOutlet16.4N/A100%
tyleo.com webpackM4 MacBook ProBattery15.931.1100%
Rec Room Unity C# CompileAlienware Aurora R16Outlet104.8N/A100%
Rec Room Unity C# CompileRazer Blade 15Outlet134.6N/A100%
Rec Room Unity C# CompileRazer Blade 15Battery183.946.681%
Rec Room Unity C# CompileM1 MacBook ProOutlet112.6N/A100%
Rec Room Unity C# CompileM1 MacBook ProBattery114.737.8100%
Rec Room Unity C# CompileM4 MacBook ProOutlet63.3N/A100%
Rec Room Unity C# CompileM4 MacBook ProBattery63.042.3100%

Analysis

The M4 MacBook Pro outperformed every device across most tests, both on battery and when plugged in. Even the Alienware Aurora R16--with a top-tier Intel CPU and 64 GB of RAM--barely kept up with the aging M1 MacBook Pro with only 16 GB of RAM. The Aurora's lone bright spot was the webpack task, but since it's the shortest of all benchmarks, the win carries little weight.

The Intel results are especially disappointing given the reliance on wall power. The MacBooks barely sipped battery during testing, while the Razer Blade 15 saw drops in performance on battery while also consuming more energy. The Razer produced enough heat to cause minor burns. The Razer Blade is an aging device, but so is the M1 MacBook Pro. While newer devices may yield better results, what I see here makes me question whether modern Intel CPUs are viable for mobile development work.

If you're looking for a mobile development platform and your workflow runs on macOS, Apple's M-series processors are the obvious choice. Even dated chips like the M1 are still competitive in 2025. And if you're looking for a full workstation, don't be surprised if a MacBook Pro still outperforms many Intel-based desktops.

Methodology

For each test, I ensured that no other applications were running to minimize background interference. Each test was executed five times per device and power source configuration. The full results are available on the first tab of the Google Sheet.

Before running each test I:

  1. Restarted the device.
  2. Compiled the program.
  3. Deleted the target directory.
  4. Restarted the device again.
  5. Compiled the program again.
  6. Deleted the target directory again.
  7. Unplugged the device where applicable.
  8. Ran the 5 tests.

If anything went awry during testing, I restarted the process from scratch.

To run the tests I:

  1. Compiled the program.
  2. Took a screenshot of the results.
  3. Deleted the target directory.

I used the system UI to determine battery usage. I pointed a ThermoWorks Hi-Temp Industrial IR w/Circle Laser (IR-IND) on the F7 key of each device to measure temperature. I built everything with debug configuration execpt for the Bevy Minesweeper WASM project which used the same release configuration hosted on my website.