小编beu*_*chs的帖子

尽可能快地比较缓冲区

我需要比较两个缓冲区块以获得相等性.我不需要有关两个缓冲区关系的信息,只要两个块相等或不相等.我的intel机器支持SSE4.2

天真的方法是:

const size_t CHUNK_SIZE = 16; //128bit for SSE2 integer registers
const int ARRAY_SIZE = 200000000;

char* array_1 = (char*)_aligned_malloc(ARRAY_SIZE, 16);
char* array_2 = (char*)_aligned_malloc(ARRAY_SIZE, 16);

for (size_t i = 0; i < ARRAY_SIZE; )
{
    volatile bool result = memcmp(array_1+i, array_2+i, CHUNK_SIZE);
    i += CHUNK_SIZE;
}
Run Code Online (Sandbox Code Playgroud)

与我第一次尝试使用SSE相比:

union U
{
    __m128i m;
    volatile int i[4];
} res;

for (size_t i = 0; i < ARRAY_SIZE; )
{
    __m128i* pa1 = (__m128i*)(array_1+i);
    __m128i* pa2 = (__m128i*)(array_2+i);
    res.m = _mm_cmpeq_epi32(*pa1, …
Run Code Online (Sandbox Code Playgroud)

c windows sse

6
推荐指数
1
解决办法
2306
查看次数

如何查询正在运行的进程的参数列表?(windows,C++)

对于给定的Windows进程,我想知道它启动的命令行参数.Windows任务管理器能够显示例如.

先感谢您!

c++ winapi

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

一旦流程结束,流程句柄会发生什么?

如果我有一个窗口进程已停止(已终止或刚刚结束):

  1. 句柄(或更好的后面的内存)是否会被重新用于另一个进程?
  2. 或者GetExitCodeProcess()例如从现在开始永远得到正确的结果?

如果1.为真:GetExitCodeProcess()的"长"程度如何?
如果2.为真:这是否意味着我可以通过启动/终止新进程来关闭操作系统,因为我创建了越来越多的句柄(并且操作系统为它们保留内存)?

我对句柄的概念有点困惑.

先感谢您!

windows winapi process handle

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

标签 统计

winapi ×2

windows ×2

c ×1

c++ ×1

handle ×1

process ×1

sse ×1