2011-04-21 5 views
0

완벽하게 작동하는 Jython 용 스크립트가 있지만 정말 느려서 순수 자바로 변환하여 속도를 높이는 지 알아보기로했습니다.자이 썬 htmlunit 스크립트를 순수 자바로 변환

자이 썬에서

내가 사용하고 있습니다 :

from java.util import logging 
from java import lang 
from org.apache.commons.logging import LogFactory 
logger = LogFactory.getLog('com.gargoylesoftware.htmlunit') 
logger.getLogger().setLevel(logging.Level.OFF) 
webclient = WebClient(BrowserVersion.FIREFOX_3_6) 
webclient.setThrowExceptionOnFailingStatusCode(False) 

이 기본적으로 화면에 나오는 중지 HtmlUnit과의 모든 성가신 경고 메시지를 방지 (는 경향이 많이 불평하는 것이 읽는 것 코드가 완벽하지 않지만 경우 여전히 그것을 읽고 끝납니다).

자바에서 동일한 코드를 복사하여 붙여 넣으려고했으나 Java에서 무시하려고합니다. 가져 오기에 유형을 추가하면 동일한 것을 계속 수행하는 데 오류가 발생하지 않습니다.

import java import.lang; 
import org.apache.commons.logging.LogFactory; 
LogFactory.getLog('com.gargoylesoftware.htmlunit'); 
LogFactory.getLogger().setLevel(logging.Level.OFF); 
final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6); 
webClient.setThrowExceptionOnFailingStatusCode(false); 

파일이 상당히 크고, 나는 꽤 코드의 변환으로하고, 내가 잘못 뭐하는 거지의 논리 무엇인가해야 할 것이다 때문에?

+0

자이 썬이 JVM에서도 실행된다는 점을 감안할 때 변환에서 많은 개선이있을 것이라고 나는 정말로 의심 스럽다. 물론 믿을 수있다. –

+0

나는이 기사를 읽고 있었다 : http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/ 그들은 같은 스크립트가 1.6 초 자이 썬에서는 순수 자바에서 632 대 대다. 성능 향상이 커질 지 모르겠지만 자이 썬에서 페이지를 구문 분석하는 데 2 ​​분 이상 소요됩니다. 지금까지 자바에서는 약 24 초가 걸렸습니다. 조금 더 내가 행복 할거야). 현재 약 16,000 페이지의 파싱이 jython에서 18 일 이상 걸렸습니다. – Lostsoul

답변

0

자바의 구문은 파이썬의 구문과 동일하지 않습니다. 수입품은 종류 파일의 정상에 선언되고, 다른 것은 "종류"포장지 안에 행해진 다. 자바와 파이썬이 매우 다르기 때문에,

import [...] 
public class YourClass{ 

    public YourClass(){ 
    // Constructor 
    } 

    public static void main(Stirng[] args){ 
    // The method Java calls when a class is executed in a JVM 
    } 
} 

당신은 어떤 자바 튜토리얼 먼저 확인해야합니다

기본적으로 자바 파일은 다음과 같이 보입니다.

+0

괜찮습니다. 확인해 보겠습니다. 실제로 자바 구문을 사용하고있는 jython에 자바 모듈을 가져 오기 때문에 생각했습니다. – Lostsoul