Hacker News new | ask | show | jobs
by dagw 3200 days ago
question: how do you debug a function which has a super complex decorator slapped on top of it?

With difficulty. If you find yourself in a situation where you have a function that works without the numba decorator, but fails with it then it's time to break out your llvm reading skills: http://numba.pydata.org/numba-doc/0.10/annotate.html

That being said it is very rare that that happens.

1 comments

You can just remove the decorator?
No, because certain things are fine in an interpreted function that will fail to compile, and throw totally uninformative errors. E.g., one time I spent about 3 hours trying to figure out why a relatively simple, perfectly functional Numpy function, limited to the subset of Numba primitives wouldn't compile. A labmate with actual knowledge of C looked at the code and in about 30 seconds suggested it might be having two return statements; she was of course correct that this was the problem. Doh.
Ok but generally it is possible to debug by omitting the decorator.