Skip to content

Update gaze to the latest version #412

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

Closed
wants to merge 1 commit into from
Closed

Conversation

jifeon
Copy link

@jifeon jifeon commented Feb 25, 2015

Hi, thank you for the great lib.

I have a performance issue on OS X. Here I read that [email protected] has better support for OS X, I updated gaze and it solved my problem. So I suggest to update it in the package.json file. Are there any reasons to stay on "^0.5.1"?

@jifeon jifeon mentioned this pull request Feb 25, 2015
@shama
Copy link
Member

shama commented Feb 25, 2015

[email protected] to [email protected] switched to native bindings. It has many perf fixes but at a cost. Users are required to build the native addon and for Windows users at Grunt's scale, bumping to [email protected] will lead to a lot of issues as building addons isn't easy for them.

So the path forward is this comment in another bump gaze PR: #408 (comment)

@jifeon
Copy link
Author

jifeon commented Feb 25, 2015

Ok, but maybe workaround (manually installing fresh gaze for OS X users) should be mentioned somewhere in readme. I have been spent for hours trying to find out where is the problem. And the only solution I found is increasing some interval to 5007 😕 It was very strange :) because I can increase it to 5001 and have the same effect: need to wail approximately 5 sec before grunt starts to rebuild. So I think tiny note about it can save the time

@shama
Copy link
Member

shama commented Feb 25, 2015

@jifeon
Copy link
Author

jifeon commented Feb 25, 2015

There is nothing about you can update gaze to 6.x manually for OS X users. Increasing the interval is not a good solution.

@shama
Copy link
Member

shama commented Feb 25, 2015

Telling users to manually install a different version of a sub dependency isn't something we should advise people to do. If it works for you then fine.

If instructing users to bump the gaze version was a good solution, we'd just bump the dependency; not a note in the readme. But bumping gaze causes the tests to fail here as well as the previously mentioned Windows issues.

The road forward is fix the problems, not docs on hacks around them. Feel free to help me fix them too. :)

@philipbulley
Copy link

Not sure if this is useful to you, but will post anyway. I'm on Win7, I bumped gaze to 0.6.4. I have previously tackled the node-gyp vs Visual Studio C++ issues so it appears to have installed/built successfully. But running the watch task produces the following:

Running tasks: watch

Running "watch" task
Waiting...
Verifying property watch exists in config...OK
Verifying property watch.tyepscript.files exists in config...OK
Verifying property watch.scss.files exists in config...OK
Verifying property watch.markup.files exists in config...OK
Live reload server started on port: 35729
Fatal error: Cannot call method 'forEach' of null
Fatal error: Cannot call method 'forEach' of null
Fatal error: Cannot call method 'forEach' of null

@drawveloper
Copy link

@shama do you have any idea when gaze 0.6 will be released to npm?

@shama
Copy link
Member

shama commented Mar 19, 2015

@firstdoit gaze 0.6 already has been published to npm. That isn't the issue.

@drawveloper
Copy link

Oops. I thought that only 0.5.1 was released.
https://www.npmjs.com/package/gaze

Ok then, thanks!

On Thu, Mar 19, 2015 at 10:56 AM Kyle Robinson Young <
[email protected]> wrote:

@firstdoit https://github.com/firstdoit gaze 0.6 already has been
published to npm. That isn't the issue.


Reply to this email directly or view it on GitHub
#412 (comment)
.

@joshperry
Copy link

+1 OSX user here, I have a few grunt processes running for API, web front-end, and open-id API. Each grunt was taking 5-6% CPU, >15% in aggregate, on a quad i7. I updated gaze to 0.6.1 directly in my node_modules and the CPU usage dropped to 0.3%. This sucks, but at least it keeps my MBP fan from spooling up.

Perhaps moving to shama/navelgazer (the layer that gazer uses for change notifications) would make sense, it has pre-built binaries so building for Windows users wouldn't be an issue. Does this plugin use any of the advanced globbing or other features of gaze?

@shama
Copy link
Member

shama commented Apr 1, 2015

