I’m interested in speeding up the Meteor server dev server reload and browser re-render process by doing any of the following
- Upgrading my CPU to a Ryzen 3000 series desktop CPU or a 4000 series laptop APU
- Compiling a Linux kernel that is specifically optimized for my CPU
- Compiling Firefox that is specifically optimized for my CPU (I prefer FF to Chromium for dev)
- Trying a different distro (like clear OS)
Ryzen 3000 series CPU’s have massive caches (the entry level 3600 has 32MB L3 whereas my i5-4670k has 6MB) which makes them extremely fast for some types of code compiling. So I’m interested to find if/how it improves the Read web-app dev experience with Meteor.
I initially created a thread over at Level1Techs forums, because they have a lot of software developers who are also tech enthusiasts. Many of whom use Ryzen CPU’s.
Now I just thought it would be great to see if anyone here (coding Meteor React webapps) has moved from an old CPU to a Ryzen 2000 or 3000 series APU or CPU and can comment about what CPU you tested and how the compile times compared?
- Your project should be on an SSD.
- Start your meteor server in development mode with the environment variable
METEOR_PROFILE=20(on Linux, run
export METEOR_PROFILE=20before starting your meteor dev server)
- Edit some file in /server/ add
console.log('foo1');Let it restart, note the time. Edit that same line to say foo2. Edit the same line to say foo3. Repeat as needed until you have a consistent build time. Let me know what CPU you’re using and what your build time is.
Future benchmarking improvement
The part of testing that I haven’t figured out is how long it takes firefox to reload and re-render the webapp, which is very important. It would be nice if there’s some kind of hook for the dev-server starting the restart process, then if the project is in development mode, the client could do a Meteor call to the server once the components have mounted. Then the server would show the total restart time including browser re-rendering.
Notes about Ryzen APU’s and Mobile CPU’s
The 2000 series APU’s use 1000 series architecture.
The 3000 series APU’s use 2000 series architecture.
The 4000 series mobile APU’s will use 3000 series architecture.
It’s a bit confusing, but when I refer to a 2000 series CPU or a 3000 series CPU I’m referring to the architecture that a desktop part of that series has. AMD’s desktop CPU’s always have their leading edge tech.
I’m currently running my 4670K on stock settings, so it does speed step down to low frequencies to save power and only turbo’s to 3.8Ghz. If I overclock it to 4.2ghz and disable speed step then that is faster but also eliminates the ~100ms lag between switching CPU frequencies. I’m aware of this, but because I need to work while my desktop is powered by my UPS for extended periods during blackouts I’m opting to save some power vs 100ms + 10% CPU clockspeed improvement.