首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于写入固态硬盘的C# ThreadPool

用于写入固态硬盘的C# ThreadPool
EN

Stack Overflow用户
提问于 2011-03-18 10:51:57
回答 2查看 468关注 0票数 3

我有一个线程池将数据写入SSD磁盘。(windows XP、c#)我想选择一个池大小来优化性能。从理论上讲,性能应该随着线程的增加而提高吗?SSD如何处理并发写入?还有并发读取,就这点而言?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-18 10:54:12

解决这个问题的最好方法是实际分析不同的池大小。您选择的实际设置将取决于您正在执行的I/O的性质,当然还有所述I/O的并发性。

从理论上讲,性能应该随着线程的增加而提高吗?

与传统的基于磁盘轴的驱动器不同,SSD具有出色的随机读/写性能,因此让多个并发线程在SSD上执行I/O将(极大地)受益。

SSD如何处理并发写入?还有并发读取,就这点而言?

由于没有移动部件,只有对不同(内存)位置的数据访问,所以需要的随机读/写队列很少,除非超出了驱动器的读/写IO/s。

票数 0
EN

Stack Overflow用户

发布于 2011-03-31 00:01:04

如果你需要执行随机io操作,你可能需要确保你的驱动器是在AHCI中运行的,因为高并发的随机性能在AHCI中通常比集成开发环境更快(参见http://benchmarkreviews.com/index.php?option=com_content&task=view&id=505&Itemid=38&limit=1&limitstart=3)。

这篇评论还表明,并发随机读取和写入(4K-64Trd结果)比仅使用单个线程(4K结果)更快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5347539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档