이 프로젝트에서는 다양한 프로그래밍 언어의 속도를 비교하려고 합니다. 이 프로젝트에서 우리는 파이를 정확하게 계산하는 데에는 별로 관심이 없습니다. 우리는 프로그래밍 언어가 얼마나 빨리 작동하는지 보고 싶을 뿐입니다.
비교를 수행하기 위해 π에 대한 라이프니츠 공식의 구현을 사용합니다.
다음은 작동 방식을 설명하는 비디오입니다. 손으로 π 계산하기
여기에서 결과를 확인할 수 있습니다: https://niklas-heer.github.io/speed-comparison/
나는 이 모든 언어에 대한 전문가가 아니므로 내 결과를 소금 한 알씩 받아들이십시오.
또한 연구 결과는 프로그래밍 언어의 한 측면일 뿐인 부동 소수점 연산을 해당 언어가 얼마나 잘 처리할 수 있는지 보여줍니다.
또한 일부 언어에서 발생할 수 있는 끔찍한 코드를 수정하는 데 도움을 주고 기여하실 수도 있습니다. ?
모든 것은 Docker 컨테이너와 프로그램을 호출하는 bash 스크립트에 의해 실행됩니다.
실행 시간을 측정하기 위해 Python 패키지가 사용됩니다.
Docker
Earthly를 사용하면 단일 명령으로 모든 것을 실행할 수 있습니다.
earthly --config earthly-config.yml +all
그러면 모든 작업을 실행하여 모든 측정값을 수집한 다음 분석을 실행합니다.
모든 언어에 대한 데이터를 수집하려면 다음을 실행하세요.
earthly --config earthly-config.yml +collect-data
단일 언어에 대한 데이터를 수집하려면 다음을 실행하세요.
earthly --config earthly-config.yml + < replace me with language name >
모든 결과에서 결합된 CSV를 생성하려면 다음 명령을 사용하십시오.
earthly --config earthly-config.yml +analysis
파일 읽기 및 출력 인쇄도 계산하는 이유는 무엇입니까?
속도를 비교하는 것이 더 현실적인 시나리오라고 생각하기 때문입니다.
측정값에 컴파일 시간이 포함되어 있나요?
아니요, 실제 세계에서 프로그램을 실행할 때 이 작업도 이전에 수행되었기 때문에 포함되지 않습니다.
기여자 목록이 자동으로 생성됩니다.
니클라스 히어 | 프란체스코 알레만노 | 유 주 | 제리 링 | 고트 호프 | frak0d |
조나단 캐롤 | 시드크 아실(Sıddık AÇIL) | 세르그 지니 | 가브리엘 바랄디 | 사무엘 | 조 랜드먼 |
산딥 쿠마르 | 매트 | 팔 하랄드손 | 오스카 스미스 | 마이클 애보트 | 로렌조 가브리엘레 |
게으른 커널 | 크리스 뉘른베르거 | 더키더키 | 구이 젠 웨이 | RDPatrickTheDev | 프라우드 |
세르게이 트로피모프 | 토마스 A 캐스웰 | 토모히로 | 게놈블로그 | 이마즈 유타 | 호소키 코헤이 |
인헬리 |
기본적인 벤치마킹에 사용되는 초미세 생성용입니다.
이 프로젝트는 자신의 블로그에서 비슷한 비교를 한 Thomas로부터 영감을 얻었습니다.