c – 移动到64位时内存使用量可能会增加多少?

将应用程序从32位移动到64位时,会增加内存使用量?

我知道指针的大小会加倍,我怀疑字符串中的字符是“聚集”以更有效地使用内存(所以不会使用更多的内存).

内存使用量还会增加吗?有没有它会减少,或非算术运算会看到速度的好处?

解决方法

你可能会看到额外的对齐,在这里和那里花费一些额外的字节.由于操作数中的64位常量,代码可能会更大.

至于速度,由于内存使用量增加,您可能会遇到速度减慢. cpu缓存将更快填满.

我已经看到从x86到x64的显着速度优势,因为x86的寄存器比x64架构少得多.编译器利用额外的寄存器来更好地优化代码.我在相同的硬件上看到了15%的加速.

相关文章

/** C+⬑ * 默认成员函数 原来C++类中,有6个默认成员函数: 构造函数 析构函数 拷贝...
#pragma once // 1. 设计一个不能被拷贝的类/* 解析:拷贝只会放生在两个场景中:拷贝构造函数以及赋值运...
C类型转换 C语言:显式和隐式类型转换 隐式类型转化:编译器在编译阶段自动进行,能转就转,不能转就编译...
//异常的概念/*抛出异常后必须要捕获,否则终止程序(到最外层后会交给main管理,main的行为就是终止) try...
#pragma once /*Smart pointer 智能指针;灵巧指针 智能指针三大件//1.RAII//2.像指针一样使用//3.拷贝问...
目录<future>future模板类成员函数:promise类promise的使用例程:packaged_task模板类例程...