2012-04-03 12 views
2
long time=System.currentTimeMillis(); 
    MarketDataRequest request=new MarketDataRequest(); 
    System.out.println("First: " +(System.currentTimeMillis()-time)); 


    time=System.currentTimeMillis(); 
    request=new MarketDataRequest(); 
    System.out.println("Second: "+ (System.currentTimeMillis()-time)); 

結果:クイックフィックスが遅い

まず:43 第二:0

43msオブジェクトの最初の作成がすっごく長い時間がかかる理由何らかの理由...非常に遅いようですか?

+0

古い**リクエスト**に割り当てるのではなく、新しいMarketDataRequest ** request1 **を作成するとどうなりますか? – DumbCoder

+0

違いはありません.. –

答えて

1

JavaクラスのロードとJITコンパイラのオーバーヘッドの2つの原因が考えられます。

+0

事前にクラスをコンパイル/コンパイルするにはどうしたらいいですか? –

+0

最も簡単な方法は、あなたの例に似た何かをすることです。起動時にメッセージのインスタンスを作成し、後で同様のメッセージを送信するときにクラスがロードされるようにします。 –

関連する問題