小编Art*_*tem的帖子

C++ TCP 套接字发送速度

我使用简单的锁定 TCP 套接字将消息发送到远程服务器,我遇到的问题是,对于每条消息,发送它需要非常不同的时间。

这是我得到的(一些例子):

Bytes Sent:  217, Time:  34.3336 usec
Bytes Sent:  217, Time:   9.9107 usec
Bytes Sent:  226, Time:  20.1754 usec
Bytes Sent:  226, Time:  38.2271 usec
Bytes Sent:  217, Time:  33.6257 usec
Bytes Sent:  217, Time:  12.7424 usec
Bytes Sent:  217, Time:  21.5912 usec
Bytes Sent:  217, Time:  31.1480 usec
Bytes Sent:  218, Time:  28.3164 usec
Bytes Sent:  218, Time:  13.0963 usec
Bytes Sent:  218, Time:  82.8254 usec
Bytes Sent:  218, Time:  13.0963 usec
Bytes Sent:  227, Time: …
Run Code Online (Sandbox Code Playgroud)

c++ sockets raw-sockets

5
推荐指数
1
解决办法
4576
查看次数

C++ std::mutex 和 windows CreateMutex 有什么区别

我在 Windows 上使用 c++ (Visual Studio) 进行编程,我可以使用 std::mutex 或 CreateMutex 创建互斥体。它们之间有什么区别?我应该更喜欢哪一个,哪一个更快?它们在使用或暗示方面有什么具体细节吗?或者也许 std::mutex 只是一个外壳并在内部使用 CreateMutex?

multithreading mutex multiprocessing c++11

3
推荐指数
1
解决办法
2636
查看次数

c ++ QueryPerformanceCounter性能峰值

我创建了一个简单的程序来确定QueryPerformanceCounter调用的时间.我的计算机需要大约8纳秒,但有时我可以看到每次通话最多500个用户的峰值.

一些细节:
Visual Studio 2013,C++

LARGE_INTEGER ll;
QueryPerformanceFrequency(&ll);
int steps = 10000000;
LARGE_INTEGER t1, t2;
long long dt=0, dtAvg=0, dtMax=0;
double NanoSecMult = 1000000000.0 / ll.QuadPart;
double UsecSecMult = 1000000.0 / ll.QuadPart;

for (int i = 0; i < steps; i++)
{
    QueryPerformanceCounter(&t1);
    QueryPerformanceCounter(&t2);
    dt = t2.QuadPart - t1.QuadPart;
    dtAvg += dt;
    if (dt>dtMax)
        dtMax = dt;
}
double dtd = dtAvg*UsecSecMult / steps;
double dtdMax = dtMax * UsecSecMult;
printf_s("steps: %d, dtAvg: %.12f usec, dtMax: %.6f usec\n", …
Run Code Online (Sandbox Code Playgroud)

c++ performance

2
推荐指数
1
解决办法
129
查看次数