Oh, totally. (Although this particular operation is sometimes being hit tens of thousands of times per page load, so it was worth the attention.)
Problem was, I didn't *realize* it was down to a microsecond (and indeed, the higher-level function I actually cared about was down to five microseconds), until I realized that I was now mostly measuring residual noise from the profiler. I had actually achieved an 80% speedup, but *thought* I'd only achieved 20%, because of over-measurement, and was confused by the lack of progress.
(no subject)
Date: 2015-01-09 02:41 pm (UTC)Problem was, I didn't *realize* it was down to a microsecond (and indeed, the higher-level function I actually cared about was down to five microseconds), until I realized that I was now mostly measuring residual noise from the profiler. I had actually achieved an 80% speedup, but *thought* I'd only achieved 20%, because of over-measurement, and was confused by the lack of progress.
Hence, Heisenprofiling...