相关疑难解决方法(0)

写入的最佳缓冲区大小(2)

假设我想在文件中写入1 GB的数据,比如说ext3使用write(2)系统调用的Linux文件系统,这种情况发生在一个非常繁忙的环境中(许多类似的I/O很简洁).什么是在区间的最佳缓冲区大小,说,[4 kB, 4 MB]这样做,当

  1. 不使用O_DIRECT开放标志,或
  2. O_DIRECT

请不要"自己检查"答案 - 我想从"文件系统"人那里得到答案.

c c++ linux filesystems gcc

3
推荐指数
2
解决办法
4393
查看次数

在不超载 RAM 的情况下写入巨大的 txt 文件

我需要在txt文件中写入一个进程的结果。这个过程很长,要写入的数据量很大(~150Gb)。该程序运行良好,但问题是 RAM 超载,并且在某个时刻,它会停止。

程序很简单:

ostream f;
f.open(filePath);
for(int k=0; k<nDataset; k++){
    //treat element of dataset
    f << result;
}
f.close();
Run Code Online (Sandbox Code Playgroud)

有没有办法在不超载内存的情况下写入这个文件?

c++ file-io

2
推荐指数
1
解决办法
747
查看次数

如何减少我的C程序的开销?

我在Linux上使用C,我的程序是高CPU密度和I/O密度.使用time命令显示我的程序有很多开销:

real    1m4.639s
user    0m53.929s
sys         0m9.747s
Run Code Online (Sandbox Code Playgroud)

有可能找出'sys 0m9.747s'的成本并减少它吗?

=================================================

如果没有代码这个问题不容易回答,请原谅我,但我的代码太长了,无法在此发布.所以任何提示或线索也会这样做.谢谢

c linux optimization

0
推荐指数
1
解决办法
271
查看次数

标签 统计

c ×2

c++ ×2

linux ×2

file-io ×1

filesystems ×1

gcc ×1

optimization ×1