Is the Meteor dev build process multithreaded

Hello All

First, many thanks to the meteor team for an amazing product! But now to the concern that leads to the question…

Every time I make a change to a file, I have to wait about 15 seconds for the page to refresh. I’m using an i7-4800MQ @ 2.7Ghz. That’s a very high end laptop processor, that has up to 8 processes that could be used. A 15 second rebuild time is longer than I would like, and can get pretty frustrating when I need to do a lot of small change-test cycles. Out of curiosity, I would like to know if the build process is multithreaded. If not, is there any chance that it will be changed to be that way in the future?

1 Like

try the webpack:webpack package.

Made my life easier:grinning:

haven’t looked at the SC, but this seems pretty difficult since a build is something sequential. Even webpack is single threaded (although concurrently or https://github.com/trivago/parallel-webpack does exist for multiple builds).

For now, you could use webpack & its HMR will probably reduce your time down to <3 seconds for changes on the client. For server changes, you’re looking at a whole different beast.

2 Likes

The build process may not be multi-threaded but there is a lot of low hanging fruit to make it faster. For example, consider two of my pull requests https://github.com/meteor/meteor/pull/5875 and https://github.com/meteor/meteor/pull/5900, and also this pull request by devgrok that will be in 1.3 https://github.com/meteor/meteor/pull/5747. If you are doing computationally intensive work on page load that could also increase how long a HCR takes. Try profiling a page refresh and see if there is anything you can speed up on the client side. It also worth running meteor with METEOR_PROFILE=1 to see if there is anything easy you can fix to speed things up.

@turbob I’m using the jedwards webpack boilerplate to compile on both the client and server. It took my build from 18-20 seconds to 1.4 seconds. Much better!

1 Like

Hey I’m using angular with Meteor, so not sure if webpack will work. I will look into it though!