An Introduction to JS-Ctypes

Andrea Giammarchi andrea.giammarchi at
Sat Sep 17 21:17:14 PDT 2011

Cython is used to create Python extension so does js-ctypes ...
Cython is a superset of Python statically compilable so is, or it should be,
js-ctypes and/or proposal

The fact js-ctypes are not trace-JITed at all was *in any case* unexpected
to me and the fact js-ctypes are coupled with the "native compiled system
library interaction" makes sense only now since it would have been *great*
to have StructType and ArrayType in Mozilla add-ons if these would have
brought performances boost.

We can agree I compared two different things but we all know duck typing so:

    1. looks the same
    2. has same name
    3. it's experimental/extension only
    4. it's used same way ( at least in a JS context )
    5. must be the same

In any case I have already updated the post explaining it was my mistake
plus I have filed the bug explaining, again, I am not sure anymore what to
expect from js-ctypes in therms of raw performances boost

On Sun, Sep 18, 2011 at 6:05 AM, Brendan Eich <brendan at> wrote:

> On Sep 17, 2011, at 10:39 PM, Andrea Giammarchi wrote:
> > Can we at least agree that if some extension brings *exactly* same
> constructor name, StructType and ArrayType, and more or less exactly the
> same signature/usage of what Brendan showed in his slides it become kinda
> natural to compare/test/confuse these two different implementations for
> different purposes ?
> Your blog mixes things together based on less than names being the same --
> why did you drag in Cython?
> Anyway, please take the point that Mozilla SpiderMonkey's jsctypes FFI has
> had no JIT optimizations at all, unlike the nearby typed arrays
> implementation -- and that ES6 binary data is an extension of the latter,
> not anything to do with the former.
> "Can we at least agree" that you were connecting dots that have no dashed
> lines between them? Yes.
> Common names recur in many places in JS, but namespaced somehow. This case
> is no different.
> /be
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list