thể trùng lặp:
What is the “cost” of reflection?(Tại sao) Phản ánh quá đắt trong .Net?
Có ai có một lời giải thích tốt của thần chú được chấp nhận chung rằng reflection == bad performance
? Ví dụ, tốn bao nhiêu để lặp qua bộ sưu tập thuộc tính của một loại và trích xuất tất cả các giá trị thuộc tính từ một thể hiện kiểu này so với chỉ truy cập trực tiếp tất cả các thuộc tính? Một mức độ lớn? Hai? Nó phụ thuộc vào điều gì? Có thể dự đoán được không? Điều gì đang xảy ra dưới mui xe?
EDIT: Cảm ơn bạn đã trả lời cho đến thời điểm này. Tôi đã xem xét một số liên kết mà bạn cung cấp và có vẻ như có một khoảng cách lớn về ước tính có liên quan đến Phản ánh trên Thuộc tính so với truy cập trực tiếp: từ 2,5 lần chậm hơn đến 200 lần.
Điều này có vẻ không hợp lý đối với tôi. Một số bạn đã đề cập đến cải tiến hiệu suất trong các phiên bản sau của .Net vì vậy hãy thu hẹp câu hỏi của tôi thành .Net 4.0. Có ai có bất kỳ điểm chuẩn cho điều đó?
Câu hỏi này là một nỗ lực để hình thành ý kiến được giáo dục. Nếu tôi đã có, tôi sẽ không phải hỏi. – Manu
@Manu: Thật tuyệt khi nghe nó :) Tôi không có ý trách mắng bạn, ý tôi là để cho bạn đạn để bảo vệ bản thân khỏi những gì người khác nói bạn nên làm, đặc biệt nếu họ không biết rõ yêu cầu của bạn, và thiên đường không tự mình làm điều tra này. Nhiều người chịu áp lực này. –
@Manu: Ngoài ra, có tiêu chuẩn "tiểu sử, sau đó tối ưu hóa" đề xuất. Nếu perf của bạn đạt yêu cầu khách hàng của bạn hướng dẫn ngân sách perf, những người quan tâm những gì thực hiện bạn sử dụng. –