Iterations are generally inevitable in l1 optimization based image reconstruction, but you can still select and implement computationally efficient sub-routines in the algorithm.
The new CR-Sparse library includes an ADMM based solver for l1-minimization. It is built using Google JAX and hence can be run on GPUs and TPUs too.
You may check out a tutorial here https://cr-sparse.readthedocs.io/en/latest/tutorials/admm_l1.html. The ADMM solver is designed to work with linear operators. We also provide a collection of linear operator implementations. See here: https://cr-sparse.readthedocs.io/en/latest/source/lop.html
Also see an example of how we deblur an image using FISTA https://cr-sparse.readthedocs.io/en/latest/gallery/lop/deblurring.html#sphx-glr-gallery-lop-deblurring-py .