2013-08-09 1 views
1

자르기, 크기 조정, 채우기 및 회전과 같은 다양한 이미지 처리 기술에 대해 im4java를 사용하고 있습니다. 이전에는 명령 프롬프트에서 명령을 실행하기 위해 java.lang.Runtime.exec을 사용했습니다. 이제 벤치에서 두 가지 방법으로 표시 할 때 거의 동일한 결과를 얻었습니다. 한 프로세스의 출력이 다른 프로세서의 입력이므로 순차이므로 im4java의 병렬 처리 기능은 필요하지 않습니다. 제 경우에는 단 하나의 이점을 제공합니다 : 사용 용이. 그리고 그게 다야.im4java의 성능 벤치마킹

내가 코드를 놓치고 있거나 어딘가에 없다고 생각합니까? 어떤 제안이라도 큰 도움이 될 것입니다. 미리 감사드립니다!

+0

방금 ​​전에'long start = System.currentTimeMillis(); 방법(); System.out.println ("Took"+ System.currentTimeMillis() - start);'그렇다면 JVM에서 벤치마킹하는 방법이 아닙니다. –

+0

네, 그랬습니다. –

+0

선생님, 올바른 방법은 무엇입니까? –

답변

1

예, im4java를 사용하면 Runtime.exec에서와 같은 성능을 얻을 수 있습니다. 또는 명령 작성 및 변환 계층이 있기 때문에 속도가 느려질 수 있습니다.

그러나 응용 프로그램이 하나의 실행 (또는 대규모 동시 처리)에서 많은 이미지를 변환하려면 gm4java을 부끄럽게 소개하여 성능을 향상시키는 데 도움이 될 수 있습니다.

gm4java는 최근 개발 된 배치/대화식 모드 인 GraphicsMagick을 사용하여 모든 명령에 대해 새로운 GraphicsMagick 프로세스를 다시 시작합니다. im4java의 보충으로 사용하거나 Runtime.exec 용으로 작성한 명령을 실행하기 만하면됩니다.

+0

이 옵션을 이용해 주셔서 감사합니다. 심각한 개선이 있었는지 여부를 알려주세요. 고마워요! –