Cassette performance overhead

I’ve been getting frustrated by some of the limitations around metaprogramming in Python and recently heard about Cassette. One thing that’s confusing to me without having a strong understanding of Julia yet is why Cassette has a reputation for having a performance overhead? I understand that it’s inserting hooks, but shouldn’t hooks you don’t fill in still get optimized away, the same way they would if you manually inserted calls to empty functions in the same places?

1 Like

cc @vchuravy whom I think has worked on it, hopefully he has a little free time to respond.

A little unrelated, he also has done some ground work to include some similar functionality in the core compiler.