# \[ANN\] Catwalk.jl - With dynamic dispatch to the moon! (an adaptive optimizer, aka JIT compiler)

**URL:** <https://discourse.julialang.org/t/ann-catwalk-jl-with-dynamic-dispatch-to-the-moon-an-adaptive-optimizer-aka-jit-compiler/57917>\
**Category:** Package Announcements\
**Tags:** performance, jit\
**Created:** [March 25, 2021, 10:06am UTC](https://discourse.julialang.org/t/ann-catwalk-jl-with-dynamic-dispatch-to-the-moon-an-adaptive-optimizer-aka-jit-compiler/57917 "2021-03-25T10:06:00Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![tkf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkf/32/17635_2.png) [@tkf](https://discourse.julialang.org/u/tkf)\
**Post date:** [March 26, 2021, 3:15am UTC](https://discourse.julialang.org/t/ann-catwalk-jl-with-dynamic-dispatch-to-the-moon-an-adaptive-optimizer-aka-jit-compiler/57917/3 "2021-03-26T03:15:25Z")

</div>

FYI, just as additions to _Alternative packages_, FoldsThreads.jl’s “trampoline” also uses the same technique (IIUC) [https://github.com/JuliaFolds/FoldsThreads.jl/blob/master/src/trampoline.jl](https://github.com/JuliaFolds/FoldsThreads.jl/blob/master/src/trampoline.jl). JuliaFolds packages in general also try to do a weaker version of this, as discussed in: [Tail-call optimization and function-barrier -based accumulation in loops](https://discourse.julialang.org/t/tail-call-optimization-and-function-barrier-based-accumulation-in-loops/25831)

(But it looks like you arrived at a more generic API/implementation, which is great!)

---

_[View the full topic](https://discourse.julialang.org/t/ann-catwalk-jl-with-dynamic-dispatch-to-the-moon-an-adaptive-optimizer-aka-jit-compiler/57917)._
