Serious performance issue with MySQL.jl

Hi there!

I hope that any MySQL.jl experts are out there. I’ve posted this issue already as #130 there and I hope to increase visibility by adding a topic here as well.

In this test on my fork of MySQL.jl, I’ve managed to reproduce the problem.

I create an empty table with certain column types and 65 columns. Calling iterate(query) on it hangs forever (at least longer than 40 minutes, then I killed it). The problem seems to be a generated function named generate_namedtuple (located in src/types.jl in the MySQL.jl repo). Generating the quoted expression inside the function works quickly, but it appears that the compilation of the function then takes forever. For more information, see my comment made today on the issue #130 (link above).

So this problem might also be related to a metaprogramming issue there. I’m fairly new to Julia, so I could really use some help there.

Thank you in advance! :slight_smile:

Sorry for the slow response! I’m happy to help dig in to find out what’s going on here. I’m a bit tied up with trying to finish a big refactoring in another package right now, but I should be able to help with the issue you opened up soon.

2 Likes

Thank you, I’d appreciate this very much. I suspect that the bottleneck is the compilation of the Expr generated by generate_namedtuple. If I find out something new, I’ll post it here or in #130.

Thank you!