이것은 더 스타일에 관한 질문입니다. 다중 코어를 사용하는 데 실제로 도움이되는 CPU 바운드 프로세스의 경우 일반적으로 멀티 프로세싱 모듈을 사용합니까, 아니면 GIL이없는 인터프리터로 스레드를 사용합니까? 나는 다중 처리 라이브러리를 가볍게 사용했지만 CPython 이외에는 아무런 경험이 없다. 나는 선호하는 접근 방식이 무엇인지 그리고 다른 해석기를 사용하는지 궁금합니다.다중 프로세서 컴퓨터에서의 Python : 다중 처리 또는 비 GIL 인터프리터
1
A
답변
3
CPython 2.6에서 multiprocessing
과 threading
(예 : 현재 버전의 자이 썬과 IronPython) 모두 "스타일"인수가 실제로 여기에 표시되지 않습니다. 매우 유사하게 코딩 할 수 있습니다. 방법 (및 스타일 ;-). 그래서, 나는 매우 까다로운 고려 사항을 기반으로 선택할 것입니다. 각 선택과 같은 성능이 무엇입니까? (만약 내가 인 경우 여러 코어의 이점을 얻으려면 CPU 바인딩이 필요합니다. 성능은 입니다. 분명히입니다. (예 : numpy
) 또는 CPython 전용 라이브러리 (예 : numpy
) 또는 JVM 또는 .NET 전용 라이브러리 등 모든 라이브러리에 심각한 이익을 가져다 사용할 수 있습니까?
1
Parallel Python (www.parallelpython.com) - 제 쿼드 코어 상자의 프로세서간에 작업을 멋지게 나눠서 사용했습니다. 그것은 심지어 클러스터를 지원합니다!
+0
이상적으로 CPU 당 파이썬 프로세스 수를 결정할 수있는 벤치마킹이 필요합니다. 성능 저하없이 처리 할 수 있습니다. 코어 당 3 개의 파이썬 프로세스로 시작해서 위쪽으로 작업 할 것입니다. –
관련 문제
- 1. 단일 프로세서 또는 다중 프로세서
- 2. Python 다중 처리 질문
- 3. 다중 프로세서 및 성능
- 4. 트위스트로 다중 처리
- 5. 다중 프로세서 가져 오기 모듈
- 6. Python 다중 처리 멤버 변수가 설정되지 않았습니다.
- 7. 다중 코어를 사용하는 Ruby 또는 Python 웹 사이트를 만드는 방법은 무엇입니까?
- 8. 파이썬 다중 처리 피닝
- 9. 다중 프로세서 및 PerformanceCounter C#
- 10. 다중 처리에서 처리 할 Python 전달 사전
- 11. python 2.5.2 다중 처리 풀 동작
- 12. python 다중 처리 대기열 : 점점 독립적입니까?
- 13. SqlAlchemy 및 다중 처리
- 14. wxPython 객체를 다중 프로세서 인수로 전달
- 15. 다중 테이블 또는 다중 스키마
- 16. 다중 파이썬 다중 처리 대기열에서 "선택"하시겠습니까?
- 17. 다중 자바 애플릿 처리
- 18. 다중 처리 하위 프로세스
- 19. 처리 System.IO.IOException 다중 연결
- 20. 다중 스레드 처리 문제
- 21. 자바에서 다중 스레드 처리
- 22. 파이썬에서 다중 처리
- 23. 재생 대기열을 사용하는 다중 처리
- 24. 다중 처리 Pool.imap이 손상 되었습니까?
- 25. 다중 데이터 컨테이너 용 멀티 코어 프로세서
- 26. 내 프로그램이 다중 프로세서 시스템에서 하나의 CPU 또는 다중 CPU를 사용하는지 여부를 알려주는 명령
- 27. C++ 코드에서 Python GIL 릴리스
- 28. iphone python 또는 perl 프로세서 또는 유사
- 29. 다중 처리 및 정중앙 값
- 30. 다중 계층 응용 프로그램 처리
작업량은 어떻습니까? "스타일"관점 (분명히 * 파이썬 프로그래머에게는 매우 중요 함)에서 많은 파이썬 옹호자가 GIL이 아닌 인터프리터를 선호하지 않는다고 생각합니다. – BobbyShaftoe