Привет, сообщество stackoverflow!
У меня проблема, когда высокоразвитая алгоритмическая программа использует слишком маленькую загрузку процессора: где-то между 3 и 4%. Возвращение результатов занимает очень много времени, и я считаю, что оно работает недостаточно усердно.
Есть ли у кого-нибудь из вас гениев какие-либо идеи, почему это произойдет - во всяком случае, я бы ожидал 100% использования. Еще одна деталь заключается в том, что программа делает вставки в базу данных sqlite3, и, таким образом, да, существует много вызовов JNI через библиотеку sqlite3jdbc, я считаю. (Обратите внимание, что я хотел отложить эти вставки с помощью пакета PreparedQuery ранее, но это вызвало серьезные проблемы с памятью - там много данных).
Заранее спасибо
ОБНОВЛЕНИЕ: Исправлено. Да, я был просто глупцом, но я не ожидал, что sqlite запустит новую транзакцию и сделает так много накладных расходов.
Теперь я использую PreparedStatement и ставлю в очередь 32768 записей перед вставкой - мне это показалось достаточно хорошим.