You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • I've got the code in the benchmarks directory that I've been using - they're not perfect though.

    Are you compiling with RELEASE=1? Without it, the asserts are left in which really kills performance.

    The stuff marked ALWAYS_INLINE is worth going for first. Specifically jsvGetAddressOf Lock, UnLock, Ref, UnRef, Get/SetXXXChild/Sibling are all very small functions with big improvements from inlining (in fact they shouldn't increase code size much at all).

    Same for jsvIsXXX - in fact by inlining those, the compiler should be able to remove some of the null checks.

    Perhaps you could look at having two inline defines, ALWAYS_INLINE and MAYBE_INLINE or something?

    Espruino itself really isn't that fast though - or does ESP8266 look bad in comparison with other STM32 based boards?

About

Avatar for Gordon @Gordon started