2009-12-30 4 views
2

프로파일 링이나 코드를 크게 변경하지 않고 자이 썬을 최적화하는 방법이 있습니까?자이 썬 최적화

특히 컴파일러에 전달할 수있는 플래그 또는 긴밀한 루프의 코드 힌트가 있습니다.

+0

-1 : 프로파일 링을 사용하지 않는 최적화는 모순입니다. 프로파일 링없이 최적화하는 것은 불가능합니다. –

+0

gcc -O3 == 프로파일 링없이 최적화. 컴파일러를 사용하는 것은 모순이 아닙니다. – Bear

답변

1

자이 썬 컴파일러는 많은 최적화 옵션을 제공하지 않습니다. 그러나 Java 가상 머신 (java)과 컴파일러 (javac)가 백엔드 또는 런타임에 호출되기 때문에이를 살펴 봐야합니다.

Java는 서버 프로세스, 클라이언트 프로세스 등으로 실행할지 여부에 따라 다른 런타임 스위치를 사용합니다. 또한 할당 할 메모리 양도 알 수 있습니다.

6

플래그가없고 코드 힌트가 없습니다. 다른 파이썬 구현 (호이 스팅 등)에서와 마찬가지로 코드를 미세 조정하여 최적화 할 수 있지만이 유용 할 때 의 가치가있는 곳을 알려줌으로써 프로파일 링에 도움이됩니다. 프로파일 링에 의존 함 "(코드 변경이 중요하지 않은 것으로 간주 될 수 있음), 시간과 에너지가 가장 많이 소비되는 곳을 추측 할 수는 없지만 프로파일 링을 사용하면 정확하게 결정할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그러나이 질문은 실제로 프로파일 링하는 방법이 아니지만 프로파일 링없이 사용할 수있는 최적화는 무엇입니까? 다시 말하면 "도움, 모든 것을 최적화했는데 여전히 파이썬에서 일부 자바 코드를 실행하는 것이 너무 느리다. 파이썬으로 다시 작성하지 않고 무엇을 할 수 있을까?" 나는 그 대답이 아무 것도 없다고 완전히 확신하지는 않는다. – Bear

+1

앞서 언급했듯이 일반적인 최적화 (호이 스팅 및 c)는 물론 사용할 수 있습니다 (모든 부분적인 로컬 리팩토링 - "Python으로 다시 작성") .-). 만약 당신이 실제로 모든 것을 적용한다면 (프로파일 링없이 어떤 용도로 사용될 지), 코드는 이제 읽을 수없고 유지할 수없는 혼란에 빠지게됩니다. 나는 그럴 수는 없지만 ** 알지 못하는 것은 ** 불가능합니다. 실제로 코드를 보았습니다. 왜 당신이 프로파일 링하지 않고 배우는 지 ** ** 성능 병목 현상 **은 ** ?! –

0

저는 이것이 오래된 질문이라는 것을 압니다 만, 저는 이것을 완성하기 위해 이것을 넣고 있습니다.

-J-server 플래그를 사용하면 자이 썬을 Java 서버 모드로 시작하여 핫 루프의 속도를 높일 수 있습니다. (JVM은 적극적으로 최적화하려고하지만 시작 시간이 느려질 수 있습니다.)