|
1
27
在内存中组装每个输出文件似乎很奇怪;我怀疑您应该运行一个内部缓冲区(可能是20K或其他类型)并调用
最后,如果你需要IO,你需要IO。如果你想礼貌地对待共享的托管环境,你可以添加故意的暂停——可能是内部循环中的短暂暂停,也可能是外部循环中的较长暂停(可能是1s)。这不会对您的总体时间安排造成太大影响,但可能有助于其他进程获得一些IO。 内部循环的缓冲区示例:
|
|
|
2
1
我对问题中的代码进行了一些修改,以防您希望按块分割,同时确保每个块以行尾结尾:
|
|
|
3
0
这是合乎逻辑的-IO将成为您的限制因素,而且您的系统可能与大多数计算机的糟糕IO相同(一个慢磁盘,而不是高性能磁盘的RAID 10)。 您可以使用一个合适的chunk sze(向上1MB)来减少小的读写,但最后,您可以这样做。或者获得更快的光盘子系统。 |
|
|
4
0
您的一个选项是限制操作。例如,如果将缓冲区恢复到较小的大小(介于4K和1MB之间),并放置一个线程。在操作之间睡眠,您将使用较少的资源。 |
|
|
5
0
这对你的主人来说是个问题,而不是你。假设这绝对是你需要做的事情,那么你做的大部分事情都是你能做的最有效的方式。由他们根据负载、优先级、SLA等来管理资源,这和您的管理程序/vm/os/app-server/做什么都是一样的。 把文件分开使用你已经支付的设施! |
|
|
A B · C#Excel自动调整列避免长文本时出错 9 月前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 9 月前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 9 月前 |
|
|
Duck0 · 这个对象在更高的帧率下会更快吗,因为它在Update()中? 10 月前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 10 月前 |