Блог пользователя lis05

Автор lis05, история, 21 месяц назад, По-английски

Hello Codeforces.

I made two identical submissions on the same problem.

C++ 17(64bit) — 842ms.

C++ 20(64bit) — 1138ms.

Does anyone know why the time differs so much?

  • Проголосовать: нравится
  • +4
  • Проголосовать: не нравится

»
21 месяц назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

In my opinion C++20 is usually much quicker. Maybe it depends on the code.

»
21 месяц назад, # |
Rev. 3   Проголосовать: нравится +6 Проголосовать: не нравится

Removing two lines containing the following makes both c++ versions run in the same amount of time:

int cur=get(1,1,n,m);

C++17: 623ms/623ms
C++20: 623ms/624ms

Obviously, the problem was that compilers couldn't fully optimize away the unused call, but I don't know any details why such a difference.