compiler-optimization 相关问题

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

Rust:在“Copy”类型中使用“std::ptr::write_volatile”实现内部可变性的安全性(例如,没有“UnsafeCell”)

我正在尝试在复制值类型中实现内部可变性(用于缓存目的)。 问题是,据我所知,没有任何类型可用于内部可变性(例如 UnsafeCel...

回答 1 投票 0

Rust:在“Copy”类型中使用“std::ptr::write_volatile”实现内部多变性的安全性(例如,没有“UnsafeCell”)

我正在尝试在复制值类型中实现内部可变性(用于缓存目的)。 问题是,据我所知,没有任何类型可用于内部可变性(例如 UnsafeCel...

回答 1 投票 0

GCC 完全删除 while 循环中的条件

我有以下 C/C++ 代码片段: #定义 ARRAY_LENGTH 666 int g_sum = 0; extern int* g_ptrArray[ ARRAY_LENGTH ]; 无效测试() { 无符号整数 idx = 0; // 启用或禁用

回答 2 投票 0

使用特殊编译标志编译目录中的某些文件

我的项目目录中有几个文件,我想使用非常具体的编译选项来编译某些文件,并使用标准编译选项来编译其他文件,我想使用 if else

回答 1 投票 0

rust可以保存编译器的优化记录吗?

在C中,我可以使用以下命令输出编译器优化信息: clang -O2 main.c -o main -fsave-优化-记录 Rust 是否也有这样的选项来输出优化信息...

回答 1 投票 0

是否有必要使用“inline(never)”属性来标记负责消除通用开销的函数?

这是否足以防止以调用函数为代价的通用开销?还是需要指定#[inline(never)]? fn foo>(a: i32, b: T) -> i32 { fn 静态...

回答 1 投票 0

避免未使用的变量在 C++ 中被优化?

我正在尝试利用构造未使用变量的副作用,所以我不希望它被优化掉。 好的,我知道在构造变量时使用副作用可能不是一个好的做法。所以

回答 1 投票 0

带有优化标志的gfortran如何解释嵌套隐含的do循环?

我对 gfortran 有一个问题,我试图在一般层面上理解它,以避免将来再次遇到它。具体来说,我试图理解嵌套隐含 do 的行为

回答 1 投票 0

如何让GCC优化长异或链

我有一个像这样的循环: uint32_t 结果 = 0; for ( int i = 0; i < CONSTANT; ++i ) { result ^= expr; } return result; Overall, GCC is doing a beautiful job with this code. It fully unrolls th...

回答 3 投票 0

编译器可以优化静态局部变量的初始化吗?

在以下情况下应该采取什么行为: C类{ boost::mutex mutex_; std::map<...> data_; }; C& 获取() { 静态Cc; 返回c; } int main() { 得到(); // 是

回答 3 投票 0

检测 Rust 移动/复制何时涉及实际复制

Rust Copy 特性做了这样的评论: 在幕后,复制和移动都可能导致位被复制到内存中,尽管有时会对此进行优化。 该文档提供了这一点...

回答 1 投票 0

C++ 是否/可以优化对函数参数的调用?

我们假设这个函数模板: 模板 无效 foo(F&& f) { f(“富”); } 无效 to_optimize() { foo([](std::string_view s) { std::cout << s &l...

回答 1 投票 0

选择相当于-O1的gcc优化标志

我有一个小程序,使用 -O1 编译时性能比不进行优化要好得多。我有兴趣知道编译器所做的哪些优化导致了这种加速......

回答 2 投票 0

更改 C 中的数组指针

我有一个固定大小的数组,我想“左移”它。 例如 {1,2,3,4} --> {2,3,4} 根据我的理解,数组是连续的内存单元,所以这应该可以通过改变开始

回答 1 投票 0

CLR 如何在底层优化布尔比较操作?

注意:我在这个问题中使用 PowerShell 作为示例,但这同样适用于任何 .NET 语言。 在 .NET CLR 中,我很想知道评估布尔逻辑的不同方法是如何工作的...

回答 1 投票 0

如何让 TypeScript 执行尾递归优化?

const isPositive = (n: 数字) => n > 0; 函数fitsIn(被除数:数字, 除数:数字, 计数:数量, 累加:数字):数字{ 如果(准确...

回答 2 投票 0

内联函数有什么要求? [重复]

函数需要什么才能在 C++ 中内联执行? 是否存在函数无法内联的情况,或者任何函数都可以内联,这是

回答 5 投票 0

C# 虚拟成员可以内联吗?

考虑以下派生内部类旨在重写并返回 true 的替代实现: 公共虚拟布尔 IsInternal => false; ...和... 公共虚拟b...

回答 2 投票 0

编译器是否能够将 try/catch 优化为简单的 goto?

在我看来,如果你有一些像这样的C++代码: 整数 f() { 尝试 { if( do_it() != 成功 ) { 抛出 do_it_failure(); } } catch( const std::Exception &e ) { 显示错误...

回答 3 投票 0

为什么将字符串初始化为 "" 比默认构造函数更有效?

通常,默认构造函数应该是创建空容器的最快方法。 这就是为什么我惊讶地发现它比初始化为空字符串文字更糟糕: #包括<

回答 1 投票 0

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