Tôi có một tập tin văn bản ~ 6GB mà tôi cần phải phân tích cú pháp và sau đó vẫn tồn tại. Bằng cách 'phân tích cú pháp' tôi đang đọc một dòng từ tệp (thường là 2000 ký tự), tạo đối tượng Ô tô từ dòng và sau đó tôi vẫn giữ nguyên nó.vấn đề hiệu suất ngủ đông, tồn tại từng cái một hoặc khối lượng?
Tôi đang sử dụng mẫu người tiêu dùng của nhà sản xuất để phân tích và kiên trì và tự hỏi liệu nó có tạo ra bất kỳ sự khác biệt nào không (vì lý do hiệu suất) để duy trì một đối tượng tại một thời điểm hoặc 1000 (hoặc bất kỳ số tiền nào khác) trong một cam kết?
Hiện tại, tôi mất> 2 giờ để duy trì mọi thứ (3 triệu dòng) và có vẻ quá nhiều thời gian cho tôi (hoặc tôi có thể sai).
Hiện nay tôi đang làm điều này:
public void persistCar(Car car) throws Exception
{
try
{
carDAO.beginTransaction(); //get hibernate session...
//do all save here.
carDAO.commitTransaction(); // commit the session
}catch(Exception e)
{
carDAO.rollback();
e.printStackTrace();
}
finally
{
carDAO.close();
}
}
Trước khi tôi thực hiện bất kỳ thay đổi thiết kế tôi đã tự hỏi nếu có một lý do tại sao thiết kế này là tốt hơn (hoặc không) và nếu như vậy, những gì nên được những chiếc xe. kích thước()? Ngoài ra, mở/đóng phiên có đắt không?
public void persistCars(List<Car> cars) throws Exception
{
try
{
carDAO.beginTransaction(); //get hibernate session...
for (Car car : cars)
//do all save here.
carDAO.commitTransaction(); // commit the session
}catch(Exception e)
{
carDAO.rollback();
e.printStackTrace();
}
finally
{
carDAO.close();
}
}
Tôi sẽ thử mã này để có hiệu suất và quay lại câu trả lời này. Cảm ơn! – adhg
phân luồng tốt hơn! – adhg