C++ 通过HTON向网络时间添加多少额外费用

C++ 通过HTON向网络时间添加多少额外费用,c++,network-programming,C++,Network Programming,我想测量通过TCP发送和返回响应的时间,我想知道通过htons函数从little endian到big endian的转换需要多少时间。您可以使用高分辨率时钟测量函数调用前后的时间,然后您可以计算持续时间 #include <chrono> high_resolution_clock::time_point t1 = high_resolution_clock::now(); functionToMeasure(); high_resolution_clock::time_po

我想测量通过TCP发送和返回响应的时间,我想知道通过
htons
函数从little endian到big endian的转换需要多少时间。

您可以使用高分辨率时钟测量函数调用前后的时间,然后您可以计算持续时间

#include <chrono>

high_resolution_clock::time_point t1 = high_resolution_clock::now();

functionToMeasure();

high_resolution_clock::time_point t2 = high_resolution_clock::now();

auto duration = duration_cast<nanoseconds>(t2 - t1).count();
#包括
高分辨率时钟::时间点t1=高分辨率时钟::现在();
函数测量();
高分辨率时钟::时间点t2=高分辨率时钟::现在();
自动持续时间=持续时间(t2-t1).count();

关于我们技术时代的普通硬件:

  • 通过TCP发送和接收数据是一个在几毫秒到几分钟的时间范围内运行的过程

  • 转换内存中几个字节的尾数是一个在几纳秒的时间尺度上运行的过程

我想知道通过htons函数从小端到大端的转换需要多少时间


可忽略,6个数量级。

所有实际用途均为无。@Shawn不是无,而是无穷小;)@娜达试着阅读肖恩评论中的以下文字首先是tnx的答案,但我不认为它会起作用,因为根据我的理解,调用--“serv_addr.sin_port=htons(port);”这不是转换发生的地方,而是某种意义上的“绑定”套接字到转换,但我很高兴被证明是错误的,并学到了一些东西new@yaodav:
htons
立即进行转换。@yaodav您实际上可以在基准Jarod42共享的汇编代码中看到该转换。