  Quantum technologies are moving towards the development of novel hardware
devices based on quantum bits (qubits). In parallel to the development of
quantum devices, efficient simulation tools are needed in order to design and
benchmark quantum algorithms and applications before deployment on quantum
hardware. In this context, we present a first attempt to perform circuit-based
quantum simulation using the just-in-time (JIT) compilation technique on
multiple hardware architectures and configurations based on single-node central
processing units (CPUs) and graphics processing units (GPUs). One of the major
challenges in scientific code development is to balance the level of complexity
between algorithms and programming techniques without losing performance or
degrading code readability. In this context, we have developed qibojit: a new
module for the Qibo quantum computing framework, which uses a just-in-time
compilation approach through Python. We perform systematic performance
benchmarks between our JIT approach and a subset of relevant publicly available
libraries for quantum computing. We show that our novel approach simplifies the
complex aspects of the implementation without deteriorating performance.
