2010-02-25 25 views
17

Tôi muốn biết liệu có ai đã thử các tính năng mới của .NET 4.0 Memory Mapped Files không? Tôi biết rằng chúng cũ như hệ điều hành nhưng xử lý bản địa trong .NET là mới..NET 4.0 Memory Mapped Files Hiệu suất tập tin

Có ai có thể kiểm tra điều này và nói điều gì đó về hiệu suất không? Tôi khá quan tâm đến thời gian truy cập vào các phần ngẫu nhiên của tệp nhị phân, tốc độ ghi và vân vân. Ngoài ra hiệu suất comparsion để bản địa WinAPI MMF sẽ được tốt đẹp.

Cảm ơn!

+0

không có ý tưởng bro dont bạn nhận được bất kỳ điểm chuẩn trên net –

+0

không, tôi không thể tìm thấy bất kỳ số rắn ... chỉ spec kỹ thuật và lợi thế. – michajas

Trả lời

4

Các tệp ánh xạ bộ nhớ trong .NET 4.0 (trong không gian tên System.IO.MemoryMappedFiles mới) chỉ cần bọc API Win32 cho các tệp ánh xạ bộ nhớ.

Điều đó có nghĩa là chúng càng nhanh càng tốt. Đây là cơ chế tương tự được sử dụng để nạp các assembly .NET vào bộ nhớ. Về số lượng thời gian thực tế, điều này sẽ phụ thuộc vào 32bit so với 64bit, bạn có bao nhiêu bộ nhớ, các tệp lớn, mẫu truy cập và mức phần cứng đĩa cứng lớn như thế nào.

Ref: Memory-Mapped Files

+0

cảm ơn, tôi biết tham chiếu này, chính xác hơn cho câu hỏi này nên được liên kết này: http://msdn.microsoft.com/en-us/library/ms810613.aspx (nó đã được trên trang bạn đã đề cập). Tôi nghĩ, tôi sẽ tự mình làm một số trường hợp thử nghiệm và đăng kết quả ở đây. Nhưng, có lẽ ai đó đã làm cho họ xong? – michajas

+0

"Nhưng, có thể ai đó đã làm xong?" - các con số thực tế sẽ phụ thuộc vào một vài yếu tố, được đề cập ở trên, đó có lẽ là lý do tại sao không có chuẩn mực chuẩn. –

+0

Tôi biết về những yếu tố này, nhưng tôi không nghĩ về điểm chuẩn chuẩn hóa, nhưng kết quả với trường hợp kiểm tra hoàn chỉnh (phần cứng, vv). Nó sẽ là tốt nhất nếu chúng được so sánh với các phương pháp khác như FileStream vv Tôi hỏi về điều này bởi vì tôi sẽ làm việc với các tệp lớn (trên 10 GB) và đọc dữ liệu ngẫu nhiên từ chúng. Tôi muốn biết rằng MMF là lựa chọn tốt nhất :) – michajas

0

Trong sau câu hỏi tôi làm một bài kiểm tra hiệu suất của MemoryMapped tập tin so với tiêu chuẩn IO:

Disadvantages of using memory mapped files

tôi đã không thể tìm thấy nhược điểm lớn nay vì mục đích của tôi, hiệu suất là khoảng 4x nhanh hơn cho các tập tin ánh xạ bộ nhớ và trong câu hỏi bạn có thể tìm thấy một số gợi ý thú vị về cách thức các tập tin này hoạt động và những gì cần phải có vào tài khoản.

0

Trong thử nghiệm của tôi hiệu suất của .NET 4.5 MMF là ~ 40% hiệu suất của các cuộc gọi WinAPI gốc, tức là chậm hơn hai lần.

Các vấn đề liên quan