Rất nhiều c/malloc() trong một/trong/làm có thể tiêu tốn rất nhiều thời gian vì vậy tôi tò mò nếu bất kỳ hệ điều hành bộ nhớ đệm cho mallocs nhanh.Có hệ điều hành nào thực hiện đệm cho malloc() không?
Tôi đã cân nhắc nếu tôi có thể tăng tốc độ của malloc bằng cách viết một wrapper "tham lam" cho malloc. Ví dụ. khi tôi yêu cầu 1MB bộ nhớ, người cấp phát ban đầu sẽ phân bổ 10MB và vào thứ 2, thứ 3, thứ 4, v.v ... gọi hàm malloc sẽ đơn giản trả về bộ nhớ từ đoạn đầu tiên được phân bổ theo cách "bình thường". Tất nhiên nếu không có đủ bộ nhớ, bạn sẽ cần phải phân bổ một bộ nhớ tham lam mới.
Bằng cách nào đó tôi nghĩ ai đó phải làm điều này hoặc điều gì đó tương tự trước đây. Vì vậy, câu hỏi của tôi chỉ đơn giản là: Đây có phải là cái gì đó sẽ đẩy nhanh quá trình phân bổ bộ nhớ đáng kể. (vâng tôi có thể đã thử nó trước khi đặt câu hỏi nhưng tôi chỉ lười biếng để viết một điều như vậy nếu không cần phải làm điều đó)
Chỉ cần làm rõ, 'malloc' là một phần của thư viện thời gian chạy C, không phải hệ điều hành. Nó phổ biến cho 'malloc' cũng như các dịch vụ bộ nhớ hệ điều hành để làm bộ nhớ đệm và đệm để tăng tốc độ phân bổ. –