I watched that video. I prefer the current (julia’s) behavior, comparing to other languages.
Yes, dot(x, y)
calls BLAS
, which is specialized.
Looks like sum(x .* y)
will call mapreduce
and therefore resolves into standard +
and *
operations (perhaps calling standard C functions?).
Moreover, it appears that dot(x, A, y)
also outperforms x' * A * y
, at least in terms of allocations, sometimes also in time (can someone do a test?).