Hacker News new | past | comments | ask | show | jobs | submit | sherbet's comments login

There are several well-known space and time efficient data-structures that answer membership/connectivity queries.

The main drawback has typically been that whilst they can be made to be incremental (e.g. the addition of vertices or edges) quite easily, they don't retain enough information to be made fully dynamic (addition AND removal of vertices and edges) without prohibitively increasing the space complexity required.

This data-structure, however, has particularly good time/space properties that make it interesting to anyone working on large-scale graph-analytical problems with a temporal component.


Our TypeScript project is ~20K SLOC. It compiles in roughly (I haven't measured exactly) the same amount of time it takes to compile 100 SLOC.

Since the Typescript compiler itself is > 2MB of minified js, it doesn't surprise me that compiling any TS has at least a second overhead.

What's more important to me is that:

- The compiler performance scales as the codebase increases in size.

- Incremental builds are fast. (ie the -watch option).

So far I have found both to be true. Incremental builds take < .5 sec on my laptop. That means I get a cute red-squiggly in Visual Studio in a convenient amount of time. Ultimately, that's half the reason for using TS in the first place; if it didn't improve our productivity, we wouldn't be using it.


Thanks for that bit of data. That makes good sense, and I should give it another try.


Are you using a grunt/gulp task to do the incremental build or doing it via VS/tsc directly ?


-watch doesn't find new files yet, does it?


Circa ~2005; correct me if I'm wrong but I don't think MapReduce has been used for search indexing at Google for half a decade.


It is more about the approach that keeps them there. i quote-

"Part of what makes Google such an amazing engine of innovation is their internal technology stack: a set of powerful proprietary technologies that makes it easy for Google developers to generate and process enormous quantities of data. According to a senior Microsoft developer who moved to Google, Googlers work and think at a higher level of abstraction than do developers at many other companies, including Microsoft: “Google uses Bayesian filtering the way Microsoft uses the if statement”


What replaced it?


Caffeine, based on the Percolator incremental processing framework: http://static.googleusercontent.com/media/research.google.co...


Thanks!


Google Caffeine was the public release. I don't believe the technical details have been published yet.


(Chrome devotee here). I spend an hour recently with FF-22 trying to debug a regression in FF by using the built-in dev tools; it seems to lack the ONLY feature that I actually want (and to be honest I feel so bemused that it's not there that I think I'm being dumb and missed it): I can't execute a JS statement in the context of the current stack frame. I'm sure the scratchpad must be able to do this, because otherwise it seems like its the most useless debugging console I've seen in some time.


I had the same experience. Fortunately, FF23 adds this feature (under the heading 'Web Console in Debugger Frame' in the linked post).


That feature means you can set a breakpoint in any javascript and while you are paused on a frame you can execute JS in the web console. The code you type executes in the stackframe you have selected in the debugger.

(this did not work in ff22 or older)


Nightly does that now.


We will add a way to select the iframe/frame where to execute JS. This feature is currently in planning.


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: