嗨,stackoverflow社区!Java中CPU利用率太低
我遇到了一个高度涉及的算法程序正在使用太小cpu利用率的问题:介于3%和4%之间。返回结果花费很长时间,我相信这只是不够努力。
你们任何一个天才都有任何想法,为什么会出现这种情况 - 如果有任何事情我会期望100%的利用率。另外一个细节是程序插入到sqlite3数据库中,因此是的,我相信通过sqlite3jdbc库有很多JNI调用。 (请注意,我想尽早将这些插入与PreparedQuery批处理延期,但是这会导致严重的内存问题 - 有大量数据)。
在此先感谢
更新:修正。是的,我只是做了一个doofus,但我没想到sqlite会启动一个新的事务并且花费太多的开销。
我现在在插入之前使用PreparedStatement和队列32768条目 - 对我来说好像是一个足够好的数字。
多线程通信比排队更新并在同一线程中刷新它们要慢,而且更复杂得到无bug对于不是“线程安全”的程序员来说。 – Blaisorblade 2009-01-12 01:41:43