c++ - 在 Windows 上增加 io 优先级?

标签 c++ windows io profiling libtiff

原来我的生产者函数只会写入数据,现在我有第二个线程负责写入数据。生产者函数将 memcpy 写入循环缓冲区并触发消费者线程开始写入。

当我使用 2 线程方案时,我获得了所需的线程隔离、程序稳定性和写入前可变计算的能力——但 io 性能降低了 50%。

我的理论是,可以为每个我想要调整的线程设置某种优先级。这可能吗?

我在 RAID0 数据剥离配置中使用 2 个 SSD。

libTIFF io workflow

最佳答案

“io 性能降低 50%”是什么意思?根据您的资源监视器,它已达到最高:磁盘队列已满,磁盘事件时间为 100%。如果您的意思是写入速度跳跃 - 它们与任何可能的线程优先级无关。它们是由文件碎片引起的磁盘磁头定位,fs表修改等引起的。

关于c++ - 在 Windows 上增加 io 优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19457439/

相关文章:

java - 在Java中读取图像文件

c - 写入 PNM P6 的问题

c++ - WSL 中的 g++ 创建了一个不可删除的文件

c# - 以编程方式循环遍历 DatagridView 并选中复选框

c++ - WM_TIMER 动画闪烁

windows - 如何通过命令行将参数传递给sql脚本

c++ - 如何使用常规构造函数模式初始化 C++ 11 标准容器?

c++ - Windows.h - SetWindowText 显示 CR-LF 字符

c++ - 使用 log4cxx 进行自定义和动态附加程序的配置

go - 如何在Go中打开进程并正确记录stdin和stdout?