On Mon, Jul 22, 2019 at 11:33 PM Nicholas Cole <nicholas.c...@gmail.com> wrote:
>
> I was profiling a slow function in an application last week, and came
> across something that I still can’t explain. Inside a loop that was being
> called 4 times, inside a for loop that ran for a few dozen times there was
> a list compression of the form:
>
> [x.id for x in some_function()]
>
> According to the profiler, some_function was being called 52,000 times —
> many, many times more than the few dozen it should have been. And sure
> enough, removing the comprehension did indeed speed up the function.
>

Was it actually being CALLED that many times, or was some part of it
being RUN that many times? Try adding an actual counter to the top of
some_function to see how many times it's being invoked.

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

Reply via email to