Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: BufferedStream và hiệu năng ??

  1. #1
    Ngày gia nhập
    06 2007
    Nơi ở
    Hà Nội
    Bài viết
    361

    Mặc định BufferedStream và hiệu năng ??

    Làm việc với BufferedStream

    Khi bạn triệu gọi hàm Read() thì một công tác đọc dữ liệu cho đầy buffer từ đĩa được tiến hành. Tuy nhiên, để cho có hiệu năng, hệ điều hành thường phải đọc trong một lúc một khối lượng lớn dữ liệu tạm thời trữ trên bufer. Buffer hoạt động như mọt kho hàng.

    Một đối tượng Bufered stream cho phép hệ điều hành tạo buffer riêng cho mình dùng, rồi đọc dữ liệu vào hoặc viết dữ liệu lên ổ đĩa theo một khối lượng dữ liệu nào đó mà hệ điều hành thấy là có hiệu năng. Tuy nhiên, bạn xũng có thể ấn định chiều dài khối dữ liệu. Nhưng bạn nhớ cho là buffer sẽ chiêmd chỗ trong ký ức chứ không phải trên đĩa từ. Hiệu quả sử dụng đến buffer là ciệc xuất nhập dữ liệu chạy nhanh hơn.

    Một đối tượng BufferedStream được hình thành xung quanh một đối tượng Stream mà bạn đã tạo ra trước đó. Muốn sử dụng đến một BufferedStream bạn bắt đầu tạo một đối tượng Stream thông thường như trong thí dụ :

    stream inputstream = File.OpenRead(@"C;\test\source\folder3.cs ");

    stream outputstream = File.Openwrite(@"C:test\source\folder3.bak");

    Một khi bạn đã có stream bình thường, bạn trao đối tượng này cho hàm constructor của buffere stream:

    BufferedStrream bufInput = new BufferedStream(inputstream);

    BufferedStream bufOutput =new BufferedStream(outputstream);
    Đây là một đoạn từ ebook c# của mình, đối với dữ liệu đọc tuần tự, khỏi phải nói, nó có hiện năng cao .
    Nhưng vấn đề ở đây là dữ liệu trong soft của mình nhảy lung tung, không theo thứ tự (ví dụ như thuật toán tìm kiếm nhị phân cứ phải nhảy vào giữa). Thì cái này có còn hiệu năng nữa hay không ???
    Blog tổng quan kiến thức về viễn thông : http://tongquanvienthong.blogspot.com/

    mSPDict từ điển android hỗ trợ liên kết tra trên các trình đọc sách điện tử và tra sách giấy thông qua camera
    http://www.tinhte.vn/threads/691731/

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    HCM
    Bài viết
    365

    Trích dẫn Nguyên bản được gửi bởi tienlbhoc Xem bài viết
    Đây là một đoạn từ ebook c# của mình, đối với dữ liệu đọc tuần tự, khỏi phải nói, nó có hiện năng cao .
    Nhưng vấn đề ở đây là dữ liệu trong soft của mình nhảy lung tung, không theo thứ tự (ví dụ như thuật toán tìm kiếm nhị phân cứ phải nhảy vào giữa). Thì cái này có còn hiệu năng nữa hay không ???
    Vậy thì bạn cho buffersteam lớn 1 chút là đc, vì bản chất nó là cached của disk -file lên độ lớn của nó giới hạn bởi bộ nhớ vật lý , nếu dữ liệu của bạn quá lớn thì phải dùng kèm các giải pháp khác như free cached, index

  3. #3
    Ngày gia nhập
    06 2007
    Nơi ở
    Hà Nội
    Bài viết
    361

    em hỏi là dùng stream trực tiếp với cái buferedstream thì cái nào nhanh hơn thôi, dữ liệu không tuần tự mà nhảy lắt nhắt ,kiểu như cây nhị phân (cho nó quen thuộc) chứ anh cho một đống ngôn ngữ chuyên môn thế này thì em chịu. Còn thuật toán cấu trúc file của em thì em có rồi, chỉ phân vân cái này thôi.
    À còn nữa file em đang xử lý 102 mb (buferedstream lớn cỡ nào đây )
    Blog tổng quan kiến thức về viễn thông : http://tongquanvienthong.blogspot.com/

    mSPDict từ điển android hỗ trợ liên kết tra trên các trình đọc sách điện tử và tra sách giấy thông qua camera
    http://www.tinhte.vn/threads/691731/

  4. #4
    Ngày gia nhập
    09 2006
    Bài viết
    711

    102 mb vẫn là chuyện nhỏ, chỉ giới hạn bởi virtual memory của cậu thôi. Nguyên tắc là buffer stream nhanh hơn file stream.

Các đề tài tương tự

  1. Bản chất của toán tử >> << và khả năng đa năng hóa >> << C++ (toán tử xuất nhập)
    Gửi bởi langman trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 23
    Bài viết cuối: 05-03-2016, 11:46 PM
  2. Trả lời: 0
    Bài viết cuối: 09-10-2012, 11:06 AM
  3. C++ Tutorial Bản chất của toán tử ++ -- và khả năng đa năng hóa ++ --
    Gửi bởi langman trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 25-09-2012, 01:11 PM
  4. Trả lời: 1
    Bài viết cuối: 31-07-2012, 04:04 PM
  5. C# | Chức năng Update phần mềm. Làm sao để viết chức năng này?
    Gửi bởi duckman trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 17-06-2009, 08:56 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn