DEV Community

Discussion on: Benchmarking web dev tools on the Mac mini M1

Collapse
wmhilton profile image
William Hilton • Edited on

Yes! These are the benchmarks I've been waiting for! (a webpack benchmark would be nice as well, as waiting on webpack-dev-server to compile is really my bottleneck these days.)

I thought I'd contribute my benchmark results as well. Interestingly, despite being a 2.9GHz core i9, it fares a tad worse than your 2.3GHz core i9, I guess because it's from 2018 instead of 2019.

hardware:
MacBook Pro (15-inch, 2018)
2.9 GHz 6-Core Intel Core i9
32 GB 2400 MHz DDR4

node version:
Using node 15.4.0 installed via nvm.

3 consecutive runs:

> node dist/cli.js
Running Web Tooling Benchmark v0.5.3…
-------------------------------------
         acorn: 10.01 runs/s
         babel:  9.16 runs/s
  babel-minify: 12.74 runs/s
       babylon: 12.35 runs/s
         buble:  6.31 runs/s
          chai: 18.19 runs/s
  coffeescript:  8.07 runs/s
        espree:  4.22 runs/s
       esprima:  9.34 runs/s
        jshint: 10.72 runs/s
         lebab: 12.92 runs/s
       postcss:  7.27 runs/s
       prepack:  8.74 runs/s
      prettier:  8.44 runs/s
    source-map: 11.47 runs/s
        terser: 21.34 runs/s
    typescript: 10.83 runs/s
     uglify-js:  6.45 runs/s
-------------------------------------
Geometric mean:  9.78 runs/s

> node dist/cli.js
Running Web Tooling Benchmark v0.5.3…
------------------------------------------
         acorn:  9.75 runs/s
         babel:  9.10 runs/s
  babel-minify: 12.61 runs/s
       babylon: 12.85 runs/s
         buble:  5.94 runs/s
          chai: 18.28 runs/s
  coffeescript:  8.54 runs/s
        espree:  4.32 runs/s
       esprima:  9.93 runs/s
        jshint: 11.05 runs/s
         lebab: 13.70 runs/s
       postcss:  7.45 runs/s
       prepack:  9.21 runs/s
      prettier:  8.43 runs/s
    source-map: 11.19 runs/s
        terser: 20.17 runs/s
    typescript: 10.58 runs/s
     uglify-js:  6.47 runs/s
------------------------------------------
Geometric mean:  9.86 runs/s

> node dist/cli.js
Running Web Tooling Benchmark v0.5.3…
------------------------------------------
         acorn: 10.29 runs/s
         babel:  9.23 runs/s
  babel-minify: 12.84 runs/s
       babylon: 12.88 runs/s
         buble:  6.11 runs/s
          chai: 18.12 runs/s
  coffeescript:  8.74 runs/s
        espree:  4.37 runs/s
       esprima:  9.57 runs/s
        jshint: 11.31 runs/s
         lebab: 14.61 runs/s
       postcss:  7.01 runs/s
       prepack:  8.48 runs/s
      prettier:  8.09 runs/s
    source-map: 10.42 runs/s
        terser: 20.41 runs/s
    typescript: 10.67 runs/s
     uglify-js:  6.75 runs/s
------------------------------------------
Geometric mean:  9.86 runs/s
Enter fullscreen mode Exit fullscreen mode

Sadly, I can't use a Mac Mini as my main development box, because going from 32GB of RAM to 8GB would probably undo the core speed improvements. (With Webpack, Docker, Chrome, Iterm2, and VSCode all running, I easily eat up 20GB of RAM just spinning up my work website. 27GB if I run FF and Jest as well.)

Now, if they made a Mac Mini Pro with 32GB of RAM... that would probably be perfect!

Collapse
chrischen profile image
chrischen

If you look at the current 2020 macbook pro 16” offerings you’ll see that the 2.3ghz build is more expensive than the 2.6ghx. This is because this is the base speed that all cores sustain. The 8-core can sustain a lower frequency but there are more cores. However if not all cores are needed the boost speed is up to 4.8.

Your 2018 intel processor probably is a 6-core, so it has higher base frequencies but fewer cores, but likely can only sustain lower frequencies for the same amount of cores when compared to the 2019 2.3ghz.

I also did some benchmark using webpack and my node stack against a 64gb ram 2.3ghz i9 macbook (2019) and the M1 macbook was on par or faster. Node was compiled natively for darwin arm.

Both machines were from the same time machine restore, and to simulate a normal environment I had safari with about 30 tabs, VS Code, and a mongodb instance running in both.

Also as a bonus Safari loads up about 5+ seconds slower on the 64gb ram macbook 16”.

I believe the way the M1 works means memory usage will work differently too. I wouldn’t go so far as to assume you would need 32gb to maintain any performance advantages... certainly doesn’t help the 16” here.