我正在使用STXXL進行項目工作,我知道這是一個超出C++ STL庫的核心版本。目前,我的程序運行良好,但我現在面臨的問題是程序運行時,它使用接近2GB的內存(使用中低數據集)。STXXL的高內存使用情況
在我的程序中,我使用了25個STXXL向量,存儲在磁盤上的單個文件中。至於我的.stxxl文件,我目前已設置爲動態分配磁盤文件(通過將磁盤大小設置爲0)。
所以,我的問題是:有沒有辦法顯式地讓STXXL使用硬盤而不是RAM?或者,當使用這個庫時,預計這種內存使用量會是多少?
在此先感謝任何人可以提供的建議。
感謝Timo的例子!最後,我在考慮這些原則的情況下提出了一個新的解決方案,並且使用如下最小構造函數,我可以將內存使用降低到每個向量50 MB的合理值:'vector( 1000000);'。感謝你的幫助! –
Andrewziac