JAR로 컴파일 된 일부 기존 Java 코드가 있습니다. 이것은 Scala 프로젝트의 클래스 패스에 포함되어 있으며 Scala에서 java 메소드 중 일부를 호출하고있다. 이것은 Java 1.7, Scala 2.11.2 및 Eclipse의 Scala IDE 내 모든 것입니다.scala에서 호출 된 Java 메소드는 천천히 실행됩니다.
예 :
여기def step[Ctx] = Locality.stepFn[SubProblemBSolution, Ctx] { (x : SubProblemBSolution) => x.mutate }
, SubProblemBSolution은 돌연변이 체() 메소드 자바 클래스이다. 나머지는 스칼라입니다. 이 방법은 이미 Java에서 오래 실행 중이며 (평균 실행 횟수가 약 1000 회를 넘는 경우 약 0.5 초) Scala에서 호출 할 때 완료하려면 약 2.5 초가 소요됩니다.
jar가 스칼라 용으로 다시 컴파일되지 않습니다. 기존 컴파일 된 클래스를 호출하고 있습니다. 스칼라 .class 파일을 디 컴파일하여 그들이 이상한 것을보고 있는지 확인했지만, 그들은 단지/컴파일 된 코드/java 코드에 대한 호출이 있습니다.
왜 이렇게 느리게 움직이는 지 알기 원하십니까? 상황을 개선하기 위해 무엇인가 할 수 있습니까?
감사합니다.
실행시 천천히 실행해야하는 이유는 전혀 없습니다. 단지 유사한 바이트 코드입니다. 처음으로 클래스 로더가로드 할 때 네이티브 라이브러리가로드되었다고 의심되면 처음 사용시 시간이 걸릴 수 있습니다. – Jatin
[java 온라인 디 컴파일러] (http://jd.benow.ca/)를 사용해보십시오. "라이브 데모"가 보일 때까지 페이지 하단으로 스크롤하십시오. – Aivean
함수에 동일한 값을 전달하고 있다고 확신합니까? 같은 문제를 해결할 때처럼? – ziggystar