当我尝试研究一些处理 FPGA 的代码时,我遇到了 munmap、mmap。
我仔细阅读此处提供的手册。我仍然不明白这个功能的目的。这究竟是做什么的?
如果我录制了一个音频文件并且我有一个代表该录音的核心数据对象...我应该仅仅引用磁盘上的录音的url,还是我可以将它存储在核心数据中?
将它存储在核心数据中可能更容易,但听起来不是一个好主意.
我有一个大文本文件..我想读取此文件并在其中执行一些操作..
这种操作在每一行上独立发生.所以基本上,我正在寻找一些可以并行执行此功能的功能.
void readFile(string filename){
//do manipulation
}
Run Code Online (Sandbox Code Playgroud)
操纵可以并行进行.
同意这可以使用hadoop轻松完成,但这是一个过度的解决方案.(它的大文件,但不是那么大,我需要hadoop为此...)
我如何在C++中执行此操作?
我尝试从可能很大的文件中读取行。
为了获得更好的性能,我尝试使用映射文件。但是当我比较性能时,我发现映射文件方式甚至比我读取的速度慢一点BufferedReader
public long chunkMappedFile(String filePath, int trunkSize) throws IOException {
long begin = System.currentTimeMillis();
logger.info("Processing imei file, mapped file [{}], trunk size = {} ", filePath, trunkSize);
//Create file object
File file = new File(filePath);
//Get file channel in readonly mode
FileChannel fileChannel = new RandomAccessFile(file, "r").getChannel();
long positionStart = 0;
StringBuilder line = new StringBuilder();
long lineCnt = 0;
while(positionStart < fileChannel.size()) {
long mapSize = positionStart + trunkSize < fileChannel.size() ? trunkSize : fileChannel.size() - positionStart …Run Code Online (Sandbox Code Playgroud) 最近,我看到了这个视频,展示了如何使用mmap()文件 io。但是,我找不到他记录该功能的视频。我不明白它是什么,它为什么存在,也不明白它与文件的关系。
太多的行话从我的脑海中飞过,无法理解。我在维基百科等网站上也遇到了同样的问题。
c++ ×3
c ×1
core-data ×1
io ×1
iphone ×1
java ×1
linux ×1
mmap ×1
system-calls ×1
terminology ×1