HACKER Q&A
📣 zan137

Why isn't there Just-in-Time hardware?


By drawing an analogy between CPU as dynamic interpreter, ASIC manufacturing as AOT compilation, and FPGAs as something between compilation and interpretation(closer to compilation by form), why aren't ASICs manufactured or FPGAs reconfigured during program execution to speed up hot paths, as a JIT compiler does?

There are two potential problems:

1. The difference between assembly and HDL is much greater than between bytecode and assembly, meaning it is very hard to translate one language into the other efficiently and in a short period of time

2. Hardware manufacturing speed is limited by the speed of physical processes(FPGAs can be reconfigured in tens to hundreds of milliseconds, which is good enough)


  👤 GrumpyYoungMan Accepted Answer ✓
> "FPGAs reconfigured during program execution to speed up hot paths"

The IEEE conference on Field-Programmable Custom Computing Machines (https://www.fccm.org/) is in its 34th year, to give you an idea of how old that idea is. The answer to your question is both 1 and 2 and also 3. that FPGAs have rather poor efficiency, both in terms of cost and performance, so it's not worthwhile outside of a few niches.