Tối Ưu Hóa PBC
Tối ưu hóa pbc
Trong vài ngày gần đây, tôi đã thực hiện một số tối ưu hóa quan trọng cho thư viện pbc. Đây là một thay đổi lớn nên tôi quyết định viết blog để ghi lại quá trình này.
Điểm cải tiến đầu tiên là việc thiết kế một cơ chế cấp phát bộ nhớ heap riêng biệt cho đối tượng rmessage. Thay vì sử dụng hàm malloc của hệ thống khi giải nén dữ liệu, chúng tôi chuyển sang phân bổ bộ nhớ từ một vùng nhớ liên tục chuyên dụng. Điều này giúp quá trình xóa đối tượng rmessage trở nên nhanh chóng hơn đáng kể, vì chúng ta chỉ cần giải phóng toàn bộ vùng nhớ heap mà không cần quản lý chi tiết từng khối nhớ riêng lẻ. Tuy nhiên, cách tiếp cận này sẽ làm tăng lượng bộ nhớ sử dụng trong quá trình giải nén. Trong các trường hợp giới hạn bộ nhớ hoặc yêu cầu hiệu năng cao, tôi vẫn khuyến nghị sử dụng chế độ pattern - dù giao diện lập trình này phức tạp hơn nhưng lại kiểm soát chặt chẽ cả về mặt thời gian và không gian bộ nhớ.