Ah ah, this is it, I found the culprit! Pre-declaring the type of my increment variables slowed down by a factor of at least 2 if not 3 -- I will profile tonight when I can be on Linux, I cannot now from Windows.
i::IdType = zeroIdType # Slow increment in the loop i = zeroIdType # Much faster increment in the loop even through zeroIdType > is of type IdType = Int = Int64. It smells more like explicitly typing the variables prevents the compiler from using it as a registry or something like that. I will let the experts explain what really happens. By the way, in my endeavors, I got the impression the loop construct for i in 1:n was slower than while i <=n But I need to run further tests to determine whether it is indeed so or not. On Thursday, September 18, 2014 1:44:58 PM UTC-4, G. Patrick Mauroy wrote: > > No change. > I over typed everything to avoid such type mismatches, particularly when > experimenting with other integer types. So unless I missed something > somewhere, it should not be the case. > I suspect something like the compiler does not recognize the incrementing > variables should be registries. Unless it is the inherent speed of > incrementing, but I doubt it, I had some faster runs at some points... > >> >>
