← Back to context

Comment by vlovich123

4 days ago

How do you deal with the lack of performance optimizations for JIT code because there’s no warm up and the optimizer never runs?

We have support for running warmup requests and fork the VM after that. Eventually I’d like to add the ability to export the state of the VM so the warmup can be run on a different machine.

  • I think there’s a number of challenges with that approach, mainly getting a representative set of sample queries that will accurately optimize the reference VM. I wonder if harvesting the VM state at scale based on pages that are duplicates across machines might work of course then you have problems with ASLR and how to reconstruct a VM to actually use that data.

    • The more representative the warmup set the better the result but even a quite simplistic approach is helpful since much of what you want to optimise is not page dependent: the React rendering infrastructure, router, server, and in the case of Deno the runtime level code written in JS.

      I suspect harvesting VM state from a production workload would be counterproductive to the goal of isolation.

      5 replies →