New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Meteor 1.3 reload takes more than 2 minutes for just one line of change (Windows 10) #7253

Closed
kevde opened this Issue Jun 19, 2016 · 40 comments

Comments

@kevde

kevde commented Jun 19, 2016

Please help me out. I am really fucked up implementing Meteor using Windows 10. Sometimes, I will just edit one line for Meteor Client then it will restart and build from start. It will take about 2 minutes. It slows down my development process. I have been working one tutorial for almost a day figuring out for this problem

@laosb

This comment has been minimized.

Collaborator

laosb commented Jun 19, 2016

Hi, I'm sorry that you're suffering from slow build times. Can you provide detailed information, like which Meteor version, currently used packages(including npm ones), performance of your computer, etc?

And, is that any app, including the newly-meteor created app have such a slow build time?

@Themandunord

This comment has been minimized.

Themandunord commented Jun 19, 2016

Hi @kevde, @laosb,

I thinks it's similar to the issue #4284
Many people have this problem, and dev team don't fix it at this moment, I suppose.

I have the same problem. With the mantra architecture and the mantra-cli to create a new mantra project, you can see that the building time is very slow...
And when you add your website, it's more longer...

So if you want to reproduce this, mantra-cli is the good start, and it don't have so much features...

I test a newly meteor create and OK th time is pretty good. But with some new files the buidling time increase dramastically !

I'm on Windows 10 for information.

@kevde

This comment has been minimized.

kevde commented Jun 19, 2016

This is now shitty my run for just one meteor run is in minimum of 5 minutes. This is crap. https://github.com/kevde/mosikero/tree/angular2.
Mine was Windows 10 on Intel(R) Core(TM) i3-3217U CPU @1.80Ghz 1.80 Ghz 4.00GB (asus vivobook x202e)
I am currently using 1.3.2.4. I tried 1.3.3.1 before but it was too shitty about ecmascript dependency.
(split of undefined). I am so disappointed about it. I was like developing app for three days. And this still comes upfront.

@Themandunord

This comment has been minimized.

Themandunord commented Jun 19, 2016

I have the same feeling now...
Develop an app with meteor was so exciting, but now when I want to test my code I wait so long that I don't want to develop...

@kachkaev

This comment has been minimized.

kachkaev commented Jun 20, 2016

Hey @kevde ,

I know your pain – this is a desperate feeling. I'm facing the same issue even on Ubuntu! My build time is a bit smaller (≈20s), but I have to wait for this long even after a tiny tweak in a LESS file. This is just a nightmare, especially because I spent about two working days trying to find a solution but returned to where I was (except for that I'm using meteor-hmr now).

In addition to #4284 mentioned by @Themandunord slow build times are reported in #7008. It looks like your app builds for so long because you have too many things in node_modules (dev-only babel or linters generate 100s of directories there). This is totally fine, the issue is in Meteor's way of working with these folders – not your decision to use local packages!

It is surprising not to see comments from MDG members on slow builds – it feels like they treat this issue as unimportant. If anyone has heard anything, please let know – I don't exclude that I've simply missed smth. Looks like tomorrow I'll have another discouraging fight with meteor while trying to make a rather simple React-based interface. I'd move to webpack a week ago if it's building system did not look too rocket-science and if I did not want to use DDP. The latter seems to be less useful giving the speed at which GraphQL-based tools emerge.

Hope that this is not my last meteor project.

@laosb

This comment has been minimized.

Collaborator

laosb commented Jun 20, 2016

As slow build times may not be caused due to the same reason, it's hard to say without direct repro repo. Tested mantra-cli as you mentioned before, but it runs normally on both macOS and Linux.

@Themandunord

This comment has been minimized.

Themandunord commented Jun 20, 2016

@laosb With the mantra-cli, a simple modification of the home.jsx file took 10 seconds... It's too long.
When you add some modules, the time increase... this stater pack have only one page, thinks about a real website :/

I tested it with Meteor 1.3.2.4 on W7.

@kachkaev With meteor-hmr, the time building is better ?
And yes, no communication from MDG team was totally weird... Many users are faced to this problem.

@kachkaev

This comment has been minimized.

kachkaev commented Jun 20, 2016

@Themandunord meteor-hmr just lets you see the changes in your react components quickly, but that's it – no improvements in build times for css or server-side changes. This is still useful, because anything is better than 20s per build, but the solution is pretty hacky and it also adds a bit of dirt to your client's code. Try it out!

UPD: Beware of gadicc/meteor-hmr#121 though.

@Themandunord

This comment has been minimized.

Themandunord commented Jun 20, 2016

@kachkaev Ok thanks. I will try if I have time, but I spend many times on building times....
And Meteor 1.3.3.1 still doesn't work on Windows... so I think I will don't have your problem.

@kachkaev kachkaev referenced this issue Jun 20, 2016

Merged

Release 1.4 #7218

@benjamn

This comment has been minimized.

Member

benjamn commented Jun 20, 2016

Please try running METEOR_PROFILE=100 meteor, and report your findings here.

The latest release candidate is also worth a try: meteor update --release 1.3.4-rc.0

@kevde

This comment has been minimized.

kevde commented Jun 21, 2016

Thanks @benjamn. Hoping for a better solution. I'll try this out

@IvanPortfolio

This comment has been minimized.

IvanPortfolio commented Jun 21, 2016

My version is 1.3.4-rc.1 and the proble still exists for me

