Live data from Hacker News

Nodejs+Fabric as fast as multi-threaded C++

fabric-engine.com

1–10 of 68 posts

Re: Nodejs+Fabric as fast as multi-threaded C++

#5
Not that it diminishes the interestingness of this post (quite the opposite), but it's worth noting that this is not achieved using plain-vanilla JavaScript. From the product page:

"The high-performance parts of the application are written using a performance-specific extension to JavaScript, called KL (Kernel Language). This language is similar in scope and syntax to JavaScript, but has some key differences that optimize it for writing high-performance code.

Fabric applications are described as a dependency graph (think of a flow chart). The dependency graph describes data, and the transformations that must happen to that data. Fabric analyses the graph to discover where it is possible to perform tasks in parallel. (task-based decomposition) Fabric analyses the graph to discover where it is possible to perform the same instruction on lots of data at the same time.

All of this is possible because Fabric has the LLVM compiler embedded within it. This means that applications are dynamically compiled on target. The Fabric plug-in has to be written for each platform, but Fabric applications only have to be written once.

Fabric handles CPU multi-threading automatically, but the developer must explicitly write code for the GPU using OpenCL."

Re: Nodejs+Fabric as fast as multi-threaded C++

#6

Not that it diminishes the interestingness of this post (quite the opposite), but it's worth noting that this is not achieved using plain-vanilla JavaScript. From the product page: "The high-performance parts of the application are written using a performance-specific extension to JavaScript, called KL (Kernel Language). This language is similar in scope and syntax to JavaScript, but has some key differences that opt…

In other words, a better headline would be "Fabric Engine fast as multithreaded C++ (and can be glued to JS)"

Re: Nodejs+Fabric as fast as multi-threaded C++

#7
While this is interesting, not all CPUs are created equal. I can run the var-mt.cpp example on POWER hardware in:

  real    0m25.680s
My point being, that node.js doesn't work on this box, nor does Fabric. So when developing specialized algorithms you sometimes might want to run them in specialized environments.

Re: Nodejs+Fabric as fast as multi-threaded C++

#8

Not that it diminishes the interestingness of this post (quite the opposite), but it's worth noting that this is not achieved using plain-vanilla JavaScript. From the product page: "The high-performance parts of the application are written using a performance-specific extension to JavaScript, called KL (Kernel Language). This language is similar in scope and syntax to JavaScript, but has some key differences that opt…

Any ideas on how this model compares to HipHop (Facebook's PHP-to-C system)?
Post reply on HN