Xin vui lòng tư vấn về điểm chuẩn được sử dụng để kiểm tra một cấp phát C và C++? Điểm chuẩn thoả mãn một trong những khía cạnh sau đây được coi:Điểm chuẩn được sử dụng để kiểm tra một cấp phát C và C++?
- Speed
- Phân mảnh
- Concurrency
Cảm ơn!
Xin vui lòng tư vấn về điểm chuẩn được sử dụng để kiểm tra một cấp phát C và C++? Điểm chuẩn thoả mãn một trong những khía cạnh sau đây được coi:Điểm chuẩn được sử dụng để kiểm tra một cấp phát C và C++?
Cảm ơn!
Nếu bạn hỏi về người cấp phát chung cho chương trình C/C++ thì tôi đã tìm thấy bài báo này Hoard: A Scalable Memory Allocator for Multithreaded Applications xem xét câu hỏi này. Đây là trích dẫn từ tài liệu này
Hiện chưa có bộ tiêu chuẩn nào để đánh giá phân bổ đa luồng. Chúng tôi biết về không có điểm chuẩn nào cụ thể nhấn mạnh hiệu suất đa luồng của máy chủ các ứng dụng như máy chủ web 1 và người quản lý cơ sở dữ liệu. Chúng tôi chọn tiêu chuẩn được mô tả trong các giấy tờ khác và khác xuất bản (điểm chuẩn Larson từ Larson và Krishnan [22] và điểm chuẩn shbench từ MicroQuill, Inc [26]), hai ứng dụng đa luồng mà bao gồm các tiêu chuẩn (BEMengine [7] và barnes-hut [1, 2]) và đã viết một số các tiêu chuẩn của riêng chúng tôi để nhấn mạnh các khía cạnh khác nhau về phân bổ bộ nhớ hiệu suất (threadtest, active-false, passive-false).
Bài báo này sắp lỗi thời. Tuy nhiên tôi đã thấy gần đây một cấp phát cho HP-UX (MallocNextGen) và HP cũng không thể đảm bảo rằng nó là tốt cho tất cả các ứng dụng có thể. Nó nói:
Công cụ phân bổ mới thường là để cải thiện hiệu suất của ứng dụng. Tuy nhiên, có thể có một số ứng dụng mà hiệu suất có thể bị suy giảm. Do đó người dùng nên chuẩn cho các ứng dụng của họ bằng bộ nhớ mặc định cấp phát trong libc và với trình phân bổ trong libmallocng trước khi sử dụng trình cấp phát mới trong môi trường sản xuất .
Vì tốc độ và đồng thời trải nghiệm của riêng tôi là bạn phải đo lường hiệu suất của chương trình của riêng mình để so sánh hai người phân bổ khác nhau. Nếu chúng ta nói về Linux, bạn có thể sử dụng LD_PRELOAD để tải các trình phân bổ khác nhau.
+1. Vâng, nếu không có tiêu chuẩn chuẩn nào, vậy chúng ta nên cảm nhận và giải thích kết quả trên nền tảng nào? – Viet
Theo tôi hiểu một ý tưởng là đo lường hiệu suất ứng dụng của riêng bạn. Mặt khác, bạn có thể chọn một tập hợp các chương trình thực và các bài kiểm tra riêng để so sánh các trình phân bổ. –
Tôi đã thử nghiệm một vài bộ phân bổ bản thân cách đây vài năm và kinh nghiệm của tôi là kết quả tất cả phụ thuộc vào loại thử nghiệm.Nếu bạn muốn viết một số tiêu chuẩn cho mình, hãy xem xét các tình huống sau đây:
Bạn sẽ nhận thấy rằng kết quả sẽ khác nhau cho mỗi thử nghiệm. Những người phân phát rất giỏi trong một tình huống, có thể xấu trong các tình huống khác.
Trong thực tế, điều này có nghĩa là tốt nhất nên kiểm tra nó trong ứng dụng của bạn, trong một tình huống trực tiếp/thực tế.
+1 có vẻ hay là Patrick. – Viet
Bạn muốn thử nghiệm tốc độ, tốc độ, phân đoạn vv nào? –
Tôi đã chỉnh sửa theo đề xuất của bạn. Cảm ơn. – Viet