4 ms·
But aren't hash tables orders of magnitude slower than dynamic dispatch with jump tables? I'm just interested in PL implementation as a hobby, so correct me if
by jonathanstrange 7y ago
But aren't hash tables orders of magnitude slower than dynamic dispatch with jump tables? I'm just interested in PL implementation as a hobby, so correct me if I'm wrong, but this seems horribly inefficient to me.
- tcard 7y agoYou can't use jump tables in Objective-C because methods can be added to objects at runtime.
- masklinn 7y agoThat doesn't preclude using jump tables. You can also add methods to objects at runtime in JS and modern runtimes use jump tables. I expect you can't use jump tables in objc because you can't really "patch in" jump tables at runtime as it's AOT-compiled rather than JIT-ed.
- tcard 7y agoRight, but that's no longer "just" jump tables, you need additional JIT logic for those tables to be correct. Plus, in a JIT you can go even further and just do direct calls, no need for the indirection of tables.
- jcelerier 7y agowell, does macOS feel like a fast operating system to you ?