The linux kernel is in git.  It's HUGE.

I think the fsevents stream is the right way to go, but it needs refinement:
- the update interval is 1 second right now.  that's probably a bit aggressive.
- is it possible to just refresh subtrees based on what's changed?
- we should use gitignore info to filter file update events.  most of the noise 
comes from builds or logfiles or whatever
- it might also be worthwhile to insert some queueing so it will update at most 
one more time if update is called a bunch while it's updating

I could also be totally wrong, but it seems to me that using the OS's built-in 
features is going to give us the best bang for the buck.  I'm totally open to 
any other ideas.

-dave

On Mar 9, 2010, at 5:42 PM, Nathan Kinsinger wrote:

>       - performance
>               Because it is now possible to switch branches quickly I have 
> spent a lot of time trying to remove any extra updating of information and 
> views. Also Pieter mentioned that there are people with +100k commit repos so 
> I'm trying to cache some information and reuse it rather than reload/parse 
> from git every time. The largest public repo I've found is WebKit with 46k 
> commits and that is what I've been testing with. It's not instantaneous by 
> any means (there is only so much I can do with that many objects in an 
> NSArrayController) but it's better than when I started. I briefly looked at 
> adding Dave Grijalva's fsevents work but it causes too many updates, I have 
> some idea's about reducing them but haven't had to time to work on it.

Reply via email to