프로그래밍

파이썬 numpy 계산속도 질문

매트랩으로 구동하던 시뮬레이션 코드를 파이썬에서 numpy를 이용해 옮겨왔습니다. 근데 실행 시간이 너무나도 느리네요. 파이썬이 설치된 컴퓨터 사양이 더 좋은데도 왜 더 느려진건지 이해가 안갑니다.

 

제가 코드를 옮기는 과정에서 뭔가 실수를 한건지, 아니면 파이썬과 numpy가 매트랩보다 연산을 비효율적으로 하는건지 잘 모르겠네요.

18개의 댓글

2023.08.13

코드 올려줄수있음?

0
2023.08.13
@남궁동생

인턴하는 회사쪽에서 짠건데 보안땜시 가져올 수가 없어요 ㅠㅠ

0
2023.08.13
@갓경단
0
2023.08.13
@갓경단

혹시 반복문 쓴거 아니지?

0
2023.08.13
@남궁동생

시뮬레이션 과정에서 어쩔 수 없이 for문을 쓸 수 밖에 없는데 이거 감안해도 매트랩보다 훨씬 오래걸리네요

0
[삭제 되었습니다]
2023.08.13
@삐깨삐갯피캐쮸

매트랩에서도 원래 (수천~수만)x수천 크기 행렬 연산이어서 오래 걸리긴 했는데, 제가 파이썬쪽 리스트나 어레이 연산이 어떻게 굴러가는지 잘 몰라서 일단 넘파이 어레이로 싹 구현했습니다. 근데 넘파이가 매트랩보다 더 빠른거면 어디선가 이상하게 짠 부분이 있겠네요

0
2023.08.13

파이썬 기반으로 속도가 느리면 numpy 말고 numba

pypy가 넘파이 지원을 잘 하는지는 모르겠지만 pypy도 있고, 가능하다면 멀티코어 쓸 수 있게 multiprocessing도 사용

0
2023.08.13
@anywhere

정보 감사합니다. 찾아서 적용해봐야겠네요

0
2023.08.13

파이썬이 원래 존나느림 특히 for문

속도가 중요한데 매트랩이랑 문법 비슷하고 라이선스 없는 프로그래밍 언어 찾는다면 Julia 써보는거 추천하고 (ㅈㄴ 빠름)

파이썬밖에 쓸수 없다면 for문 최대한 줄이거나 pypy같은걸로 성능 높이는수밖에

그리고 매트랩은 기초적인 연산같은건 알아서 병렬연산 하는데 파이썬은 직접 프로그래밍해야되서 더 느릴거임

1
2023.08.13
@멍청이

파이썬이 반복문에서 약점이 있었군요 첨알았네요...알려주신 대로 for문을 줄이거나 julia 써보도록 하겠습니다 감사합니다

0
2023.08.13
@갓경단

예전에 간단한 벤치마킹 해본적 있는데

a^2 + b^2 + c^2 = 10000 만족하는 a,b,c 조합 (순서 무관) 찾는 코드 반복문으로 만들면

C++ 0.1초, 러스트 0.2초, Julia 0.2초, 매트랩 0.7초에 파이썬은 24초쯤 걸림

그것도 a^2를 a*a 대신 pow(a,2) 쓰면 70초쯤 걸리는거 보면 반복문 돌릴때마다 라이브러리 새로 찾는것같음 ㅋㅋ

1
2023.08.13
@멍청이

와 차이가...진짜 다른 부분은 몰라도 파이썬에서 for문 가득한건 진짜 피해야겠네요 ㄷㄷㄷ...

0
2023.08.13

파이썬이 for문이 느린듯 지피티한테 짜달라고 해보세요

1
2023.08.13

나도 같은문제 겪어서 그냥 필요한거 로우레벨로 짜는중 ㅋㅋ

1
2023.08.16

쓰기 편하다 = 존나 느리다입니다

연산 반복 형태인 경우에는 그만큼 쓰기 쉬운 언어일 수록 졸라 느립니다

0
2023.08.16
@숨은음은

그런 약점이 있는건 전혀 몰랐네요...어떻게든 연산 속도 늘릴 방법을 찾아봐야겠네요

0
2023.08.16
@갓경단

지금은 로우레벨 언어가 되어버린 C가 아직도 사용되는 이유는 속도 때문입니다 ㅎㅎ

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5719 [프로그래밍] 하이브리드 웹뷰기반 앱은 rn이 정석이야? 3 잠적자 0 20 시간 전 163
5718 [프로그래밍] c# webview2 도움요청함.. 7 carpediem 0 1 일 전 119
5717 [프로그래밍] 현업 개발자형들 맥씀? 9 이또히로부미 0 1 일 전 217
5716 [프로그래밍] libtorch에서 cuda 안불러와지는거 도움! 2 Hakat 0 2 일 전 125
5715 [프로그래밍] 뭔가 게시판이 애매해서 그런데 gis 잘아는 사람? 1 하늘늑대 0 3 일 전 164
5714 [프로그래밍] 컴포즈가 프리뷰랑 폰에서 다르게 동작해요 1 집에가게해줘 0 3 일 전 118
5713 [프로그래밍] 난바보다) 크로미움 램사용량 문제 일단 해결 2 ye 0 5 일 전 284
5712 [프로그래밍] k8s DNS 이슈는 해결이 안되나보다. 잉텔 0 5 일 전 171
5711 [프로그래밍] 분노) 진짜 유튜브 구글 패악질 토나오네 씨발 17 ye 0 7 일 전 770
5710 [프로그래밍] 프론트엔드 공부하려는데 언어 추천좀 7 스트리플 0 7 일 전 352
5709 [프로그래밍] 객체지향 뽕에 취하지마라 8 69746974 2 8 일 전 409
5708 [프로그래밍] 요즘 앱개발 인력시장 어떰..3년차 2 센치해요 0 11 일 전 388
5707 [프로그래밍] 컴포즈 Box 컴포넌트가 안 나와... 1 집에가게해줘 0 13 일 전 148
5706 [프로그래밍] 아 ssl 적용햇는데 개정신없네 9 넌또화나있네 0 13 일 전 305
5705 [프로그래밍] 패스트 캠퍼스 <---- 얘내는 가격 인상 원툴임? 5 조강현 0 16 일 전 398
5704 [프로그래밍] 클라가 파이썬 셀레니움같은거 써서 클릭하고 그러는걸 감지 ... 5 리옴므 0 17 일 전 266
5703 [프로그래밍] leetcode 50일 달성 1 JimmyMcGill 1 17 일 전 237
5702 [프로그래밍] 그냥 개인공부용 git 만들건데 5 년째재수강 0 17 일 전 336
5701 [프로그래밍] html 자바스크립트 질문 19 책걸이 0 18 일 전 370
5700 [프로그래밍] 아니 시바 이게 무슨일이야 4 인간지표 0 19 일 전 380