My laptop configuraton is
i5
8gb ram
windows 10
ssd

what I get with profiling Top leaves: | files.lstat.............................................24,412 ms (37161) | files.writeFile..........................................4,531 ms (333) | other compileUnibuild (the app)..........................3,960 ms (2) | files.stat...............................................2,801 ms (12548) | files.readdir............................................2,523 ms (3129) | other JsImage#write......................................2,484 ms (1) | files.readFile...........................................1,618 ms (1278) | files.realpath.............................................870 ms (396) | files.rm_recursive.........................................614 ms (4) | other Resolver#_joinAndStat................................528 ms (2583) | other PackageSourceBatch.computeJsOutputFilesMap...........483 ms (2) | Babel.compile..............................................470 ms (170) | files.rename...............................................465 ms (339) | other plugin ecmascript....................................462 ms (2) | ImportScanner#_getInstallPath..............................401 ms (1160) | other Resolver#resolve.....................................267 ms (2595) | sha1.......................................................258 ms (2030) | other ClientTarget#write...................................242 ms (1) | other Target#_runCompilerPlugins...........................232 ms (2) | other Target#make..........................................178 ms (2) | Isopack#getUnibuildAtArch..................................169 ms (3855) | other Builder#write........................................165 ms (328) | other Resolver#_resolveNodeModule..........................142 ms (400) | other PackageSourceBatch#_linkJS...........................141 ms (172)

I can see the the most chalenging part is file operations. But why should i have this problem with ssd?

My meteor deps
meteor-base mobile-experience mongo blaze-html-templates reactive-var jquery tracker standard-minifier-css # CSS minifier run for production mode standard-minifier-js # JS minifier run for production mode es5-shim # ECMAScript 5 compatibility for older browsers. react-meteor-data accounts-password accounts-facebook accounts-twitter accounts-google natestrauser:font-awesome service-configuration session polyroid:font-roboto less nimble:restivus alanning:roles ecmascript

packge.json
{ "name": "hello", "dependencies": { "dropzone": "*", "formidable": "^1.0.17", "material-ui": "*", "meteor-node-stubs": "~0.2.0", "react": "^15.0.1", "react-addons-pure-render-mixin": "^15.0.1", "react-addons-transition-group": "^15.0.1", "react-dom": "^15.0.1", "react-if": "^2.0.5", "react-mounter": "^1.2.0", "react-router": "^2.3.0", "react-tap-event-plugin": "^1.0.0", "validate-obj": "^0.8.4" } }
As project grows it grows in geometric progression

@Greblak

This comment has been minimized.

Greblak commented Jun 22, 2016

@benjamn I tried with 1.3.4-rc.0
Equal build times when compared to 1.3.3 on Windows on the same project.
Getting build times of ~20 sec for a single file change.
From what I can gather it seems to be related to the npm_modules folder.
Doing stuff like npm dedupe can in some cases shave a couple of seconds. Having no/very few npm deps also works wonders. Down to a couple of seconds.

I tried doing meteor npm install -g
That worked wonderfully for installing it correctly. However, meteor doesn't bother with using those packages. Checking for packages in the meteor node global folder would go a long way in solving this problem at least temporarily.

@kachkaev

This comment has been minimized.

kachkaev commented Jun 22, 2016

@Greblak having global npm packages cannot be a solution since you might have several Meteor projects on one machine pointing to different versions on the same node module. Perhaps having an option to skip the scan of modules completely would work better. If node_modules directory does not change between npm install, what's the reason for scanning it?

@benjamn what do you think of scanning node_modules only once after meteor npm install?

Alternatively there can be some method that checks for the changes heuristically in order to decide whether to scan node_modules properly or not. E.g. it can look at the set of sub-folders in node_modules + calculate some hash for the versions of dependencies in package.json.

@Greblak

This comment has been minimized.

Greblak commented Jun 22, 2016

@kachkaev Doesn't node handle multiple versions globally? The global repo shouldn't act as more than a machine-local npm repo. It's not "correctly" bundled like app-local node_modules, but meteor should be able to use things installed in global, like normal npm apps are?

Also. Caching node_modules on cue might be a better solution indeed ;) +1 for that suggestion!

@IvanKaminskyi

This comment has been minimized.

IvanKaminskyi commented Jun 22, 2016

has somebody tried to build the same project but on linux? is it much faster?

@kachkaev

This comment has been minimized.

kachkaev commented Jun 22, 2016

