Làm thế nào là nó có thể sử dụng container ++ STL C với jemalloc (hoặc bất kỳ malloc
thi khác)?C++ STL với jemalloc
Có đơn giản như bao gồm jemalloc/jemalloc.h
? Hoặc tôi nên viết một phân bổ cho họ?
Chỉnh sửa: Ứng dụng tôi đang phân bổ và giải phóng các đối tượng tương đối nhỏ trong suốt thời gian tồn tại của nó. Tôi muốn thay thế cấp phát mặc định, bởi vì điểm chuẩn cho thấy rằng ứng dụng không vượt quá 2 lõi. Profiling cho thấy rằng nó đang chờ phân bổ bộ nhớ, đó là những gì gây ra các vấn đề mở rộng quy mô. Theo tôi hiểu, jemalloc
sẽ trợ giúp về điều đó.
Tôi muốn thấy một giải pháp, đó là nền tảng trung lập như các ứng dụng phải làm việc trên cả Linux và Windows. (Liên kết chống lại một thực hiện khác nhau rất dễ dàng trong Linux, nhưng nó rất cứng trên Windows như xa như tôi biết.)
tôi cập nhật câu hỏi của tôi để trả lời của bạn. Loại vấn đề nào là thay thế 'mới'? – KovBal
Nếu bạn chỉ đang cố gắng thay thế 'mới' bằng các shenanigans C++ thông thường, bạn có thể nhận được bằng. Đó là khi mọi người cố gắng thay thế 'malloc' trong toàn bộ chương trình mà thực sự là lông. –
Đây chính xác là những gì tôi muốn làm: thay thế 'malloc' trong toàn bộ chương trình. Nhưng tôi không muốn viết thực hiện của riêng tôi; Tôi chỉ muốn sử dụng một cái khác (được thử nghiệm tốt). – KovBal