-1

有人看到这两行之间的区别吗?

1) ret = write( fd_out, local_bugger, bytes_to_move);

2) nwritten = write (fd, buf + total_written, size - total_written);

显然,不是命名约定。

具体来说,一个在网络上的写入速度比另一个快 4 倍。

寻找逻辑、标志等

谢谢

4

2 回答 2

6

所有这些的价值/类型是什么?现在这个问题无法回答……选项 2)最终会写入 4 倍的数据吗?两个手柄的 fopen 上的标志选项是什么?ETC...

现在我猜这是因为火星在木星中上升,而月亮正在隆起上蜡,导致希格斯玻色子与以太网电缆中的夸克相混淆。

于 2011-09-21T20:56:00.273 回答
0

这里可能有两件事在起作用:

  1. 您正在编写的块的大小。小块会产生更多开销。但这不太可能造成很大的差异,除非您写入的字节数少于 16 个字节左右。
  2. 您正在写入的文件描述符的详细信息。它有多少缓冲?它是否通过文件系统(NFS 或 CIFS)?它甚至通过同一个网络出去吗?

简而言之,正如 Marc B 回答的那样:信息不足。

于 2011-09-21T21:02:21.020 回答