Am 12.10.21 um 05:41 schrieb Dan Stromberg:
On Mon, Oct 11, 2021 at 2:54 PM Steve Keller <keller.st...@gmx.de> wrote:

I have found the sum() function to be much slower than to loop over the
operands myself:

def sum_products(seq1, seq2):
     return sum([a * b for a, b in zip(seq1, seq2)])

def sum_products2(seq1, seq2):
     sum = 0
     for a, b in zip(seq1, seq2):
         sum += a * b
     return sum

It seems like the generator expression should be the fastest to me.  But
writing for speed instead of writing for clarity is usually not a great
idea.


Maybe, unless this was just a test, it can be fastest AND clearest with

           numpy.dot(seq1, seq2)

- in case that the sequence consists of floats and, in the best case, is already stored in a numpy array. Then you cannot beat this with Python code.

        Christian
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to