So many talented people have contributed so much to the Julia project that it would not be possible to acknowledge them all.
Nonetheless, my recent work has made me especially appreciative of the work of Tim Holy for the Profile code and the ProfileView package and of Dahua Lin for the NumericExtensions and NumericFuns in particular. These are incredible tools. It is so easy to forget the you should profile before you attempt to optimize your code. I just learned that again. I was getting very good performance on an example using my MixedModels package - about twice the speed of the R/C++ package lme4 that other contributors and I have been working on seemingly forever. Then I profiled my Julia code, which was already 2-3 as fast as the R/C++ version, viewed the profile and thought, "what's that wide bar over on the left?". I "knew" where the function must be spending its time and, of course, most of the time was being taken up in another part of the function entirely. Some rewriting has now resulted in code that is 10 times as fast as the R/C++ code. I had a similar experience earlier in this development cycle when I replaced a call to fma! in the NumericExtensions package with an explicit loop using @inbounds that I "knew" would be just as fast. It wasn't.
