@tmikov
Tzvetan Mikov
8 months
@_chenglou That is a rather complicated subject. JS objects usually use hash tables, but there are a number of optimizations on top of that like hidden classes and inline caching. Static Hermes treats statically typed classes Static Hermes similarly to C structs.
2
0
25

Replies

@tmikov
Tzvetan Mikov
8 months
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…
68
323
2K
@_chenglou
Cheng Lou
8 months
@tmikov What's the runtime representation of objects? Still a tree?
1
0
3
@tmikov
Tzvetan Mikov
8 months
@_chenglou There is no explicit runtime representation. The UI is created by direct calls to DearImGUI on every frame, which generates meshes, then rendered by Sokol with Metal/OpenGL/DirectX. (DearImGUI has its own data structures, but they are hidden)
1
0
22
@_chenglou
Cheng Lou
8 months
@tmikov Sorry, I meant JS objects. Last I checked, JS object with dynamic keys is implemented through some tree (red-black tree?). I was wondering if static hermes now represents fixed-keys object as C++ structs. My info might be completely wrong
1
0
4
@_chenglou
Cheng Lou
8 months
@tmikov That’s great! Unrelated but do you do any generic specialization? Generally I’m interested in C-level memory usage over C-level computation perf
0
0
2