Julia slow?

The below comments about Julia’s slowness were my thoughts on this day, however see the above date 09/22 for a likely reason…SQLite! This probably nullifies much of what I say here.

Well I have to be honest. I pretty much finished my rewrite of my Python program in Julia. It is pretty much “functionally” the same, and it is noticabably slower. That wasn’t expected from a language that’s almost as fast as C. There also is a very noticeable pause at the start of the program which may be due to SQLite connections. Being that I basically retrofitted Python code into the Julia program…perhaps that is the, or a problem. The SQLite functionality is probably being handled 2nd hand because when I installed the SQLite module, it required Python. Also this was mostly text processing which is NOT Julia’s claim to fame.  I’m sure it would be faster if I wrote it after working in Julia for a few months. However I also kind of expected with the supposed great speed, that it would make up to some extent, my lack of Julia skills.

The Python took ~1hr 15min to generate one million records. And I was going to time the Julia program in the same sinerio. I did a test of both programs on 10,000 records and as I noticed the Julia program was visibly noticeably slower. I output a counter every 500 records. So there is really no need to test on a larger number because it would only further prove the point.

Also I should point out that I seemed to hangup a few times on the understanding of the use of globals AND the try/catch/finalize statements. There are still questions in my mind of why at times it seemed like I needed to define a variable outside a loop with a global and sometimes not. Also, at least in my mind I had two try/catch/finalize setup in basically the same way and I decided I was using it wrong because one wasn’t working and I needed to use the catch  portion, which caused it to behave as I expected. However the other try/catch/finalize block, which to my mind did the same thing…was working without the catch. Is this my not understanding the Julia’s rules? Probably! Or is there a Julia problem. I say this because I filed 2 bug reports (“segmentation fault” and “Illegal instruction”) that caused Julia to crash and dump, and the try/catch/finalize block contained the code in both cases that caused the error. You know I’m a beginner and I’m more likely to do something terribly wrong that an experienced programmer wouldn’t. It’s probably hard for a developer to code really bad as opposed to a newbe. Kind of like asking a great singer to sing bad.

However this is version 1 AND I think I could jump back into the code after many months and understand it as opposed to remembering all of Pythons quirks. It sounds like I’m making excuses for Julia, and…I guess I am. I still really like it, because in my case it works more like I think than Python which I also really like. Despite all this I think I will probably choose Julia for many future projects, because it will get better over time AND I will become a better Julia programmer too.