memory-mapped-files

    2熱度

    2回答

    我使用boost映射文件庫打開一個文件。 是否可以在該映射文件上使用「fetch_add」(在特定位置讀取值,然後與另一個位置一起添加並以原子方式將其寫回到同一位置)? 如果多個線程寫入它並行可能有問題,而原子參與 該文件爲二進制格式,幷包含整數或雙打(取決於具體的文件)。 我也嘗試過鎖/互斥鎖,但是它們在使用多線程時總是放慢我的程序。與算法的其餘部分相比,在鎖定區域花費的時間很長,並且線程彼此阻

    0熱度

    1回答

    使用已使用FILE_FLAG_NO_BUFFERING標誌創建的內存映射文件有什麼優勢嗎?在我的情況下,讀入內存映射文件是隨機訪問。寫入通常會附加新數據,並且在進行更正/更新時不太經常使用隨機訪問。

    1熱度

    3回答

    我們的Java程序具有樹形結構大對象,ArrayList和MultiMaps。 我遇到的問題是,我們已經分配了3GB的堆內存,但它仍然沒有空間。 我想知道如果在這裏任何人都可以提出一個方法來存儲外堆這些對象和讀取數據的塊放回每個處理的呼叫需要的基礎上java程序。我有興趣將它們存儲在文件中而不是其他原因的數據庫中。 我碰到了「內存映射文件」,有些人建議「協議緩衝區」上一個相關的問題,這些都是目前外

    1熱度

    1回答

    我需要創建'tail -5 myfile'的Qt5/C++等效命令(不使用shell命令,我找到了幾個stackoverflow引用來尋找X字節前文件結束,然後閱讀前進,但我希望有更好的東西。 是否有更好/更快的方式與可用的Qt函數,或可能內存映射(文件的一部分)?(文件中問題可以是巨大的,所以這是相對高效的存儲器)

    2熱度

    1回答

    鑑於我正在使用Java中的內存映射文件,底層頁面大小爲4KB,是否有關於何時執行刷新(頁面同步) ?例如:如果我向頁面A寫入100個字節,那麼這100個字節總是會被完全反映出來,還是可以在任意時間同步O/S,比如在寫入10個字節之後呢?

    7熱度

    1回答

    我需要在.NET中使用聯鎖操作(比較交換,增量等)與MemoryMappedFile中的內存。 我發現這個answer是一個非常類似的問題。問題是互鎖操作不能從64位操作系統上的kernel32(或任何其他)dll中導出(請參閱,例如http://blog.kalmbachnet.de/?postid=46)。 是否有任何其他方式如何在64位.NET進程中的一塊內存上調用互鎖函數?

    6熱度

    1回答

    我正在開發一個開源.NET組件(WinSCP .NET assembly),它生成一個本地(C++)應用程序並通過事件和文件映射對象與它進行通信。 程序集使用Process類生成應用程序,無需特殊設置。程序集創建少量事件(使用EventWaitHandle)和文件映射(使用PInvoked CreateFileMapping),應用程序使用OpenEvent和「打開」這些事件。 它在大多數情況下工

    2熱度

    1回答

    今天早上我問了here爲什麼我的Python代碼比我的F#版本要慢很多,但我想知道F#版本是否可以更快。任何想法,我怎麼能創建一個更快的版本的下面的代碼,從32位整數的二進制文件中讀取唯一索引的排序列表?請注意,我嘗試了兩種方法,一種基於BinaryReader,另一種基於MemoryMappedFile(and some more on Github)。 module SimpleRead

    0熱度

    1回答

    非常簡單的問題,假設在Linux下的情況下,不是窗口。 如果我試圖獲得一個緩衝區大小非常大的大文件的MappedByteBuffer,JVM會使用下面的虛擬內存嗎? 另外,MappedByteBuffer會有頁面錯誤嗎?我應該確保RAM具有指定緩衝區大小的可用空間嗎?

    2熱度

    1回答

    我目前正在使用Neo4j進行研究,並試圖更好地理解它。 我想知道更多關於內存映射文件機制如何工作。 我試着玩了一下neo4j的參數,看看內存映射文件的不同設置如何影響性能,但我沒有得到太多的東西。 不幸的是,我在Neo4j網站上找到的文檔沒有提供很多細節。 你碰巧知道一個很好的參考資料(文章或書籍),它提供了關於Neo4j的內存映射文件機制的一些技術細節,以及一般來說對參數的重要性。 在此先感謝。