Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
计算 [1..N] 中前导 1 下面有 K 个零位的整数? (没有 HW POPCNT 的连续范围的 popcount)
I have following task Count how many numbers between 1 and N will have exactly K zero non leading bits e g 710 1112 will
Optimization
x86
nasm
microoptimization
hammingweight
如何让 gcc 生成合适的代码来检查缓冲区是否充满 NUL 字节?
我正在实现一个解析磁带档案的程序 解析器逻辑的一部分是检查存档结束标记 该标记是一个充满 NUL 字节的 512 字节块 我为此编写了以下代码 希望 gcc 能对此进行很好的优化 int is eof block const char us
c
gcc
x86
microoptimization
英特尔 JCC 勘误表 - 用于缓解的前缀有什么影响?
Intel 推荐 https www intel com content dam support us en documents processors mitigations jump conditional code erratum pd
Assembly
x86
intel
cpuarchitecture
microoptimization
寻找有效的移位/加法/LEA 指令序列来乘以给定常量(避免 MUL/IMUL)
我正在尝试编写一个 C 程序 mult c 它有一个接收 1 个 int 参数的 main 函数 用atoi argv 1 这是一些常数k我们想要乘以 该程序将生成一个汇编文件mult s实现 int mult int x return x
Assembly
compilerconstruction
x8664
bitshift
microoptimization
测试 xmm/ymm 寄存器是否为零的更快方法?
It s fortunate that PTEST does not affect the carry flag but only sets the rather awkward ZF also affects both CF and ZF
Assembly
Optimization
x86
avx
microoptimization
何时可以重用avx指令中的源寄存器
在 avx 指令中用作源的寄存器何时可以在指令开始处理后重用 例如 我想使用vgatherdps该指令消耗两个 ymm 寄存器 其中之一是位移索引 我意识到vgatherdps由于数据的局部性较差 因此需要花费大量时间来收集 位移索引寄存器
Assembly
cpuarchitecture
SIMD
avx
microoptimization
为什么n++执行速度比n=n+1快?
在C语言中 为什么n 执行速度快于n n 1 int n n int n n n 1 我们的老师在今天的课堂上问了这个问题 这不是家庭作业 如果您正在开发一个 石器时代 编译器 的情况下 石器时代 n比n 比n n 1 机器通常有incre
c
microoptimization
Optimization
performance
std::类似向量的类经过优化以容纳少量项目[重复]
这个问题在这里已经有答案了 在程序的一个时间关键部分中 有一个类成员如下所示 std vector m vLinks 在分析过程中 我注意到该向量大约 99 98 的执行仅包含 0 或 1 个项目 然而 在极少数情况下 它可能会容纳更多 根
c
Optimization
STL
microoptimization
在 x86 ASM 中测试零通常哪个更快:“TEST EAX, EAX”与“TEST AL, AL”?
测试 AL 中的字节是否为零 非零通常哪个更快 TEST EAX EAX TEST AL AL 假设之前有一个 MOVZX EAX BYTE PTR ESP 4 指令加载了一个带有零扩展的字节参数到 EAX 的其余部分 防止了我已经知道的组
performance
Assembly
x86
microoptimization
_mm256_fmadd_ps 比 _mm256_mul_ps + _mm256_add_ps 慢?
我有一个图像处理算法来计算a b c d与AVX 伪代码如下 float a new float N float b new float N float c new float N float d new float N assign va
gcc
SSE
SIMD
avx
microoptimization
阈值绝对值
我有以下功能 char f1 int a unsigned b return abs a lt b 为了执行速度 我想重写如下 char f2 int a unsigned b return unsigned a b lt 2 b redu
c
languagelawyer
undefinedbehavior
microoptimization
更有效的循环方式?
我有来自一个更大脚本的一小段代码 我发现当函数t area被调用时 它负责大部分运行时间 我自己测试了这个函数 它并不慢 我相信它需要运行很多次 所以需要花费很多时间 这是调用该函数的代码 tri area np zeros numx nu
python
performance
forloop
vectorization
microoptimization
如何加快这段 Java 代码的速度?
我正在尝试测试 Java 执行一项简单任务的速度有多快 将一个大文件读入内存 然后对数据执行一些无意义的计算 所有类型的优化都很重要 无论是以不同的方式重写代码还是使用不同的 JVM 欺骗 JIT 输入文件是一个由逗号分隔的 5 亿长的 3
x >= 0 比 x > -1 更有效吗?
在 C 中与 int 进行比较是x gt 0比更有效率x gt 1 简短的回答 不 更长的答案提供一些教育见解 这完全取决于您的编译器 尽管我打赌每个理智的编译器都会为这两个表达式创建相同的代码 示例代码 int func ge0 int
c
Optimization
microoptimization
如果您的程序+库不包含 SSE 指令,那么使用 VZEROUPPER 有用吗?
我明白使用它很重要VZEROUPPER混合 SSE 和 AVX 代码时 但如果我只使用 AVX 和普通 x86 64 代码 而不使用任何旧版 SSE 指令怎么办 如果我从未在代码中使用单个 SSE 指令 是否有任何性能原因导致我需要使用VZ
performance
Assembly
x86
avx
microoptimization
针对性能或代码大小的 C 编码实践 - 超出编译器的范围
我想看看程序员可以用 C 做什么 这可以确定生成的目标文件的性能和 或大小 For e g 1 将简单的 get set 函数声明为内联函数可以提高性能 但代价是占用空间更大 2 对于不使用循环变量本身值的循环 向下计数到零 而不是向上计数
c
Optimization
gcc
microoptimization
与不使用 if 的测试相比,if 语句的效率如何? (C++)
我需要一个程序来获取两个数字中较小的一个 我想知道是否使用标准 如果 x 小于 y int a b low if a lt b low a else low b 比这个更有效率或更低 int a b low low b a b a b gt
c
ifstatement
microoptimization
现代 x86 成本模型
我正在编写一个带有 x86 后端的 JIT 编译器 并一边学习 x86 汇编程序和机器代码 我大约 20 年前使用过 ARM 汇编器 对这些架构之间成本模型的差异感到惊讶 具体来说 内存访问和分支在 ARM 上的成本很高 但等效的堆栈操作和
performance
Assembly
x86
floatingpoint
microoptimization
在 x86-64 asm 中:如果源操作数是两个立即值,是否有办法优化两个相邻的 32 位存储/写入内存?
有没有一个好的方法来优化这段代码 x86 64 mov dword ptr rsp 0 mov dword ptr rsp 4 0 其中立即值可以是任何值 不一定为零 但在这种情况下始终是立即常量 原双店还慢吗 硬件中的写组合和 op 的并
Assembly
Optimization
x8664
microoptimization
大多数编译器都会优化 MATMUL(TRANSPOSE(A),B) 吗?
In a Fortran program I need to compute several expressions like M v MT v MT M M MT etc Here M and v are 2D and 1D arrays
Fortran
gfortran
intelfortran
microoptimization
1
2
3
4
»