That's some pretty generic premature optimization cargo culting.
If you have a huge data set and some understanding what you're doing, the bottlebecks will be pretty obvious.
If you have a huge data set and some understanding what you're doing, the bottlebecks will be pretty obvious.
Pike point is not just to avoid premature optimization. It’s to measure bottlenecks. Because due to changing language and hardware developments, what you think you knew to be true might become outdated.
In any case, there is a reason why Python has a profiler in the box, as what one thinks and what actually is, isn't the same. Which was my starting point.
julia> @code_llvm debuginfo=:none 5.0 + 3
define double @"julia_+_156"(double %0, i64 signext %1) #0
{
top:
%2 = sitofp i64 %1 to double
%3 = fadd double %2, %0
ret double %3
}
julia> @code_native debuginfo=:none 5.0 + 3
...
vcvtsi2sd %rdi, %xmm1, %xmm1
vaddsd %xmm0, %xmm1, %xmm0
retq
...