Система
- MacBook M4
- 12 ядер
- 24 ГБ ОЗУ
Использовались параметры CMake
Код: Выделить всё
DebugX86: -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_BUILD_TYPE=Debug
ReleaseX86: -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_BUILD_TYPE=Release
DebugARM: -DCMAKE_BUILD_TYPE=Debug
ReleaseARM: -DCMAKE_BUILD_TYPE=Release
Код: Выделить всё
// Parameters
long long counter;
int val = 1;
#define NUMBER 10000000001ll
void fun1(int a, long long start, long long stop, long long *pcounter) {
volatile long long count = 0; // volatile so it is not completely optimized away
for (long long i = start; i < stop; ++i) {
if (i & 1) count -= a;
else count += a;
}
*pcounter = count;
}
double test1(void) {
auto t0 = std::chrono::high_resolution_clock::now();
long long cnt1 = 0;
fun1(val, 0, NUMBER, &cnt1);
counter = cnt1;
auto t1 = std::chrono::high_resolution_clock::now();
double ms = std::chrono::duration_cast(t1 - t0).count();
return ms;
}
int main(int argc, char** argv) {
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79860852/debug-build-x86-64-emulation-faster-than-release-native-arm64-on-macbook-m4[/url]
Мобильная версия