compiler-optimization 相关问题

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

当另一个指向 const 的指针观察到数据时,通过指针更改数据是否安全?

它是安全的代码吗?还是编译器可以通过 p 优化访问,使得 *p 的结果为 42? #包括 整数我 = 42; int *d = &i; 无效测试(int const *p) { *d = 43;

回答 3 投票 0

通过其他指针将指针更改为const

它是安全的代码吗?还是编译器可以通过 p 优化访问,使得 *p 的结果为 42? #包括 整数我 = 42; int *d = &i; 无效测试(int const *p) { *d = 43;

回答 2 投票 0

如何防止一段无副作用的代码被优化掉?

考虑一个场景,我构造了一个表示大整数的类 T。这个T类有一个加法运算符函数。 T 类{ 民众: T 运算符+(const T &other) const } ...

回答 1 投票 0

llvm-bolt 仪器模式是否会导致 BOLT 轮廓不太准确?

BOLT 二进制优化器建议使用 perf 来分析二进制文件以进行优化。但是,如果“性能不可用”,它们有一个 llvm-bolt 模式,也可以分析应用程序...

回答 1 投票 0

哪个更好 - 使用 extern 或在头文件中声明结构数组并在 C 中的 .c 中定义它

在头文件 ex.h 中声明数组结构 #包括 typedef 结构 example_t{ 常量 char *pStr; uint32_t 大小; } example_t; 结构 example_t array_struct[2]; 然后德...

回答 1 投票 0

优化友好的矢量转换/转换

我不相信这个问题有一个好的答案。大多数答案建议范围初始化或 std::transform。有时建议“依靠 SmartCompiler™ 来

回答 2 投票 0

JVMCI JIT 编译器(Graal 编译器)

我有一个 Spring 应用程序,它通过 ScriptEngine 使用 JavaScript 脚本(graalvm 提供的引擎 https://docs.oracle.com/en/graalvm/enterprise/20/docs/reference-manual/js/ScriptEng...

回答 1 投票 0

gcc 12 在查找向量中的最小元素时生成的汇编代码比 gcc 8 更差

测试代码: #包括 #包括 #包括 uint32_t find_min(const std::vector& v) { 返回 std::distance(v.begin(), std::min_el...

回答 1 投票 0

C/C++编译器可以在编译过程中通过按引用传递来优化按值传递吗?

在像 Swift 这样的高级语言中,最常见和最强大的编译器优化之一是写时复制机制,它基本上将每个按值传递转变为按值传递

回答 2 投票 0

向局部变量添加 const 是否会影响其范围和编译器优化? [重复]

假设我有以下代码: int foo () { int 常量 x = 0; 返回x; } 编译器是否允许将 x 移至全局范围? 那么在下面的场景中呢? res2 可以根据...而变化吗

回答 1 投票 0

为什么我用 GCC 可以编译的最小 exe 是 67KB?

我想制作一个非常小的编译后的exe,它是用C编写的。但是我能得到的最小的是67KB。我正在使用 MinGW。 我尝试过不使用任何头文件,并且编译时没有...

回答 2 投票 0

使用 C++ 编译器构建的 OpenAcc 程序比 C 构建版本慢得多

我正在处理的代码是用 C++ 编写的,有点复杂,但下面的示例显示了问题。它来自 Chandrasekaran 和 Juckeland 所著的一本书。如果是用 nvc -acc 编译的(或者...

回答 1 投票 0

编译器会进行什么类型的分析来发现通过调用内置函数来减少整个代码块的机会?

我什至不确定我是否使用适当的术语来表达这个问题,但下面是我的意思(这是编译器资源管理器上的完整示例)。 使用这段代码,它计算 n...

回答 1 投票 0

当编译时已知形状(大小)时,Rust 编译器能否更好地优化 Array2?

我在 Rust 中使用 Array2 或 Array1 作为神经网络中的矩阵。 (是的,我知道有神经网络的库。我想用自己的学习代码来完成它。这个问题独立于

回答 1 投票 0

我可以鼓励 g++ 内联一个返回符号的开关吗?

我有一堆如下代码: int 符号(MyEnum e) { 开关(e) { 情况一: 情况B: 返回1; 情况C: 情况D: 返回-1; 默认: 抛出标准::

回答 3 投票 0

C#编译器是否能够优化像someEnumerable.Count()这样的语句< 2?

假设我有这样的代码: if (someEnumerable.Count() < 2) { // Do something } Would this result in someEnumerable being iterated over fully, or would evaluation complete if Count() reaches a

回答 1 投票 0

名义上在互斥条件下发生的写入之间是否存在数据竞争?

考虑以下代码片段: // 主线程 int 非原子 = 0; bool x = _ // 一些静态未知的值,取决于运行时参数和复杂的计算。 // 线程 1 和 2 是...

回答 1 投票 0

bigobj 选项 C++ 编译器与 Matlab 的接口

我正在使用 ACADO,我将其描述为一个框架,但不确定它是不是。简而言之,它是一种运行优化控制的方法,它搜索由某些驱动的微分方程的解

回答 1 投票 0

C 预处理器可以执行算术运算吗?如果可以,如何执行?

我目前正在为微控制器编写代码;由于 ATmega128 没有硬件乘法器或除法器,这些操作必须在软件中完成,并且占用相当多的内存...

回答 4 投票 0

如何为MSVC Visual Studio指定目标CPU/架构Haswell?

我有一个程序,大量使用内部命令 _BitScanForward / _BitScanForward64 (又名计数尾随零,TZCNT,CTZ)。 我不想使用内在函数,而是使用

回答 2 投票 0

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