>  기사  >  Java  >  Julia와 Java의 실행 속도는 어떻습니까? Julia와 Java의 성능 비교

Julia와 Java의 실행 속도는 어떻습니까? Julia와 Java의 성능 비교

不言
不言원래의
2018-09-15 16:47:084775검색

이 글의 내용은 Julia와 Java의 실행 속도에 관한 것인가요? Julia와 Java의 성능 비교에는 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 소개

Julia의 성능은 c/c++와 비슷하다고 합니다. 저는 항상 Java를 사용해왔기 때문에 Julia의 실행 속도가 매우 궁금합니다. Julia와 Java를 비교하고 싶다면 간단한 비교를 해보세요.
이번에는 Julia와 Java의 1억 덧셈 연산 속도를 비교해보세요.

2. 최적화되지 않은 Julia와 Java의 비교

우선 내가 작성한 Julia 코드는 최적화되지 않았습니다. #🎜🎜 #

x=0
@time for i in 1:10^8
    global x+=i
end
#🎜 🎜#3번 실행 결과: 약 6초
  6.550459 seconds (200.00 M allocations: 2.980 GiB, 18.45% gc time)
  6.565272 seconds (200.00 M allocations: 2.980 GiB, 18.15% gc time)
  6.382583 seconds (200.00 M allocations: 2.980 GiB, 18.37% gc time)

Java 코드 및 실행 결과 보기:

 public class Test1 {
    public static void main(String[] args) {
            long t1=System.currentTimeMillis();
            long x=0;
            for(int i = 1; i<=100000000; i++)
                x+=i;
            long t2=System.currentTimeMillis();
            System.out.println("x="+x+", duration="+(t2-t1));
        }
}

3번 실행 결과: 약 40ms

x=5000000050000000, duration=41
x=5000000050000000, duration=40
x=5000000050000000, duration=40

위의 실행 결과로 볼 때 Java는 확실히 Julia보다 훨씬 빠르며, 시간 차이가 100배 이상이나 납니다. 그러나 이는 Julia의 최적화되지 않은 코드입니다. Julia 최적화 후 상황

#🎜 🎜#3. 최적화 후 Julia와 Java 비교

전역변수를 제거하고 함수에 코드를 넣은 후 함수를 호출합니다. 코드는 다음과 같습니다:

function sumfor()
    x=0
    for i in 1:10^8
        x+=i
    end
    x
end
@time sumfor()
@time sumfor()

다음은 세 번입니다. 실행 결과는 Julia가 처음으로 사전 컴파일 작업을 수행하므로 메서드를 두 번 호출하고 두 번째 결과가 우선합니다 #🎜. 🎜#두 번째 실행에는 0.002ms만 걸렸는데, 이는 Java보다 훨씬 빠릅니다.

0.080203초(35.91k 할당: 1.978MiB) 6.11% gc 시간)

0.000002초(5개 할당: 176바이트)
0.037539초(35.91k 할당: 1.9 78MiB)

0.000002초(5개 할당: 176바이트)

#🎜 🎜#요약: 위의 비교로 볼 때 Julia는 실제로 Java보다 훨씬 빠릅니다. 그러나 여기서는 간단한 비교만 수행하고 엄격한 것은 아닙니다. 테스트는 참고용으로만 수행됩니다.

위 내용은 Julia와 Java의 실행 속도는 어떻습니까? Julia와 Java의 성능 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.