Size: a a a

2020 July 27

D

Danya in pro.cxx
Dmitry Sokolov
Никто не сталкивался, почему gcc может НЕ constexpr'ессить string_view конструктор от литерала? Я чот уверен был, а тут смотрю вызов какого нибудь foo("xxx") кладет адрес литерала и дёргает char_traits length.
Оно даже с -O3 не делает этого?
источник

AT

Anatoly Tomilov in pro.cxx
не sorted
источник

AS

Anatoly Shirokov in pro.cxx
Anatoly Tomilov
не sorted
обойдешься
источник

AT

Anatoly Tomilov in pro.cxx
Anatoly Shirokov
обойдешься
придётся мучаться(
источник

DS

Dmitry Sokolov in pro.cxx
Danya
Оно даже с -O3 не делает этого?
С O3 как раз. Вот думаю от чего может зависеть, надо тесты писать :(
источник

AS

Anatoly Shirokov in pro.cxx
Anatoly Tomilov
придётся мучаться(
напротив, если не сортед - это мучение
источник

AT

Anatoly Tomilov in pro.cxx
аа, да не. Тут задача такая. Никуда не деться
источник

D

Danya in pro.cxx
Dmitry Sokolov
С O3 как раз. Вот думаю от чего может зависеть, надо тесты писать :(
Ну оно не смогло, но все по стандарту
источник

AT

Anatoly Tomilov in pro.cxx
порядок важен
источник

D

Danya in pro.cxx
Dmitry Sokolov
С O3 как раз. Вот думаю от чего может зависеть, надо тесты писать :(
А другие компиляторы справляются?
источник

АК

Александр Караев... in pro.cxx
Alex
GCC 10 ооочень долго компилит один исходник, чуть ли не час. Есть какой-то флаг, чтобы он в реальном времени показывал в stdout, чем он там занят?
у меня такое было, когда он выжрал всю память и в конце или через большой промежуток времени падал, или, когда память внезапно находилась, всё-таки собирал
могу посоветовать выделить больше озу виртуалке
источник

АК

Александр Караев... in pro.cxx
Alex
GCC 10 ооочень долго компилит один исходник, чуть ли не час. Есть какой-то флаг, чтобы он в реальном времени показывал в stdout, чем он там занят?
А ещё с gcc9 натыкался на баг (или фичу), что шаблонные лямбды без аргументов уводили компилятор в кому, может у тебя схожее что-то
источник

AS

Anatoly Shirokov in pro.cxx
Anatoly Tomilov
не sorted
ты ведь всегда можешь работать c враппером:
struct your_element {...};
struct ordered_your_element {
      your_element e;
      size_t order;
};

сохрани порядок, отсортируй, вычисли, восстанови
источник

AT

Anatoly Tomilov in pro.cxx
чтобы задать order нужно знать решение
источник

AS

Anatoly Shirokov in pro.cxx
Anatoly Tomilov
чтобы задать order нужно знать решение
что-то ты загадками говоришь
источник

AT

Anatoly Tomilov in pro.cxx
Anatoly Shirokov
ты ведь всегда можешь работать c враппером:
struct your_element {...};
struct ordered_your_element {
      your_element e;
      size_t order;
};

сохрани порядок, отсортируй, вычисли, восстанови
Задача решается двойным циклом без доп. памяти за сумму длин. Явно неправильный путь
источник

MZ

Max Ziua in pro.cxx
Dmitry Sokolov
Никто не сталкивался, почему gcc может НЕ constexpr'ессить string_view конструктор от литерала? Я чот уверен был, а тут смотрю вызов какого нибудь foo("xxx") кладет адрес литерала и дёргает char_traits length.
clang-5 имел эту проблему, в 6+ пофиксили
источник

MZ

Max Ziua in pro.cxx
Но да, имел с этим дело
источник

MZ

Max Ziua in pro.cxx
Самое прикольное, что если юзать ""sv, то strlen не дёргается
источник

MZ

Max Ziua in pro.cxx
Если смотреть asm аутпут
источник