读取—运算—保存,如何速度快?
有几千张图片。一张一张,读取—运算—保存,发现速度很慢,cpu占用率很低。
请问如何提高效率呢。读取2ms。运算4ms。存贮4ms。
------解决方案--------------------100张一起处理呗。
------解决方案--------------------先全部读到内存中再处理会不会好点
------解决方案--------------------通过多线程进行处理,这样CPU利用率就高了
------解决方案--------------------换个固态硬盘吧。
------解决方案--------------------硬盘速度不行哦
------解决方案--------------------最佳解法肯定是GPU并行运算
------解决方案--------------------小文件太多啦,IO 负载过重。
------解决方案--------------------文件读取和保存这一块就没得什么优化的,4ms的计算也不是什么高强度的计算,费不着用GPU,基本上你就这样了。
------解决方案--------------------各自处理各自的话……这明明是并发的经典用例啊
------解决方案--------------------CPU占用率低只说明一个问题,你的硬盘是瓶颈,跟多线程没有任何关系,因为如果真是多线程的事,CPU使用率至少也应该是1/核心数
------解决方案--------------------硬盘不给力的话,就算并行也只能提高4/10的运行效率
------解决方案--------------------还是硬盘不给力
------解决方案--------------------------解决方案--------------------
肯定会好很多
------解决方案--------------------
没钱换个毛,你是做硬件批发的么,老JB扯硬件
------解决方案--------------------
图片是6000多张,写的txt是同一个文件吗?
如果是同一个文件,则不要读一次运算一次写一次,而是读一次运算一次把结果保存在StringBuilder里,最后统一一次性写到txt里