1
9
我就是这样做的(请原谅微软的态度):
|
2
6
我不得不问:你有没有明确的介绍
如果这是瓶颈,仍然可以从算法重新设计(如果可能)中获得更好的好处,以避免设置太多的内存(显然是反复设置),从而使您使用的填充机制不再重要。 |
3
4
谢谢大家的回答。我检查过了
wj32's solution
,但显示的时间与
在生产代码中,需要添加检查
|
4
3
你考虑过使用吗
然后使用std::fill?或者可能是
|
5
0
假设您的背景参数中有有限的值(或者更好的是,只在上面),也许您应该尝试分配一个静态向量,并简单地使用memcpy。
|
6
0
我刚刚测试了std::用g++填充完整的优化(sse等)。启用):
内环看起来像:
看起来0xaabbcc00 x 4已加载到xmm0中,一次移动16个字节。 |
7
0
不完全确定如何在一行中设置4个字节,但是如果您希望在一次重写中只填充一个字节,则可以使用
|
8
0
VS2013和VS2015可以将普通for循环优化为
顺便说一句,要让编译器进行优化,缓冲区必须由下标运算符访问。
它不会在GCC和Clang上工作。它们都将把代码编译成条件跳转循环。它跑得和原来一样慢
|
9
-2
它可能有点不可移植,但您可以使用重叠的内存副本。 用您想要的模式填充前四个字节,然后使用memcpy()。
别以为你能快得多 |
vini · 安装wfp内核驱动程序后,devcon状态返回39 2 年前 |
I101I · 如何镜像HBITMAP 2 年前 |
E235 · 如何查看谁创建了Windows NamedPipe 2 年前 |
Pizza Ãcke · 创建带有内存映像的Windows托盘图标 2 年前 |
Jabu · 如何获取列表框滚动条“拇指”的高度? 2 年前 |
tree1234 · 对可执行文件进行代码设计,并允许修改某些字节 2 年前 |
Penachia · PDF FontDescriptor标志 6 年前 |