I have (Ubuntu 16.04). 20 seconds to wait even for a small change in a LESS
file given a couple of linters in devDependencies. Terrible dev UX :–(

On Wednesday, 22 June 2016, IvanKaminskyi notifications@github.com wrote:

has somebody tried to build the same project but on linux? is it much
faster?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#7253 (comment), or mute
the thread
https://github.com/notifications/unsubscribe/AAlKXgaBLtg6BsGcDsoP4HXVbPuoewjUks5qOSh2gaJpZM4I5H8e
.

@Greblak

This comment has been minimized.

Greblak commented Jun 22, 2016

@IvanKaminskyi it seems to be worse on Windows systems, but still affects most platforms. Depends on how the file system is managed.

@kachkaev I highly recommend putting the linters globally if possible. It's directly related to the size of node_modules. I use the WebStorm-plugin for ESlinting that in turn uses the global npm installation.
Shaved 10-15 sec of my build time to remove eslint from package.json 👍

@Themandunord

This comment has been minimized.

Themandunord commented Jun 22, 2016

@Greblak
eslint

It is this plugin ? What is your configuration for this plugin ?

@Greblak

This comment has been minimized.

Greblak commented Jun 22, 2016

@benjamn benjamn added this to the Release 1.3.4 milestone Jun 22, 2016

@benjamn benjamn self-assigned this Jun 22, 2016

@benjamn

This comment has been minimized.

Member

benjamn commented Jun 22, 2016

There are, without a doubt, way too many files.stat calls happening. On Mac and Linux, that isn't so much of a problem (kind of amazingly, tbh), but fs.statSync is much slower on Windows, so we really have to find a way to reduce the number of times we call it.

I have some hunches about what changed recently to cause so many more stat calls, and I'll be looking into this for the 1.3.4 release. If the necessary changes are too invasive, it may have to wait for Meteor 1.4.

@benjamn benjamn closed this Jun 22, 2016

@benjamn benjamn reopened this Jun 22, 2016

@benjamn benjamn referenced this issue Jun 22, 2016

Merged

Release 1.3.4 #7263

6 of 6 tasks complete

benjamn added a commit that referenced this issue Jun 22, 2016

Cache files.{stat,lstat,realpath,readdir} hierarchically.
Passing a function to files.withCache invokes the function and causes the
results of these four files.* methods to be cached for the duration of the
function invocation.

Part of #7253 and #7008.

benjamn added a commit that referenced this issue Jun 22, 2016

In node_modules directories, cache packageSource._findSources.
This caching vastly reduces the amount of work _findSources must do when
the server restarts, at the small cost of ignoring new files added within
node_modules subdirectories. Even if you have to restart the server when
you add a file to node_modules (super rare), that's still MUCH better than
waiting for _findSources to rescan the node_modules directory every time
the server restarts.

Part of #7253 and #7008.
@benjamn

This comment has been minimized.

Member

benjamn commented Jun 22, 2016

Please confirm whether server restarts are improved after meteor update --release 1.3.4-rc.2. As soon as this is fixed, I'll release Meteor 1.3.4.

@IvanPortfolio

This comment has been minimized.

IvanPortfolio commented Jun 22, 2016

Installing ubuntu decreased rebuild time from 40-60 s to 10-11s but it is still ridiculous

@benjamn

This comment has been minimized.

Member

benjamn commented Jun 22, 2016

@IvanPortfolio are you talking about initial build time or server restart time (e.g. when you change a file)?

In either case, try meteor update --release 1.3.4-rc.2 and I think you'll notice an improvement on Ubuntu, too.

@kachkaev

This comment has been minimized.

kachkaev commented Jun 22, 2016

Great! I'm testing this now, will update https://github.com/kachkaev/meteor-build-times-mwe soon.

@kachkaev

This comment has been minimized.

kachkaev commented Jun 22, 2016

Great! I updated the demo repo and the tests show that meteor is not crying as it used to on each small update. Would be nice to hear how the things are from the Windows guys – I only ran them on OSX.

@benjamn although the number of scanned files is much less now, a bit more of them is mentioned when devDependencies are on. Is this something under control or can it be some strange artefact? E.g. an increase of meteor's cache or smth similar. Won't the number of files become huge after a couple of hours of continuous development?

@benjamn

This comment has been minimized.

Member

benjamn commented Jun 22, 2016

I haven't done anything to change the behavior of devDependencies, yet. Disabling importing devDependencies would be another way to avoid touching files in node_modules, potentially significant, but I don't want to go down that road until we have to.

@IvanPortfolio

This comment has been minimized.

IvanPortfolio commented Jun 22, 2016

@benjamn I mean server restart time after changes

@IvanPortfolio

This comment has been minimized.

IvanPortfolio commented Jun 22, 2016

@benjamn It is much better now on the latest revision. It is 9seconds now, but it is still too much

Top leaves: | meteorNpm.runNpmCommand..................................2,600 ms (1) | files.readFile...........................................1,283 ms (1546) | files.stat.................................................761 ms (6245) | other Resolver#_joinAndStat................................513 ms (2970) | other PackageSourceBatch.computeJsOutputFilesMap...........396 ms (2) | files.realpath.............................................340 ms (204) | other plugin ecmascript....................................312 ms (2) | Babel.compile..............................................301 ms (170) | other JsImage#write........................................279 ms (1) | other Resolver#resolve.....................................252 ms (2977) | ImportScanner#_getInstallPath..............................210 ms (1332) | other Target#_runCompilerPlugins...........................209 ms (2) | files.lstat................................................204 ms (335) | sha1.......................................................191 ms (2195) | other ClientTarget#write...................................169 ms (1) | Isopack#getUnibuildAtArch..................................149 ms (3855) | other Resolver#_resolveNodeModule..........................109 ms (410) | files.symlink..............................................102 ms (134) | | (#4) Total: 9,211 ms (Rebuild App)

@IvanPortfolio

This comment has been minimized.

IvanPortfolio commented Jun 22, 2016

I advice everybody to use webpak:webpack package. It is not working on windows, but on ubuntu my server rebuild time is 4s now and for client it is 2s

@Themandunord

This comment has been minimized.

Themandunord commented Jun 22, 2016

My refresh take 6s now on my Windows 10 (before >20s), it's much better than before, thanks @benjamn for your work.
It needs some new features to have a better build time, but many thanks at this moment 👍

@benjamn

This comment has been minimized.

Member

benjamn commented Jun 22, 2016

I agree there's a lot more work to do, but I think we should take it up in Meteor 1.4 now that it's somewhat more tolerable in Meteor 1.3.4.

Closing this now, but definitely not claiming the problem is completely fixed :)

