Would also be curious to understand how this compares. They seem to account for recursion and if-branches as well.
My understanding is that the python Autograd library is also quite slow (though it's been a while since I looked at it).
Zygote will give the same runtime performance as handwritten derivatives in many cases and works across almost the entire julia ecosystem since nearly all julia packages are truly written in julia.