Hi, Doug, Thanks for the nice words. Contributing to Julia and its ecosystems has been one of the most rewarding activity that I has ever experienced. I also learned a lot from the discussions with fellow contributors. It feels wonderful to see your efforts are impacting the world in a positive way.
Dahua On Monday, June 16, 2014 4:48:56 PM UTC-5, Douglas Bates wrote: > > 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. > > >