I did some benchmarks and found out that the real slowdown is not the LaTeX rendering itself, but calling KaTeX from Ruby. In the previous version, every LaTeX expression meant a separate KaTeX call. Now, I find all expressions on a page and render them in a single bulk KaTeX call. As a result, my personal blog—which contains ~5k LaTeX expressions with nothing cached now builds in 7 seconds instead of 92 seconds.
JekTeX - A Jekyll plugin for fast server-side cached LaTeX rendering, with support for macros. ( https://github.com/yagarea/jektex )
I would like to split it to the multiple files and make some unit tests. + I have two issues that should be easy to fix but I have no time to try to solve them because my uni takes more time than I would like.