Sorry for all the confusion. Here is what needs to happen in order to upgrade:

  1. Continue testing navelgazer and ensure it's stable
  2. Finish integrating navelgazer into gaze (meaning all tests passing). Here is the branch where that is happening
  3. Then integrate that next version of gaze into here and ensure all tests pass.
  4. Publish a new version of grunt-contrib-watch.

Unfortunately I am the only one working on this atm and I don't have a lot of time lately (as my real job is getting close to launching our product). Hopefully I'll have more time to finish it all up later but would very much appreciate any help. Thanks!

@joshperry
Copy link

@shama Ah, sorry for the disconnect in my head between you working on both projects.

I'm in the middle of a crunch right now so I can't help either. I should have some time after our tradeshow in a couple weeks and I'll pop back to see if I can lend a hand.

@freeall
Copy link

freeall commented Apr 30, 2015

@joshperry @shama Had the same issue with high cpu usage and came here. Tried to replace with gaze 0.6, but it only compiles on node 0.10. I couldn't get it to compile on 0.12 or iojs. Is this similar to what you've seen?

@shama
Copy link
Member

shama commented Apr 30, 2015

@freeall Would you mind trying the navelgazer branch on gaze? That should compile with node v0.12 and io.js.

BTW, an alternative easier workaround for now that might reduce the CPU usage is setting a higher interval in the options.

@freeall
Copy link

freeall commented Apr 30, 2015

@shama trying

@freeall
Copy link

freeall commented Apr 30, 2015

Wow! It's much, much, much, much better! Went from idling >80% cpu (older macbook air) to ~0%. Using iojs.

Are you going to replace with this version+branch?

@shama
Copy link
Member

shama commented Apr 30, 2015

@freeall That is the plan but I've been busy with work and distracted with other projects, so I haven't gotten to it yet. Currently there are a couple tests failing with that branch that need to get fixed and then we can integrate here.

@freeall
Copy link

freeall commented May 4, 2015

@shama makes sense. Need any help?

I thought about it over the weekend, and it would be great to get updated for a little different reason. According to https://www.npmjs.com/package/grunt-contrib-watch there was >12k install over the last day. So it's running on a high number of machines. If the module is updated to the new method all these computers will now use less power to run, and although it may not mean a lot in the grand scheme of things this update could help the environment just a tiny bit.

I can try to look into this tonight if you're interested.

@shama
Copy link
Member

shama commented May 4, 2015

@freeall Sure! Help is always welcomed. Thanks!

@vladikoff vladikoff mentioned this pull request May 7, 2015
@NickMele
Copy link

@shama What is the status of this? I see your last comment mentions that you may need help with this. Have you gotten anywhere, or is anyone looking into getting this working?

@shama
Copy link
Member

shama commented Jun 15, 2015

@NickMele The status is the same. I'll be sure to update the issue if the status has changed.

@joshperry
Copy link

@shama have some time to work on this. Question, if this is a good place to talk.

In the multipleInstances test, it is set up to expect a deterministic ordering of events from the two instances. Is this determinism something that gaze guarantees or can I fix the test to be order independent?

@shama
Copy link
Member

shama commented Sep 30, 2015

Is this determinism something that gaze guarantees or can I fix the test to be order independent?

Feel free to fix the test to be order independent. Thanks!

@joshperry
Copy link

Hey guys, I spent some time yesterday finishing up navelgazer, integrating it with gaze on the shama/gaze#navelgazer branch, and getting all of their respective tests to pass.

My current project has two services that I run while doing dev work and usually accounts for around 20% CPU utilization. I worked with the new code today and it seems to be functioning correctly and has relieved my CPU immensely.

I installed this build on only one of the services and this is what they looked like after a handful of hours working:

👍

@freeall
Copy link

freeall commented Oct 2, 2015

👍

@shama
Copy link
Member

shama commented Oct 5, 2015

🤘 🤘 🤘

@ntwb ntwb mentioned this pull request Jan 1, 2016
@phallstrom
Copy link

Wonder what the status of this is? Only watching a few files, but it's polling constantly.

@shama
Copy link
Member

shama commented Mar 12, 2016

Fixed with e1b888f

@shama shama closed this Mar 12, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants