I develop some web applications which output their reports in LaTeX (I'm aware this is not very standard but "why" and "is it the best choice" do not want to be the point of this question, although they are interesting topics).
I'm fine with most of the tasks and problems involved, but I do hit performance issues on the server when using TikZ for complex graphics (charts, bars, pies and the sort).
The question is: does anyone has experience on performance of the different graphic packages? I've read this interesting post but, if possible, I would like to avoid to learn each of the alternatives, build the same page with all of them and measure the compiling time.
Thanks a lot for any answer/comment/hint
Edit: as of @cfr comment, here you are an example of one of the most complex applications
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\begin{document}
\def\shadingangle{30}
\def\startinganglery{30}
\def\startingangleyg{120}
\def\subdivisions{60}
\begin{tikzpicture}[radius=3]
\draw[white] (-3.3,-0.2) rectangle (3.3,3.3);
\fill [red] (0:0) -- ( 0:3) arc[start angle=0, delta angle=\startinganglery+\shadingangle/2] -- cycle;
\fill [yellow] (0:0) -- (\startinganglery+\shadingangle/2:3) arc[start angle=\startinganglery+\shadingangle/2, delta angle=\startingangleyg-\startinganglery] -- cycle;
\fill [green] (0:0) -- (\startingangleyg+\shadingangle/2:3) arc[start angle=\startingangleyg+\shadingangle/2, delta angle=180-\startingangleyg-\shadingangle/2] -- cycle;
\foreach \i[evaluate={\col=(\i+.5)/\subdivisions*100}] in {0,...,\numexpr\subdivisions-1\relax}
\fill[color=yellow!\col!red]
(0,0) -- (\i*\shadingangle/\subdivisions+\startinganglery:3) arc[start angle=\i*\shadingangle/\subdivisions+\startinganglery, end angle=(\i+1)*\shadingangle/\subdivisions+1+\startinganglery] -- cycle;
\foreach \i[evaluate={\col=(\i+.5)/\subdivisions*100}] in {0,...,\numexpr\subdivisions-1\relax}
\fill[color=green!\col!yellow]
(0,0) -- (\i*\shadingangle/\subdivisions+\startingangleyg:3) arc[start angle=\i*\shadingangle/\subdivisions+\startingangleyg, end angle=(\i+1)*\shadingangle/\subdivisions+\startingangleyg] -- cycle;
\fill [white] (2.25,0) arc (0:180:2.25);
\draw (-3,0) -- (3,0);
\draw (3,0) arc (0:180:3);
\draw [decorate,decoration={text along path, text=|\small|low medium high||,
text align=fit to path stretching spaces}]
(-3.1,0) arc (180:0:3.1);
\fill (0.1,0) arc (0:180:0.1);
\draw [->,very thick] (0,0) -- (96:2.2);
\node[below,text width=6cm,align=center] at (0,0) {Compliance risk};
\end{tikzpicture}
\end{document}