compiler-optimization 相关问题

编译器优化涉及调整编译器以减少运行时或对象大小或两者。这可以使用编译器参数(即CFLAGS,LDFLAGS),编译器插件(例如DEHYDRA)或对编译器的直接修改(例如修改源代码)来实现。

需要哪些编译器优化来优化此递归调用?

这里有两个版本的简单算术表达式求值器(游乐场链接:https://play.rust-lang.org/?version=nightly&mode=release&edition=2021&gist=

回答 0 投票 0

为了获得更好的性能,可能/不可能的语句应该放在哪里?

某些软件(通常是面向性能的,例如 Linux 内核、DPDK)具有用于影响分支预测的 C 帮助程序。 我有一个绝对简单的代码片段(假设我知道 >...

回答 1 投票 0

优化两个函数的组合

在发展我的编程技能时,我经常遇到这样的信息:“不要将这些函数链接在一起。相反,使用可以更快地完成这两个函数的内置函数。&q ...

回答 1 投票 0

为什么没有一个主要的编译器优化 != 要分配的值的这个条件移动?

我偶然发现了这个 Reddit 帖子,它是以下代码片段的一个笑话, void f(int& x) { 如果(x!= 1){ x = 1; } } void g(int& x) { x = 1; } 说这两个

回答 2 投票 0

当 memcpy 来自 char* 时,C++ 布尔值既不是 0 也不是 1,是否有未定义的行为?

#include #包括 #包括 #包括 #包括 使用命名空间标准; 布尔* library_pad; 矢量 my_p...

回答 0 投票 0

用 C 计算什么更快? (x==0) 还是 (0==x)? [重复]

我想知道用 C 语言计算什么更好: 如果(x==0) { // 一些代码... } 的 如果(0==x) { // 一些代码... } 我知道最后一个更好,以防程序员忘记第二个 &q...

回答 1 投票 0

为 C2 编译期间 Java 高内存使用生成编译器回放数据文件

C2 编译器线程在编译一些方法时正在分配高端内存(在本机内存跟踪的帮助下确认)。问题是随机重现的,无法用测试代码复制...

回答 1 投票 0

C++ 编译器为 AVX SIMD 代码给出不同的结果

我正在研究如何检测 SIMD 寄存器的哪些通道中浮点数是 +/- 无穷大或 +/- nan。在运行时看到一些奇怪的行为后,我决定把东西扔进 Godbolt

回答 0 投票 0

在哪些情况下编译器会在 C# 中生成额外的代码?

所以我一直在使用 ILSpy 和 dnSpy 检查一些程序集,并注意到各种编译器生成的类和方法。一些例子: 像 public Value { get; 这样的 Getter 语法放; } 变成了...

回答 0 投票 0

Visual Studio 2022,我可以控制如何为 arm64 编译生成立即值吗?

当我有以下代码时: int 值 2 = 0x11223344; VS2022 编译器(arm64)生成: StarFunction 程序 ... ldr w8,|value_label| ... ... ... 退役 |值标签| DCD

回答 1 投票 0

如何在多态语言中找到正确的函数指针?

假设我们有类似 Java 语言的接口: 界面动物{ 公共 int getAge(); } 界面可驯服{ 公共无效驯服(); } 这些接口由类实现: c...

回答 1 投票 0

哪些规格最适合在 2023 年的 Linux 笔记本电脑上编译 Rust?

我正在寻找一台新的笔记本电脑,它主要用于编程,特别是防锈,并且希望获得性能最好的东西。我宁愿每 2 年更换一次笔记本电脑 ...

回答 0 投票 0

C++ 元编程与编译器优化

递归(非缓存)斐波那契的玩具问题可以实现如下: #包括 int 斐波那契(int n){ 如果(n<= 1) return n; else return

回答 1 投票 0

带有逐列寻址顺序的有问题的向量化 (C)

出于某种原因,按列寻址顺序的代码被向量化了。但是看了编译器的解释,不清楚到底是什么被向量化了。 列顺序示例...

回答 0 投票 0

删除 nullptr 可能会也可能不会调用释放函数。为什么不保证后者?

C++20 标准说(见 [expr.delete]) 如果 delete-expression 的操作数的值为空指针值, 未指定释放函数是否将被称为描述...

回答 2 投票 0

O2优化如何计算faulhaber公式?

考虑这样一个C程序 int fn(int n){ 整数总和= 0; 对于(int i = 1; i <= n; i++) sum += i*i; return sum; } int main(){ int n; scanf("%d",&n); prin...

回答 0 投票 0

为什么 GCC bootstrap 后我的 stage-2 和 stage-3 不同

我最近从官方 git 存储库开始自己构建 gcc。我正在使用 Arch Linux,并从官方存储库安装了所有必要的库。我做了以下事情: 氯...

回答 0 投票 0

比较 C 和 avx2 程序集性能的基准测试方法?

我想了解有关基准测试的详细信息。如果我想比较 C 和 avx2 手写汇编实现之间的性能。 我应该使用 -O3 编译器标志吗?但是 -O3 会优化 C 并使...

回答 1 投票 0

最新的 C++ 标准的哪些条款说这个循环是未定义的行为? [重复]

上下文。以下程序是由于无副作用的无限循环导致的 C++ 中未定义行为的示例。 (如果我们用 clang++ 编译这个程序并打开优化级别 1 (...

回答 0 投票 0

在 C/C++ 中如何确保内存写入是在读取之后?

我最近在研究 C/C++ 中的 memory_order,我已经阅读了 https://en.cppreference.com/w/cpp/atomic/memory_order , https://gcc.gnu.org/wiki/Atomic/GCCMM /AtomicSync ,但对

回答 0 投票 0

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