파이썬에서 함수 호출 결과의 합계를 찾는 가장 빠른 방법은 (병렬 처리를하지 않고) 무엇입니까?파이썬에서 sum (f (x))하는 가장 빠른 방법
은 값 목록이며, 각각을 f(x)
으로 변환하여 합한 것입니다. 지금 ("평면은 항상 낫다"마음에 유지)를 위해 나는이 있습니다 만 이것은 잘 작동하지만 내 xlist
꽤 큰
sum([f(x) for x in xlist])
(~ 20000 개 부동 소수점 값)이 합계라고 몇 번 중 대부분의 시간 리소스를 소모하는 프로그램 실행 더 효율적인 방식으로 구현할 수있는 방법이 있습니까?
나는 C++ 흠 또는 당신이 생각할 수있는 어떤 다른 방법을 추가 상관하지 않습니다 만의 이익을 위해 전체 프로그램의 구조를 변경하고 싶지 않아요 ...
당신이 20000 개 숫자를 가지고 당신이 작동하고 그들에게 시간, 당신은 왜 파이썬을 사용하고 피하고 수백만의 합계를 시도하는 경우 병렬 처리? – jtbandes
xlist가 꽤 큰 것처럼 iterator 대신 generator를 사용하십시오. 즉 sum (xlist의 x에 대한 f (x))) –
@jtbandes 2 일 안에이 프로그램을 작성 했으므로 성공하면 나중에 평행 C++ 평가를 쓸 수 있지만 적어도 한 달은 걸릴 것입니다. 나는 1 시간을 말하기 위해 그것을 자르는 것이 가능하다면 실행을 기다리는 데 2 시간을 소비하기를 원하지 않는다. – sashkello