Hey cộng đồng stackoverflow!Sử dụng CPU quá ít trong Java
Tôi đang gặp sự cố trong đó chương trình thuật toán có liên quan cao đang sử dụng sử dụng CPU QUÁ LITTLE: khoảng từ 3 đến 4%. Mất rất nhiều thời gian để trả lại kết quả, và tôi tin rằng nó không hoạt động đủ mạnh.
Có ai trong số các thiên tài của bạn có bất kỳ ý tưởng nào tại sao điều này sẽ xảy ra - nếu có bất kỳ điều gì tôi mong đợi sẽ sử dụng 100%. Một chi tiết bổ sung là chương trình làm cho chèn vào một cơ sở dữ liệu sqlite3, và do đó có, có rất nhiều cuộc gọi JNI thông qua thư viện sqlite3jdbc tôi tin. (Lưu ý rằng tôi muốn trì hoãn các chèn này với một lô PreparedQuery trước đó, nhưng điều này gây ra các vấn đề bộ nhớ lớn - có rất nhiều dữ liệu).
Cảm ơn trước
CẬP NHẬT: Đã sửa lỗi. Vâng, tôi đã chỉ là một doofus, nhưng tôi đã không mong đợi rằng sqlite sẽ bắt đầu một giao dịch mới và làm rất nhiều chi phí.
Tôi hiện đang sử dụng mục PreparedStatement và xếp hàng 32768 trước khi chèn - có vẻ như là một con số đủ tốt cho tôi.
Giao tiếp đa luồng chậm hơn xếp hàng cập nhật và xóa chúng trong cùng một chuỗi và cũng phức tạp hơn cho các lập trình viên không "sinh ra an toàn thread". – Blaisorblade