嗨,stackoverflow社區!Java中CPU利用率太低
我遇到了一個高度涉及的算法程序正在使用太小cpu利用率的問題:介於3%和4%之間。返回結果花費很長時間,我相信這只是不夠努力。
你們任何一個天才都有任何想法,爲什麼會出現這種情況 - 如果有任何事情我會期望100%的利用率。另外一個細節是程序插入到sqlite3數據庫中,因此是的,我相信通過sqlite3jdbc庫有很多JNI調用。 (請注意,我想盡早將這些插入與PreparedQuery批處理延期,但是這會導致嚴重的內存問題 - 有大量數據)。
在此先感謝
更新:修正。是的,我只是做了一個doofus,但我沒想到sqlite會啓動一個新的事務並且花費太多的開銷。
我現在在插入之前使用PreparedStatement和隊列32768條目 - 對我來說好像是一個足夠好的數字。
多線程通信比排隊更新並在同一線程中刷新它們要慢,而且更復雜得到無bug對於不是「線程安全」的程序員來說。 – Blaisorblade 2009-01-12 01:41:43