compiler-optimization 相关问题

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

我们是否有任何算法来优化布尔表达式

假设我们有这样的表达式: (规则 1 && 规则 2 && 规则 3) 其中 Rule1、Rule2 和 Rule3 是返回 true 或 false 的 REST 调用。 我想优化 REST 调用取决于...

回答 1 投票 0

.Net 配置文件引导优化在运行之间是否持续存在以及它们的动态程度如何?

这个问题与我关于启用 PGO 范围的其他问题类似,但这次的范围是指优化的二进制代码的存在。 当……

回答 1 投票 0

csproj 文件中 TieredPGO(.Net Profile Guided Optimization)的范围是什么

文档非常简短。只需添加: 真实 在您的 .csproj 文件中,配置文件引导优化将...

回答 1 投票 0

C++:如果一个项目没有包含,但仅使用 C++20 模块,编译器会看到每个函数体吗?

以这段代码为例(演讲 LLVM 优化备注 - Ofek Shilon - CppCon 2022,21:28): void somefunc(const int&); int Whateva(); 无效 f(int i, int* res) { 一些...

回答 1 投票 0

了解 C/C++ 中的结构大小变化:成员排序和数据对齐的影响

为什么 struct bit_man1 的大小为 8 个字节,而 struct bit_man2 的大小为 4 个字节,即使这两个结构包含相同的类型和数据量?考虑定义的结构

回答 1 投票 0

寻求条件分支的 Cython 优化:是否有等效的切换?

我目前正在开发一个Python项目,需要在Cython中重写以提高性能。在此 Python 代码中,有一段使用一系列 if/elif 语句来确定

回答 1 投票 0

编译器优化

-o2 和 -o3 级别的优化器将循环转换为 示例 2−30(a) 类似于示例 2−30(b) 中的代码。 我不明白为什么编译器要进行这样的优化?有吗

回答 1 投票 0

告诉优化器(O2)两个指针是“相同的”(LLVM Linux Armv7)

我有一个类,它有 2 个指向外部存储器的指针 p_Data 和 p_DataWrite。大多数时候,这两个指针都指向同一内存,并用于读取所述内存(p_Data)或写入...

回答 1 投票 0

f(int const) 比 f(int) 更适合编译器优化吗? [重复]

考虑以下两个函数: 无效 f(int n); 无效 f(int const n); 从编译器优化的角度来看,后者似乎比前者更好。 然而,从...

回答 1 投票 0

如何鼓励未使用的抽象基类的去虚拟化?

我有一个浅层类层次结构(底部的最小可重现代码示例),其中我使用抽象基类来保存一堆相关类之间的大部分通用逻辑,并带有一个 virt...

回答 1 投票 0

g++ 和 clang++ 中的宏扩展

#包括 #define DOUBLE1(x) x + x #define DOUBLE2(x) 2 * x int main() { 整数a=2; std::cout << DOUBLE2(a++) << " " << DOUBLE1(++a) << std...

回答 1 投票 0

编译器如何优化对`static mut`的读/写?

我编写的代码有点像这样: #![无标准] 静态 mut 数据:usize = 0; #[no_mangle] pub 不安全 fn update() { 数据=1; } #[no_mangle] pub 不安全 fn wait_for_data() { w...

回答 1 投票 0

c# 中的编译器优化质量很差

我不知道为什么,但我看了标准 C# 编译器(VS2015)生成的 IL,它在发布模式下明显没有优化。 我测试的代码非常简单: 静态无效主(s...

回答 1 投票 0

gcc 的 -march=native 是一个方便的选项吗?有什么魔法是你无法手动获得的吗?

当使用 gcc 的 -march=native 选项时,它会设置许多标志/选项, 但这是否可以通过手动设置所有内容来复制,或者是否设置了一些不暴露给用户的内容...

回答 1 投票 0

gcc 的 -march=native 是一个方便的选项吗?

当使用 gcc 的 -march=native 选项时,它会设置许多标志/选项, 但这是否可以通过手动设置所有内容来复制,或者是否设置了一些不暴露给用户的内容...

回答 1 投票 0

Rust 编译器可以像 C++ 编译器一样积极地重新排序语句吗?

我刚刚阅读了 Enforcing statements order in C++ 并了解到 C++ 编译器可以重新排序 使用 Clock = std::chrono::high_resolution_clock; 自动 t1 = 时钟::now(); // 语句1 foo(); ...

回答 1 投票 0

GCC 出于什么目的创建应用于移位项的单独位掩码?

下面是一个最小的可重现代码示例,我必须在八叉树分支内生成 3D 坐标的“数组”(其 1 字节元素打包到生成的 uint_fast64_t 中)

回答 1 投票 0

GCC 出于什么目的创建应用于移位项的单独位掩码?

以下是一个最小的可重现代码示例,我必须在八叉树分支内生成 3D 坐标的“数组”(其 1 字节元素打包到生成的 uint_fast64_t 中)...

回答 1 投票 0

禁用函数或代码块的编译器优化?

我想禁用单个函数或代码块的编译器优化。 我在 Visual Studio 2019 环境中。 我尝试如下: __forceinline 无效 InsertJunkCode() { #pragma 优化("&qu...

回答 1 投票 0

是什么阻止了 GCC __restrict__ 限定符工作

这是一些相当简单的代码,使用 -O2 (gcc 4.8.5) 编译: 无符号字符 * 行缓冲区; int yuyv_tojpegycbcr(无符号字符 * buf, int w) { int 列; 无符号字符 * 限制 pi...

回答 1 投票 0

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