@inestyne

This comment has been minimized.

inestyne commented Jul 13, 2016

I'm coming in from big Rails projects, making a change largely due to waiting 30-90s on every update. If meteor has slow build issues now i'm going to keep moving and so will everyone else.

Just sayin., the clock is ticking, runways are never as long as you think,

Update: I'm on a monster Windows 10 box (Meteor 1.3.4.4) and it's taking 5s to rebuild the project from page 2 of the official Meteor React Tut (https://www.meteor.com/tutorials/react/components).

@ForHonor

This comment has been minimized.

ForHonor commented Jul 24, 2016

I've been fighting with this and I am desperate.
My times are 1:40 seconds for a boilerplate and 30 seconds for a tutorial.
Please offer suggestions to a newbie.
Windows 10, i7, 8GB, 700GB HD
I am on Meteor 1.3.5.1.
The app is the react/meteor tutorial from tuts.
https://www.youtube.com/watch?v=RFVMHlIMTk4

TUTORIAL

=> Started proxy.
| (#1) Profiling: ProjectContext prepareProjectForBuild
=> Started MongoDB.
|
| sqlite query 38 ms (3)
| files.readFile 6 ms (2)
| files.stat 0 ms (1)
| files.unlink 27 ms (1)
| bundler.readJsImage.............................................213 ms (1)
| └─ meteorNpm.rebuildIfNonPortable 203 ms (2)
| JsImage#load....................................................485 ms (1)
| └─ runJavaScript packages/npm-mongo.js 396 ms (1)
| files.writeFile 1 ms (1)
| ProjectContext prepareProjectForBuild.........................3,465 ms (1)
| ├─ _resolveConstraints..........................................931 ms (1)
| │ ├─ bundler.readJsImage 125 ms (1)
| │ └─ JsImage#load..............................................734 ms (1)
| │ ├─ runJavaScript packages/meteor.js 116 ms (1)
| │ ├─ runJavaScript packages/logic-solver.js 245 ms (1)
| │ └─ runJavaScript packages/constraint-solver.js 125 ms (1)
| ├─ _downloadMissingPackages.....................................226 ms (1)
| │ └─ Isopack.readMetadataFromDirectory.........................172 ms (71)
| │ └─ files.readFile 150 ms (71)
| └─ _buildLocalPackages........................................2,301 ms (1)
| └─ IsopackCache Load local isopack.........................2,295 ms (71)
| └─ Isopack#initFromPath.................................2,224 ms (71)
| ├─ files.realpath 150 ms (71)
| ├─ files.readFile 104 ms (213)
| ├─ files.open 122 ms (562)
| ├─ bundler.readJsImage...............................1,185 ms (5)
| │ └─ meteorNpm.rebuildIfNonPortable.................1,086 ms (20)
| │ └─ files.readFile 868 ms (253)
| ├─ meteorNpm.rebuildIfNonPortable......................336 ms (19)
| │ └─ files.readFile 128 ms (275)
| └─ other Isopack#initFromPath 143 ms
|
| Top leaves:
| files.readFile...........................................1,393 ms (1016)
| files.lstat................................................295 ms (1194)
| runJavaScript packages/logic-solver.js.....................245 ms (1)
| files.stat.................................................177 ms (869)
| files.realpath.............................................150 ms (71)
| other Isopack#initFromPath.................................143 ms (71)
| other meteorNpm.rebuildIfNonPortable.......................138 ms (39)
| runJavaScript packages/underscore.js.......................133 ms (2)
| runJavaScript packages/constraint-solver.js................125 ms (1)
| files.open.................................................122 ms (562)
|
| (#1) Total: 4,236 ms (ProjectContext prepareProjectForBuild)
|
| (#2) Profiling: Build App
|
| bundler.readJsImage...........................................2,486 ms (1)
| └─ meteorNpm.rebuildIfNonPortable.............................2,462 ms (8)
| ├─ files.readdir 174 ms (451)
| ├─ files.lstat 1,384 ms (5022)
| └─ other meteorNpm.rebuildIfNonPortable 787 ms
| JsImage#load..................................................2,364 ms (1)
| ├─ runJavaScript packages/ecmascript-runtime.js 344 ms (1)
| ├─ runJavaScript packages/babel-compiler.js 1,572 ms (1)
| └─ runJavaScript packages/ddp-client.js 100 ms (1)
| files.stat 0 ms (3)
| files.readFile 10 ms (4)
| Build App....................................................24,066 ms (1)
| └─ files.withCache...........................................24,066 ms (1)
| ├─ compiler.compile(the app)..............................12,713 ms (1)
| │ └─ files.withCache.....................................12,712 ms (2)
| │ └─ compileUnibuild (the app)........................12,711 ms (2)
| │ ├─ Isopack#ensurePluginsInitialized...............6,051 ms (24)
| │ │ ├─ JsImage#load................................5,881 ms (5)
| │ │ │ ├─ runJavaScript packages/underscore.js 245 ms (4)
| │ │ │ ├─ runJavaScript packages/meteor.js 229 ms (4)
| │ │ │ ├─ runJavaScript packages/minifier-js.js 438 ms (2)
| │ │ │ ├─ runJavaScript packages/ecmascript-runtime.js 667 ms (2)
| │ │ │ ├─ runJavaScript packages/babel-compiler.js 3,528 ms (2)
| │ │ │ └─ runJavaScript packages/html-tools.js 162 ms (1)
| │ │ └─ other Isopack#ensurePluginsInitialized 170 ms
| │ ├─ files.withCache................................5,087 ms (2)
| │ │ └─ files.realpath 4,973 ms (15)
| │ ├─ files.readdir 129 ms (192)
| │ ├─ files.lstat 1,105 ms (1542)
| │ └─ other compileUnibuild (the app) 294 ms
| ├─ bundler.bundle..makeClientTarget........................6,762 ms (1)
| │ └─ Target#make..........................................6,762 ms (1)
| │ ├─ Target#_runCompilerPlugins........................1,137 ms (1)
| │ │ ├─ files.realpath 127 ms (52)
| │ │ └─ plugin ecmascript 938 ms (1)
| │ └─ Target#_emitResources.............................5,570 ms (1)
| │ ├─ PackageSourceBatch.computeJsOutputFilesMap.....5,286 ms (1)
| │ │ ├─ ImportScanner#_getInstallPath 107 ms (367)
| │ │ ├─ ImportScanner#_findImportedModuleIdentifiers 4,266 ms (337)
| │ │ ├─ Resolver#resolve..............................409 ms (935)
| │ │ │ ├─ Resolver#_resolveRelative..................180 ms (331)
| │ │ │ │ └─ Resolver#_joinAndStat...................176 ms (273)
| │ │ │ │ └─ files.stat 103 ms (372)
| │ │ │ └─ Resolver#_resolveNodeModule................124 ms (58)
| │ │ │ └─ Resolver#_joinAndStat 106 ms (159)
| │ │ ├─ ImportScanner#_readFile.......................340 ms (299)
| │ │ │ └─ files.readFile 302 ms (299)
| │ │ └─ other PackageSourceBatch.computeJsOutputFilesMap 164 ms
| │ └─ PackageSourceBatch#getResources..................272 ms (53)
| │ └─ PackageSourceBatch#_linkJS 270 ms (53)
| ├─ bundler.bundle..makeServerTarget........................2,357 ms (1)
| │ └─ Target#make..........................................2,356 ms (1)
| │ ├─ Target#_runCompilerPlugins..........................504 ms (1)
| │ │ ├─ files.realpath 185 ms (62)
| │ │ └─ plugin ecmascript................................196 ms (1)
| │ │ └─ Babel.compile 119 ms (39)
| │ └─ Target#_emitResources.............................1,827 ms (1)
| │ ├─ PackageSourceBatch.computeJsOutputFilesMap.....1,693 ms (1)
| │ │ ├─ ImportScanner#_getInstallPath 118 ms (414)
| │ │ ├─ ImportScanner#_findImportedModuleIdentifiers 659 ms (382)
| │ │ ├─ Resolver#resolve..............................428 ms (1012)
| │ │ │ ├─ Resolver#_resolveRelative..................140 ms (384)
| │ │ │ │ └─ Resolver#_joinAndStat 135 ms (303)
| │ │ │ └─ Resolver#_resolveNodeModule................158 ms (81)
| │ │ │ └─ Resolver#_joinAndStat 134 ms (269)
| │ │ ├─ ImportScanner#_readFile.......................320 ms (338)
| │ │ │ └─ files.readFile 286 ms (338)
| │ │ └─ other PackageSourceBatch.computeJsOutputFilesMap 169 ms
| │ └─ PackageSourceBatch#getResources..................127 ms (63)
| │ └─ PackageSourceBatch#_linkJS 126 ms (63)
| └─ bundler writeSiteArchive................................2,218 ms (1)
| ├─ bundler writeTargetToPath............................1,807 ms (2)
| │ ├─ ClientTarget#write..................................303 ms (1)
| │ │ └─ bundler writeFile................................122 ms (54)
| │ │ └─ Builder#write 121 ms (54)
| │ └─ ServerTarget#write................................1,471 ms (1)
| │ └─ JsImage#write..................................1,410 ms (1)
| │ ├─ Builder#write.................................552 ms (114)
| │ │ ├─ files.writeFile 337 ms (114)
| │ │ └─ files.rename 114 ms (114)
| │ ├─ files.readFile 142 ms (221)
| │ └─ other JsImage#write 506 ms
| └─ Builder#complete.......................................389 ms (1)
| └─ files.renameDirAlmostAtomically.....................389 ms (1)
| └─ files.rm_recursive 386 ms (1)
|
| Top leaves:
| files.realpath...........................................5,285 ms (129)
| ImportScanner#_findImportedModuleIdentifiers.............4,925 ms (719)
| files.lstat..............................................2,571 ms (6783)
| files.readFile.............................................986 ms (1238)
| other meteorNpm.rebuildIfNonPortable.......................787 ms (8)
| files.stat.................................................587 ms (2889)
| other JsImage#write........................................506 ms (1)
| files.writeFile............................................465 ms (225)
| files.rm_recursive.........................................389 ms (4)
| files.readdir..............................................387 ms (783)
| other PackageSourceBatch.computeJsOutputFilesMap...........332 ms (2)
| other compileUnibuild (the app)............................294 ms (2)
| runJavaScript packages/underscore.js.......................293 ms (5)
| files.rename...............................................231 ms (231)
| ImportScanner#_getInstallPath..............................229 ms (802)
| Babel.compile..............................................189 ms (69)
| other Isopack#ensurePluginsInitialized.....................170 ms (24)
| other Resolver#resolve.....................................169 ms (1947)
| runJavaScript packages/html-tools.js.......................162 ms (1)
| sha1.......................................................149 ms (1364)
| other Target#_runCompilerPlugins...........................133 ms (2)
|
| (#2) Total: 28,927 ms (Build App)

BOILERPLATE

[[[[[ C:\Projects\meteor_Apps\Dashboard ]]]]]

=> Started proxy.
| (#1) Profiling: ProjectContext prepareProjectForBuild
=> Started MongoDB.
|
| sqlite query 25 ms (3)
| files.readFile 25 ms (2)
| files.stat 0 ms (1)
| files.unlink 2 ms (1)
| bundler.readJsImage.............................................263 ms (1)
| └─ meteorNpm.rebuildIfNonPortable...............................249 ms (2)
| └─ files.lstat 113 ms (407)
| JsImage#load....................................................492 ms (1)
| └─ runJavaScript packages/npm-mongo.js 410 ms (1)
| files.writeFile 1 ms (1)
| ProjectContext prepareProjectForBuild........................11,474 ms (1)
| ├─ _resolveConstraints..........................................646 ms (1)
| │ ├─ bundler.readJsImage 124 ms (1)
| │ └─ JsImage#load..............................................490 ms (1)
| │ ├─ runJavaScript packages/meteor.js 100 ms (1)
| │ └─ runJavaScript packages/logic-solver.js 152 ms (1)
| ├─ _downloadMissingPackages.....................................203 ms (1)
| │ └─ Isopack.readMetadataFromDirectory.........................160 ms (90)
| │ └─ files.readFile 139 ms (90)
| └─ _buildLocalPackages.......................................10,616 ms (1)
| └─ IsopackCache Load local isopack........................10,609 ms (90)
| └─ Isopack#initFromPath................................10,503 ms (90)
| ├─ files.realpath 227 ms (90)
| ├─ files.readFile 170 ms (270)
| ├─ files.open 175 ms (668)
| ├─ files.read 867 ms (668)
| ├─ bundler.readJsImage...............................6,220 ms (9)
| │ ├─ files.readFile 177 ms (148)
| │ └─ meteorNpm.rebuildIfNonPortable.................5,978 ms (42)
| │ ├─ files.readdir 699 ms (1277)
| │ ├─ files.lstat 2,921 ms (6809)
| │ ├─ files.stat 463 ms (1741)
| │ ├─ files.readFile 473 ms (854)
| │ └─ other meteorNpm.rebuildIfNonPortable 1,422 ms
| ├─ meteorNpm.rebuildIfNonPortable....................2,449 ms (24)
| │ ├─ files.readdir 228 ms (484)
| │ ├─ files.lstat 1,280 ms (3651)
| │ ├─ files.stat 165 ms (740)
| │ ├─ files.readFile 203 ms (409)
| │ └─ other meteorNpm.rebuildIfNonPortable 574 ms
| └─ other Isopack#initFromPath 206 ms
|
| Top leaves:
| files.lstat..............................................4,357 ms (11036)
| other meteorNpm.rebuildIfNonPortable.....................2,083 ms (68)
| files.readFile...........................................1,275 ms (1914)
| files.readdir..............................................965 ms (1866)
| files.read.................................................867 ms (668)
| files.stat.................................................703 ms (2868)
| files.realpath.............................................227 ms (90)
| other Isopack#initFromPath.................................206 ms (90)
| files.open.................................................175 ms (668)
| runJavaScript packages/logic-solver.js.....................152 ms (1)
| runJavaScript packages/underscore.js.......................105 ms (2)
|
| (#1) Total: 12,282 ms (ProjectContext prepareProjectForBuild)
|
| (#2) Profiling: Build App
|
| bundler.readJsImage...........................................1,920 ms (1)
| └─ meteorNpm.rebuildIfNonPortable.............................1,887 ms (8)
| ├─ files.readdir 154 ms (451)
| ├─ files.lstat 981 ms (5022)
| └─ other meteorNpm.rebuildIfNonPortable 631 ms
| JsImage#load..................................................2,123 ms (1)
| ├─ runJavaScript packages/ecmascript-runtime.js 334 ms (1)
| └─ runJavaScript packages/babel-compiler.js 1,249 ms (1)
| files.stat 0 ms (3)
| files.readFile 14 ms (4)
| Build App....................................................35,126 ms (1)
| └─ files.withCache...........................................35,126 ms (1)
| ├─ compiler.compile(the app)..............................13,491 ms (1)
| │ └─ files.withCache.....................................13,489 ms (2)
| │ └─ compileUnibuild (the app)........................13,489 ms (2)
| │ ├─ Isopack#ensurePluginsInitialized...............5,783 ms (24)
| │ │ ├─ JsImage#load................................5,502 ms (5)
| │ │ │ ├─ runJavaScript packages/underscore.js 177 ms (4)
| │ │ │ ├─ runJavaScript packages/meteor.js 159 ms (4)
| │ │ │ ├─ runJavaScript packages/minifier-js.js 248 ms (2)
| │ │ │ ├─ runJavaScript packages/ecmascript-runtime.js 643 ms (2)
| │ │ │ ├─ runJavaScript packages/babel-compiler.js 3,594 ms (2)
| │ │ │ └─ runJavaScript packages/html-tools.js 153 ms (1)
| │ │ └─ other Isopack#ensurePluginsInitialized 281 ms
| │ ├─ files.withCache................................5,821 ms (2)
| │ │ ├─ files.realpath 4,467 ms (247)
| │ │ ├─ files.readdir 537 ms (494)
| │ │ ├─ files.stat 281 ms (1883)
| │ │ └─ other files.withCache 535 ms
| │ ├─ files.readdir 313 ms (728)
| │ ├─ files.lstat 918 ms (2949)
| │ └─ other compileUnibuild (the app) 470 ms
| ├─ bundler.bundle..makeClientTarget.......................15,731 ms (1)
| │ └─ Target#make.........................................15,730 ms (1)
| │ ├─ Target#_runCompilerPlugins........................8,347 ms (1)
| │ │ ├─ files.realpath 235 ms (68)
| │ │ ├─ Isopack#ensurePluginsInitialized...............6,884 ms (155)
| │ │ │ └─ JsImage#load................................6,877 ms (3)
| │ │ │ ├─ runJavaScript packages/underscore.js 233 ms (3)
| │ │ │ ├─ runJavaScript packages/meteor.js 264 ms (3)
| │ │ │ ├─ runJavaScript packages/ecmascript-runtime.js 473 ms (1)
| │ │ │ ├─ runJavaScript packages/babel-compiler.js 1,748 ms (1)
| │ │ │ ├─ runJavaScript packages/caching-compiler.js 137 ms (1)
| │ │ │ ├─ runJavaScript packages/compileLessBatch_plugin.js 291 ms (1)
| │ │ │ ├─ runJavaScript packages/unofficial_babel-compiler.js 2,383 ms (1)
| │ │ │ └─ runJavaScript packages/CosmosBrowserify_plugin.js 1,142 ms (1)
| │ │ ├─ plugin ecmascript..............................1,015 ms (1)
| │ │ │ ├─ Babel.compile 163 ms (73)
| │ │ │ └─ other plugin ecmascript 813 ms
| │ │ └─ other Target#_runCompilerPlugins 149 ms
| │ ├─ Target#_emitResources.............................6,833 ms (1)
| │ │ ├─ PackageSourceBatch.computeJsOutputFilesMap.....6,538 ms (1)
| │ │ │ ├─ ImportScanner#_getInstallPath 172 ms (478)
| │ │ │ ├─ ImportScanner#_findImportedModuleIdentifiers 4,884 ms (431)
| │ │ │ ├─ Resolver#resolve..............................864 ms (1222)
| │ │ │ │ ├─ Resolver#_resolveRelative..................188 ms (465)
| │ │ │ │ │ └─ Resolver#_joinAndStat...................180 ms (350)
| │ │ │ │ │ └─ files.stat 101 ms (410)
| │ │ │ │ ├─ Resolver#_resolveNodeModule................519 ms (115)
| │ │ │ │ │ └─ Resolver#_joinAndStat...................473 ms (411)
| │ │ │ │ │ ├─ files.stat 369 ms (1273)
| │ │ │ │ │ └─ other Resolver#_joinAndStat 104 ms
| │ │ │ │ └─ other Resolver#resolve 104 ms
| │ │ │ ├─ ImportScanner#_readFile.......................428 ms (376)
| │ │ │ │ └─ files.readFile 389 ms (376)
| │ │ │ └─ other PackageSourceBatch.computeJsOutputFilesMap 190 ms
| │ │ └─ PackageSourceBatch#getResources..................286 ms (69)
| │ │ └─ PackageSourceBatch#_linkJS....................284 ms (69)
| │ │ ├─ files.readFile 105 ms (69)
| │ │ └─ other PackageSourceBatch#_linkJS 177 ms
| │ └─ ClientTarget#minifyCss..............................469 ms (1)
| │ └─ mergeCss.........................................467 ms (1)
| │ └─ CssTools.stringifyCss 409 ms (1)
| ├─ bundler.bundle..makeServerTarget........................3,400 ms (1)
| │ └─ Target#make..........................................3,400 ms (1)
| │ ├─ Target#_runCompilerPlugins..........................832 ms (1)
| │ │ ├─ files.realpath 259 ms (74)
| │ │ ├─ plugin ecmascript................................387 ms (1)
| │ │ │ ├─ Babel.compile 221 ms (79)
| │ │ │ └─ other plugin ecmascript 112 ms
| │ │ └─ other Target#_runCompilerPlugins 138 ms
| │ └─ Target#_emitResources.............................2,543 ms (1)
| │ ├─ PackageSourceBatch.computeJsOutputFilesMap.....2,200 ms (1)
| │ │ ├─ ImportScanner#_getInstallPath 141 ms (449)
| │ │ ├─ ImportScanner#_findImportedModuleIdentifiers 1,078 ms (393)
| │ │ ├─ Resolver#resolve..............................480 ms (1063)
| │ │ │ ├─ Resolver#_resolveRelative..................144 ms (416)
| │ │ │ │ └─ Resolver#_joinAndStat 135 ms (313)
| │ │ │ └─ Resolver#_resolveNodeModule................233 ms (103)
| │ │ │ └─ Resolver#_joinAndStat...................204 ms (362)
| │ │ │ └─ files.stat 139 ms (724)
| │ │ ├─ ImportScanner#_readFile.......................333 ms (342)
| │ │ │ └─ files.readFile 304 ms (342)
| │ │ └─ other PackageSourceBatch.computeJsOutputFilesMap 167 ms
| │ └─ PackageSourceBatch#getResources..................328 ms (75)
| │ └─ PackageSourceBatch#_linkJS....................324 ms (75)
| │ ├─ files.readFile 141 ms (75)
| │ └─ other PackageSourceBatch#_linkJS 180 ms
| └─ bundler writeSiteArchive................................2,480 ms (1)
| ├─ bundler writeTargetToPath............................2,133 ms (2)
| │ ├─ ClientTarget#write..................................487 ms (1)
| │ │ ├─ Builder#write 103 ms (52)
| │ │ ├─ bundler writeFile................................121 ms (71)
| │ │ │ └─ Builder#write 120 ms (71)
| │ │ └─ other ClientTarget#write 260 ms
| │ └─ ServerTarget#write................................1,639 ms (1)
| │ └─ JsImage#write..................................1,589 ms (1)
| │ ├─ Builder#write.................................379 ms (136)
| │ │ ├─ files.writeFile 167 ms (136)
| │ │ └─ files.rename 118 ms (136)
| │ ├─ files.lstat 260 ms (765)
| │ ├─ files.readdir 202 ms (433)
| │ ├─ files.readFile 180 ms (345)
| │ └─ other JsImage#write 475 ms
| └─ Builder#complete.......................................328 ms (1)
| └─ files.renameDirAlmostAtomically.....................328 ms (1)
| └─ files.rm_recursive 326 ms (1)
|
| Top leaves:
| ImportScanner#_findImportedModuleIdentifiers.............5,962 ms (824)
| files.realpath...........................................4,961 ms (389)
| files.lstat..............................................2,159 ms (8736)
| files.stat...............................................1,339 ms (6762)
| files.readFile...........................................1,322 ms (1733)
| files.readdir............................................1,207 ms (2106)
| other plugin ecmascript....................................925 ms (2)
| other meteorNpm.rebuildIfNonPortable.......................631 ms (8)
| other files.withCache......................................551 ms (5)
| runJavaScript packages/underscore.js.......................488 ms (8)
| other JsImage#write........................................475 ms (1)
| other compileUnibuild (the app)............................470 ms (2)
| CssTools.stringifyCss......................................409 ms (1)
| Babel.compile..............................................384 ms (152)
| other PackageSourceBatch.computeJsOutputFilesMap...........357 ms (2)
| other PackageSourceBatch#_linkJS...........................357 ms (144)
| files.rm_recursive.........................................330 ms (4)
| ImportScanner#_getInstallPath..............................321 ms (965)
| files.writeFile............................................305 ms (277)
| other Target#_runCompilerPlugins...........................287 ms (2)
| other Isopack#ensurePluginsInitialized.....................287 ms (179)
| other ClientTarget#write...................................260 ms (1)
| other Resolver#_joinAndStat................................248 ms (1123)
| files.rename...............................................201 ms (283)
| other Resolver#resolve.....................................182 ms (2285)
| sha1.......................................................177 ms (1690)
| runJavaScript packages/html-tools.js.......................153 ms (1)
| runJavaScript packages/random.js...........................113 ms (3)
| runJavaScript packages/modules-runtime.js..................100 ms (4)
|
| (#2) Total: 39,184 ms (Build App)
|
�[34mI20160724-10:53:04.673(-4)? �[39mStarting server...
=> Started your app.

@benjamn

This comment has been minimized.

Member

benjamn commented Jul 24, 2016

@ForHonor Thanks for the detailed profile report. Is there a repository for that react/meteor app that I could clone to reproduce this problem?

@ForHonor

This comment has been minimized.

ForHonor commented Jul 24, 2016

Since you asked, I just put it up here:
https://github.com/ForHonor/ytmr
This is the smaller of the 2 projects.
it is labelled Tutorial in my first post.
Thank you in advance for any advice.

@kevde

This comment has been minimized.

kevde commented Aug 18, 2016

Is this issue been improved in meteor 1.4. Just curious

@ForHonor

This comment has been minimized.

ForHonor commented Aug 31, 2016

I've stopped working on Meteor for the time being. I didn't have much luck
with the upgrades and shifted back to other things that I could make
progress on...

On Thu, Aug 18, 2016 at 1:15 AM, kevde notifications@github.com wrote:

Is this issue been improved in meteor 1.4. Just curious


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#7253 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAPOjMPThgbA36bzPOVR7guvPvqYepr6ks5qg-pkgaJpZM4I5H8e
.

@laserbeak

This comment has been minimized.

laserbeak commented Oct 18, 2016

Meteor 1.4 on Xubuntu. AMD Octacore @ 3GHz 32GB RAM... Just finished reading this entire thread and still refreshing.

-Edit-
Just came back from shopping and it was still "refreshing." Thought that if it were when I had gotten home that I would try stopping MongoDB in the project. Once I did this, the project immediately loaded.

@abernix

This comment has been minimized.

Member

abernix commented Oct 18, 2016

For those that are interested, Meteor 1.4.2 is in beta and many users are experiencing significant increases in refreshes between saves and initial build times. I won't say the issue is put to rest completely, but it does appear to be much quicker.

The beta channel isn't always bug free and you may run into unrelated bugs, but if you're in a position to test you might find significant speed increases. You can participate in the discussion and find how to try the current beta release in #7668.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment