Log inSign up
Tzvetan Mikov
3,737 posts
user avatar
Tzvetan Mikov
@tmikov
Not my employer's opinions. Meta, Static Hermes - a native AOT JS compiler. Co-founded failed web.archive.org/web/2014011108…
San Francisco Bay Area, USA
tmikov.blogspot.com
Joined October 2010
731
Following
6,233
Followers
1
Subscription
  • Pinned
    user avatar
    Tzvetan Mikov
    @tmikov
    Feb 19
    Announcing Hermes-node Hermes can now run as a standalone CLI with Node.js-compatible APIs - no C++ embedding required. Technically, hermes-node is a Node.js API compatibility layer for Hermes. It ports Node's native bindings (fs, net, http, child_process, etc.) to Node-API and
    00:00
    71K
  • user avatar
    Tzvetan Mikov
    @tmikov
    Nov 2, 2023
    We wanted to show the performance and the insane power of the Static Hermes native FFI. But we don't yet support the all language features needed to compile React Native (soon though!), so we improvised. We imported the bindings for DearImGui (a popular C++ imperative game UI
    00:00
    826K
  • user avatar
    Tzvetan Mikov
    @tmikov
    Nov 5, 2025
    Reasonable take on FFmpeg and Google vulnerability controversy: FFmpeg is under no obligation to do anything. If people are unhappy with FFmpeg bugs, they have options: - Don't use FFmpeg - Pay someone to fix it or fix it themselves Nobody is under any obligation to do
    55K
  • user avatar
    Tzvetan Mikov
    @tmikov
    Oct 19, 2025
    Introducing proof of concept React Imgui! The name is a joke, but it is accurate enough. In the last few days I have been working on a prototype of React driving Dear ImGui using Static Hermes. The result is a fully native app written almost entirely in JavaScript, using
    00:00
    211K
  • user avatar
    Tzvetan Mikov
    @tmikov
    Jul 7, 2020
    A major milestone: Hermes can now parse the entirety of Facebook's JavaScript codebase, both for web and RN, including all ES6+ features, JSX and Flow type annotations, no Babel or any preprocessing. A single server VM with 24 workers parses 450MB/s. (1 of 3)
  • user avatar
    Tzvetan Mikov
    @tmikov
    Apr 9, 2020
    For the next Hermes release, we have decreased the installed npm size from 120MB to 18MB!
    Split out host tools into separate NPM · facebook/hermes@284ae5e
    From github.com
  • user avatar
    Tzvetan Mikov
    @tmikov
    Mar 2, 2024
    The perf impact of this is curious. Arguments are very cheap in JS, unlike objects. Using the wrong order will kill the hidden class. A lot of optimizations need to happen to eliminate the object allocation and the property access cost. The function better be hot and inlineable.
    user avatar
    Cory House
    @housecor
    Mar 1, 2024
    Habit: If a function accepts two arguments of the same type, I accept an object. This protects from accidentally passing args in the wrong order.
    // 🚩 Watch out - easy to pass args in wrong order  
function saveUser(name: string, email: string) {
  // code here
}

// 🐞 Bug: params in wrong order
saveUser("c@example.com", "Cory")

// -----------------------------------------------

// Accepts object instead
function saveUser(user: User) {
  // code here
}

// ✅ Now I'm less likely to mess up the order.
saveUser({
  name: "Cory",
  email: "c@example.com"
})
    170K
  • user avatar
    Tzvetan Mikov
    @tmikov
    Sep 22, 2023
    Hermes is hiring! We are looking for a C++ engineer in the US, West Coast timezone, to work on the Hermes runtime: standard JS library, runtime internals, garbage collector, etc. No prior experience in language runtimes is needed. Expert level C++ is also not needed, but good
    148K
  • user avatar
    Tzvetan Mikov
    @tmikov
    Apr 27, 2021
    I am proud to announce another major new feature in the next release of Hermes: our new concurrent garbage collector Hades. Up tp 30x shorter GC pause times on 64-bit devices, and up to 14x shorter on 32-bit devices! github.com/facebook/herme…
  • user avatar
    Tzvetan Mikov
    @tmikov
    Sep 25, 2024
    Meta has rebuilt Instagram and Facebook in React Native for its Quest headsets techcrunch.com/2024/09/25/met… via @techcrunch Can you guess which JS engine is running them? Starts with an "S" and ends with "ermes".
    Meta has rebuilt Instagram and Facebook for its Quest headsets | TechCrunch
    From techcrunch.com
    37K
  • user avatar
    Tzvetan Mikov
    @tmikov
    Sep 9, 2023
    This is the slide deck of my Static Hermes announcement at @react_native_eu 2023, #reactnativeeu. Before you view it, please consider these disclaimers: - Static Hermes is WIP, not close to being ready for general use. - The video of the talk is funnier and adds important
    82K
  • user avatar
    Tzvetan Mikov
    @tmikov
    Feb 12, 2024
    We just landed initial support of generics in Static Hermes, via monomorphization (like Rust/C++). A separate copy of a function or type is generated for each set of distinct type arguments, leading to highly efficient code. Let's dive into how this works in #StaticHermes. 🧵
    31K
  • user avatar
    Tzvetan Mikov
    @tmikov
    Jul 16, 2025
    Hermes v2 ("static_h" branch) performance at end of June 2025, relative to Hermes and QuickJS. Numbers are relative to QuickJS (1.2 means 1.2x faster); higher is better.
    29K
  • user avatar
    Tzvetan Mikov
    @tmikov
    Nov 2, 2023
    Replying to @tmikov
    Here is it running on Moto G5.
    00:00
    23K

New to X?

Sign up now to get your own personalized timeline!

Create account

By signing up, you agree to the Terms of Service and Privacy Policy, including Cookie Use.

Terms·Privacy·Cookies·Accessibility·Ads Info·© 2026 X Corp.
Don't miss what's happening
People on X are the first to know.
Log inSign up