Live data from Hacker News

Fabric Engine: JavaScript as fast as C++

h-online.com

21–30 of 46 posts

Re: Fabric Engine: JavaScript as fast as C++

#21
post #4

Earlier quoted context omitted.

So its like a cython for javascript?

not really - Fabric is integrated with dynamic languages, we 're not interpreting JS or Python (we work with both languages). Fabric is basically a high-performance threading engine that you can call from your dynamic language - the key element is that the operator code (KL) enables the high-performance. This KL is only required for the operators, and is not as difficult or complex as C/C++ to use - it's designed pur…

Replying to comment below (can't see a reply button) - please correct me if I'm wrong, but I don't see anything about Cython handling multi-threading and I don't see anything about dynamic compilation on target. I just had a flick through their documentation, so if this stuff is in there then I missed it...

Re: Fabric Engine: JavaScript as fast as C++

#22
post #7

Earlier quoted context omitted.

i'm seeing this page from their site: http://documentation.fabric-engine.com/latest/FabricEngine-K... the KL language looks statically typed at a glance. So what's the advantage exactly?

we dynamically compile on target (using LLVM), and the developer doesn't have to manage things like pointers.

What's wrong with pointers? I quite enjoy working with pointers - they are a very simple concept.

Re: Fabric Engine: JavaScript as fast as C++

#23

Earlier quoted context omitted.

we dynamically compile on target (using LLVM), and the developer doesn't have to manage things like pointers.

What's wrong with pointers? I quite enjoy working with pointers - they are a very simple concept.

Using pointers adds a certain amount of complexity, and they also introduce the possibility of security problems. This was particularly important for the work we were doing on the browser plug-in. For the type of work that developers use KL for, they aren't needed.

Re: Fabric Engine: JavaScript as fast as C++

#24
Reality check:

[x] Claims to support a multitude of languages with wildly varying semantics while still achieving some goal that seems unrealistic (or thus-far un-achieved) even for a single one

[x] Claims to achieve performance similar to C/C++/fortran/some other traditionally-considered-fast language

[x] Claims that some traditionally-considered-hard-to-do-task will now become easy

[x] Uses buzzwords like "in the cloud"

[x] Shows meaningless benchmarks without context, code or an in-depth look at the actual bottlenecks of the benchmarked code, suggesting the particular solution by far exceeds all the competitors

[ ] Extensive usage of the words "flux capacitor" or "Gigawatts"

Re: Fabric Engine: JavaScript as fast as C++

#25
I understand the need for AGPL so this can be monetized, but I really wish there was a price on the commercial licensing page instead of just requiring me to contact y'all. Why do I have to "request licensing information", why can't it be made publicly visible?

Re: Fabric Engine: JavaScript as fast as C++

#26
post #24

Reality check: [x] Claims to support a multitude of languages with wildly varying semantics while still achieving some goal that seems unrealistic (or thus-far un-achieved) even for a single one [x] Claims to achieve performance similar to C/C++/fortran/some other traditionally-considered-fast language [x] Claims that some traditionally-considered-hard-to-do-task will now become easy [x] Uses buzzwords like "in the c…

lol :) Read this older HN thread - http://news.ycombinator.com/item?id=3227905 - a few people took our code and tried to make it faster in C/C++ and Java.

