micro-optimization 相关问题

微优化是对小部分代码进行细致调整的过程,以解决其操作的某些方面(内存使用过多,性能不佳等)的感知缺陷。

当只有1个线程主要使用该对象而其他线程很少使用该对象时,如何最小化该对象的互斥锁?

场景假设有“ Thread_Main”和“ Thread_DB”,以及一个共享的SQLite数据库对象。可以保证“ Thread_main”很少使用SQLite对象读取(即SELECT())“ Thread_DB” ...

回答 1 投票 6

X86:如何将xmm0的下半部分设置为0,而又不影响上半部分?

我使用xmm0具有128位的系统。我想将[63 ... 0]设置为零,而不会影响[127 ... 64]。我使用:MOV RAX,0xFFFFFFFFFFFFFFFF MOVQ xmm2,RAX PSHUFD xmm2,xmm2、0b00001111 PAND xmm1,xmm2 ...

回答 1 投票 3

2个或更多寄存器的汇编推入或保留堆栈

我想在函数中使用'rbx'和'rcx'寄存器,在使用它们之前,我想保存它们。由于它是2个寄存器,我想知道哪种方法更好?将它们一一推入或保留堆栈(16 -...

回答 1 投票 0

在ARM汇编中优化块副本

我正在尝试针对内存使用和时间优化一个块循环,其中将寄存器中的值除以2,然后再除以5,但是我得到的代码包括许多分支...

回答 1 投票 1


高效程序集乘法

不久前开始练习汇编。我想通过组装命令lea和shift实现高效的乘法。我想编写一个将调用汇编过程的c程序...

回答 1 投票 2

在开始迭代之前检查Java集合是否为空有用吗?

在下面的两种样式中,分配了Iterator对象。在迭代之前检查集合是否为空是否有用?我不知道这是否符合“过早优化”的条件。希望,...

回答 4 投票 5

具有多个加号的跳转或在跳转之前执行加号(性能)

在汇编中,如果我有一个JUMP表,其地址超过2000个标签:.TABLE:DD .case0 DD .case1 DD .case2 DD .case3 DD .case4 ... ... ... DD ... 。

回答 1 投票 0

具有多个RET的汇编函数的性能

这样的功能是否会对性能产生负面影响? fn:cmp rdi,0 je lbl0 ... ret lbl0:... ret调用fn这一个吗? fn0:...;无ret,落入fn1:... ret

回答 1 投票 0

我如何找出执行Xtensa微处理器的特定指令所需的时间,例如wsr / rsr?

我正在尝试在使用xtensa LX6微处理器的esp32上优化代码,我想知道用于读取或写入特殊寄存器中的wsr和rsr指令的成本。

回答 1 投票 0

在不使用乘法器的情况下,以2 ^ 8为基础加速大型模块化乘法

我目前正在将nacl库转换为risc-v。我已经有poly1305工作。我正在尝试使用risc-v核心指令集来执行此操作,因此我没有乘法器。 ...

回答 1 投票 5

有什么方法可以安排事件而无需不间断地运行检查

假设我想在满足某些条件时运行一个函数,例如,我想在某个小时显示弹出消息。我是否必须经常检查或是否有其他方法...

回答 1 投票 0

用于测试大整数的快速方法

在处理非常大的整数n(数千位)的数论算法中,我需要测试第j位。这些工作之一:如果1 << [...

回答 1 投票 1

我如何解决指针数组中的数据依赖关系?

如果我们有一个整数指针数组,它们全部指向同一个int,并对其进行++操作,那么它比那些指向两个不同int的指针要慢100%。这是一个...

回答 1 投票 3

为什么交换在C ++中不使用Xor操作

我了解到Xor操作可用于实现有效的交换功能。像这样:template void swap(T&a,T&b){a = a ^ b; b = a ^ b; a = a ^ b; }但是...

回答 5 投票 10

Skylake是否需要vzeroupper来使turbo时钟恢复到仅读取ZMM寄存器并写入k掩码的512位指令后恢复?

写入ZMM寄存器可以使Skylake-X(或类似的)CPU无限期地处于最大涡流降低的状态。 (SIMD指令可降低CPU频率并动态确定恶意AVX-512 ...

回答 1 投票 5

AVX512BW:使用bsf / tzcnt处理32位代码中的64位掩码?

这是我的AVX512BW vxorps zmm0,zmm0,zmm0中'strlen'函数的代码; ZMM0 = 0 vpcmpeqb k0,zmm0,[ebx]; ebx是字符串,在64字节边界处对齐kortestq ...

回答 1 投票 2

长等待时间指令

我想要一个长等待时间的单指令x861指令,以便创建长的依赖链,作为测试微体系结构功能的一部分。目前,我正在使用fsqrt,但我想知道是...

回答 2 投票 2

Python / Numpy优化

我有一个简单的python类,大约有40行计算,此后给出一个用例示例,它执行简单的计算(基于...之间的L2距离进行独立测试)

回答 4 投票 1

加快D程序的速度

我正在一个非常苛刻的项目(实际上是一个解释器),完全用D编写,我想知道通常会建议哪种类型的优化。该项目大量使用...

回答 1 投票 3

© www.soinside.com 2019 - 2024. All rights reserved.