memory-mapped-files

    4熱度

    1回答

    給出的以下測試代碼(64位環境): static void Test() { string fileName = @"d:\map"; long length = new FileInfo(fileName).Length; using (var file = MemoryMappedFile.CreateFromFile(fileName, File

    3熱度

    1回答

    我正在嘗試讀取x,y,z中的大文件。通常情況下它會運行數據。 我使用Boost創建了內存映射文件。但是,我仍然不清楚如何從這個文件中訪問一塊內存。 Boost提供函數char * data(),它返回指向緩衝區第一個字節的指針(我將整個數據作爲緩衝區)。 有沒有辦法通過塊來讀取數據塊。理想情況下,我想以10,000塊的形式讀取數據。 以下是代碼。 boost::iostreams::mapped_

    2熱度

    4回答

    以下是使用boost創建內存映射文件的代碼。 boost::iostreams::mapped_file_source file; boost::iostreams::mapped_file_params param; param.path = "\\..\\points.pts"; //! Filepath file.open(param, fileSize); if(file.is_o

    1熱度

    1回答

    我有一個很大的PNG,我想解壓縮到一個文件,但我沒有設備的內存容量來擴展內存中的PNG,然後到一個文件。 是否有一個本地iOS方法來解壓縮每個掃描線的PNG?備擇方案? 更新: 的libpng - 讀取圖像數據 - http://www.libpng.org/pub/png/libpng-1.2.5-manual.html#section-3.8 對於非交錯式的PNG png_read_rows(

    5熱度

    1回答

    在Windows上的Python我可以創建一個大文件增加文件的大小由 from mmap import mmap f = open('big.file', 'w') f.close() f = open('big.file', 'r+') m = mmap(f.fileno(), 10**9) 現在big.file爲(大約)1千兆字節。不過,在Linux

    2熱度

    2回答

    我的應用程序需要使用大小高達5 GB的文本文件中的數據。我無法將所有這些數據加載到RAM中,因爲它太大了。 數據存儲爲一個表格,500萬條記錄(行)和40列,每個記錄包含將在內存中轉換爲字符串,整數或雙精度的文本。 我試過緩存只有10 - 100 MB的數據在內存中,並從文件重新加載時,我需要外面的數據,但它太慢了!當我運行計算時,因爲我可以從表中的任意行隨機跳轉,它將不斷需要打開文件,讀取和關閉

    3熱度

    1回答

    在我的應用程序中,我需要在大文件(大約2-7 GB)內每隔大約50ms連續寫入數據塊(大約2MB)。這是以順序循環的方式完成的,所以我把chunk寫入文件之後,當我在文件結尾處時,我從頭開始重新開始。 目前我做如下: 在C#我打電話File.OpenWrite一次打開具有讀取權限的文件,並與SetLength設置文件的大小。當我需要寫一個塊時,我將安全文件句柄傳遞給非託管的WriteFile(ke

    0熱度

    1回答

    我有了數百萬行的txt文件,每行有3輛彩車,我讀它使用下面的代碼: ifstream file(path) float x,y,z; while(!file.eof()) file >> x >> y >> z; 和我的作品完美。 現在我想嘗試使用Boost映射文件做同樣的事情,所以我下面 string filename = "C:\\myfile.txt"; file_map

    3熱度

    1回答

    重要編輯: 這個問題不是我所說的,手動分析後我明白,當我替換這行時:「file >> x >> y >> z;「與行「file.readline(buffer,size);」 它只需要0.4秒,所以問題是完全不同的,如何解析浮線從文件>> x >> y >> z; (我不知道我是否應該刪除的問題或沒有,因爲原來的問題是不相關) === OLD === 互聯網和堆棧溢出廣闊的研究之後,我明白用C++

    1熱度

    1回答

    我有一個C#應用程序每1秒鐘產生數據(股票價格數據),可以在每次迭代後丟棄。 我想將這些數據傳遞給Coldfusion(10)應用程序,並且我考慮讓C#應用程序每秒將數據寫入文件,然後讓Coldfusion應用程序讀取這些數據,但這很可能會導致問題兩個應用程序試圖同時讀取或寫入文件的可能性? 我想知道如果使用內存映射文件將是一個更好的方法?如果是這樣,我如何從Coldfusion訪問內存映射文件?