https://github.com/SkuldNorniern/lamina
GitHub - SkuldNorniern/lamina: High-performance compiler backend for Lamina Intermediate RepresentationHigh-performance compiler backend for Lamina Intermediate Representation - SkuldNorniern/laminagithub.com라미나라고 얼마전 geek 뉴스에 올라온 컴파일러 언어+프로젝트있는데
여튼 이 사람이 자기 언어랑 다른 언어 비교하려고 행렬계산 벤치마크했음
256*256 행렬 곱셈 500 회 평균 벤치마크.
파이썬 개느리네.
자바스크립트 미친
느린
performance ratio를 반대로 계산한게 불편
echo (cli) 하나 넣으니까 5시간에서 15시간으로 늘어나던데 빠른거 맞노
그게 아니고 FLOPS 같이 시간 당 연산량으로 성능이 좋아지면 값이 늘어나면 지표로 비교해야지
파이썬은 numpy 쓰잖음 php로 트랜스포머 구현해봤는데 numpy로 5분만에 되는게 5시간 걸리더만
파이썬에 ai 라이브러리 파이썬은 껍데기고 걍 c 프로그램들 조작버튼
ㅇㅇ PHP는 C로 만든 확장도 느리던데 rubix 행렬연산 라이브러리 써서 둘다 C 베이스였음
저건 익스텐션제외하고 언어끼리 비교
ㅇㅇ 근데 확장은 왜 개판임 rubix tensor 썼는데 똑같이 php 연산인데 저 논리면 더 빨라야하는게 정상아니노
아니 cpu 연산
phpinfo 써서 확장 들어간거 확인했고 행렬 연산은 다 C기반에 차이나는건 if, for루프 말고 없음 코드도 똑같이 씀 근데 왜 php는 왜 수백배에서 수천배 이상 느리노
@ㅇㅇ 둘다 rubix 가 아니고 rubix 랑 numpy 의 비교인거네 rubix 가 느린가봄
@ㅇㅇ numpy 는 과학계에 쓰이면서 수많은 검증과 simd 패치를 거쳤고 rubix 는 뭔 듣보잡인데
근데 for 루프안에 echo 넣으니까 5시간 걸리는게 13시간으로 늘어나더라 jit, opcache 다 켜뒀음 (cli) 파이썬은 안그러던데 php 병목 너무 심한거 아니노
php8 이상에서 돌아가는 c 베이스 행렬 라이브러리가 저런거밖에 없던데
@ㅇㅇ rubix 는 tensor 를 가져다 쓰지만 얘는 자기가 계산하는게 있고 numpy 는 걍 ndarray에 c++ 코드가 더 많은데 둘이 같은 선상비교가 안되잖아 numpy 가 아니고 파이토치가 tensor 같다쓰는데 아니 다른거끼리 비교하면 어캄
@ㅇㅇ 파이토치랑 rubix 랑 비교해야 비슷하네 둘다 tensor 가져다쓰니깐.
자스가 파이썬보다 더 느리다고? 조작같은데 - dc App
몰라 가서 코드보셈
아마 for문 써서 500번 한게 아니라 매번 프로세스 새로 띄워서 했으면 저런 결과가 나올 수도 있는데 js는 jit가 기본이라 파이썬보다 느리기가 힘듦 - dc App
걍 메인 힘수에 행렬연산 한번하고 그걸 프로세스 500번 실행해놨네 ㅋㅋㅋ 심지어 numpy도 안쓰고
@ㅇㅇ(211.235) 저건 언어비교인데 그런 라이브러리를 왜쓰냐고
긱뉴스에 뜨고 개발자가 한국인이고 바이럴 하지마라 저걸로 어디가서 벤치마크라고 들이밀면 망신만 당하니까
@ㅇㅇ(211.235) 밑에 c# 이랑 rust 비교한다길래 가져와봄.
@ㅇㅇ(211.235) 넘파이 안쓴건 정상임 - dc App
이 댓글은 게시물 작성자가 삭제하였습니다.
@ㅇㅇ(110.8) 아님 쌩 파이썬도 쓰고 넘파이랑도 비교하는게 정상임
@ㅇㅇ(211.235) 행렬계산이 목적이아니고 언어비교인데 뭔 라이브러리를 가져오냐
@ㅇㅇ(175.197) 언어비교 목적이면 표준 라이브러리도 다 빼고 베어메탈로 구현해라 멍청하게 프로세스 초기화 시간도 포함하는 방식으로 벤치마크 구현하지 말고
@ㅇㅇ(211.235) 내가 한거아니니까 저기가서 말하쇼.
https://julialang.org/benchmarks/
언어끼리 비교할때도 라이브러리 최적화된거 사용해서 비교하는게 국룰이다
@ㅇㅇ(175.197) 니가 하루종일 똥글 도배하면서 바이럴 쳐 돌리니까 니한테 하는거야
@ㅇㅇ(175.197) 지가 실드쳐놓고 자기가 한게 아니라고 발뺌하는건 뭐지
@ㅇㅇ(211.235) 오늘 적은건 쿠팡이야기랑 이거랑 언어이야기 하냐 이거뿐인데
예시보면 LLVM IR에 함수 선언부 문법만 바꾼느낌인데 차이점이 뭐임?
깃허브 가서 홈페이지 보니까 llm으로 생성해서 만든거 같은데 할말은 많은데 참아야겠노
js jit 안쓰고 그냥 스크립트로 돌리기라도 했나 어케 파이썬보다 느리지
이런거 걍 재미로 보면 모르겠는데 진지하게 생각하고 언어가 다 해결해준다고 생각하면 웃긴게 C로만 짜도 생for문으로 솔직하게 곱하는거랑 locality, cache, simd, cuda, 행렬 쪼개서 병렬처리 등등 짜는놈에게 탑재된 개념에 따라서 실제 성능 차이는 하늘과 땅임
파이썬 발전 많이했네