We made our benchmark code available: (https://github.com/fabric-engine/Benchmarks/tree/master/Serv...)

If you have a standalone module for the high-performance, then of course you can bind it to different languages. We're not interpreting the dynamic language, so therefore semantic differences between languages aren't a major factor.

If you think about what we're doing, it isn't surprising that we'd hit that kind of performance - after all, we're asking the developer for a concurrency-friendly description, then taking their operator code (which is strongly typed) and compiling it on target. It's more about the dynamic compilation that LLVM enables, and the ease of access for regular developers.

It runs on instances - how do you describe that other than to say 'in the cloud'?

The benchmarks are properly presented and explained: http://fabricengine.com/technology/benchmarks/

I understand the skepticism, but we have been open with our data and the code we used for our benchmarks. We're not claiming to go faster than light here ;)

Re: Fabric Engine: JavaScript as fast as C++

#27
post #24

Reality check: [x] Claims to support a multitude of languages with wildly varying semantics while still achieving some goal that seems unrealistic (or thus-far un-achieved) even for a single one [x] Claims to achieve performance similar to C/C++/fortran/some other traditionally-considered-fast language [x] Claims that some traditionally-considered-hard-to-do-task will now become easy [x] Uses buzzwords like "in the c…

lol :) Read this older HN thread - http://news.ycombinator.com/item?id=3227905 - a few people took our code and tried to make it faster in C/C++ and Java. We made our benchmark code available: ( https://github.com/fabric-engine/Benchmarks/tree/master/Serv... ) If you have a standalone module for the high-performance, then of course you can bind it to different languages. We're not interpreting the dynamic language, s…

p.s. Fabric Engine 2.0 has a flux capacitor

Re: Fabric Engine: JavaScript as fast as C++

#28
post #24

Reality check: [x] Claims to support a multitude of languages with wildly varying semantics while still achieving some goal that seems unrealistic (or thus-far un-achieved) even for a single one [x] Claims to achieve performance similar to C/C++/fortran/some other traditionally-considered-fast language [x] Claims that some traditionally-considered-hard-to-do-task will now become easy [x] Uses buzzwords like "in the c…

lol :) Read this older HN thread - http://news.ycombinator.com/item?id=3227905 - a few people took our code and tried to make it faster in C/C++ and Java. We made our benchmark code available: ( https://github.com/fabric-engine/Benchmarks/tree/master/Serv... ) If you have a standalone module for the high-performance, then of course you can bind it to different languages. We're not interpreting the dynamic language, s…

I'm mainly referring to the article here, which is rather ambiguous and mis-stated in its wording, as well as the submission title, which is entirely missing the point of what Fabric does. I don't doubt that you have more in-depth information on your site, or that, for that matter, using Fabric from your scripting-language of choice can actually speed up your code (considering things like Cython have existed for a while.)

Re: Fabric Engine: JavaScript as fast as C++

#29
post #28

Earlier quoted context omitted.

lol :) Read this older HN thread - http://news.ycombinator.com/item?id=3227905 - a few people took our code and tried to make it faster in C/C++ and Java. We made our benchmark code available: ( https://github.com/fabric-engine/Benchmarks/tree/master/Serv... ) If you have a standalone module for the high-performance, then of course you can bind it to different languages. We're not interpreting the dynamic language, s…

I'm mainly referring to the article here, which is rather ambiguous and mis-stated in its wording, as well as the submission title, which is entirely missing the point of what Fabric does. I don't doubt that you have more in-depth information on your site, or that, for that matter, using Fabric from your scripting-language of choice can actually speed up your code (considering things like Cython have existed for a wh…

p.s. I'm glad to hear about the addition of the flux capacitor

Re: Fabric Engine: JavaScript as fast as C++

#30
post #4

Earlier quoted context omitted.

So its like a cython for javascript?

not really - Fabric is integrated with dynamic languages, we 're not interpreting JS or Python (we work with both languages). Fabric is basically a high-performance threading engine that you can call from your dynamic language - the key element is that the operator code (KL) enables the high-performance. This KL is only required for the operators, and is not as difficult or complex as C/C++ to use - it's designed pur…

> Fabric is integrated with dynamic languages, we 're not interpreting JS or Python (we work with both languages).

Neither does Cython.

> Fabric is basically a high-performance threading engine that you can call from your dynamic language

Well Cython is for writing Python modules, so it's integrated with Python only. But that's pretty much it.

> the key element is that the operator code (KL) enables the high-performance. This KL is only required for the operators, and is not as difficult or complex as C/C++ to use - it's designed purely for this task.

So's Cython. Cython compile to a native module, that native module is simply imported and used from regular Python code.

> A regular Python or JavaScript developer can pick it up.

A regular Python developer really shouldn't have any trouble picking up cython.

Post reply on HN