Версии
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
clang version 6.0.0-1ubuntu2
Код на 20 000 символов занимает ~1.25 секунды в среднем.
Не очень понятно зачем сравнивать Си-шную версию на 15 000 символов и версию на Си++ на 20 000 символов. Ведь длина строки закладывает количество итераций обоих циклов. Статья интересная, но выглядит как «желаемое за действительное».
В коде поставил нормальный замер скорости, именно по вызову процедуры.
При этом спрос будет только расти: во времена, когда десять строчек кода оборачивают в Electron и получают приложение или расширение, которое потребляет ресурсов больше, чем было у целой рабочей станции еще десять-пятнадцать лет назад, размениваться на такую «мелочь», как оптимизация хранения данных и экономия дискового пространства, никто не собирается.
Для таких разработчиков в аду приготовлен специальный котёл повышенной температуры.
Для меня, самым серьезным прорывом в С++ были:
1. Работа с файловой системой.
2. Работа с многопоточностью.
3. Работа в функциональном стиле.
Я ожидал, что наконец добавят поддержку сетевой работы, интегрируют asio в стандартную библиотеку. Из этих мелких фундаментальных инстурментов, понравился rvalue, не хватало его для оптимизации логики. Видимо сетевая работа в 2020 неактуальна для C++, спасибо хоть многопоточность есть из коробки. Подождем до 2030, может добавят.
Лично меня Intel огорчил своей политикой после сборки на LGA 2011-3. Покупаешь топовое десктопное железо. Проходит небольшое время, Intel выпускает поколение процессоров под этот же сокет прибавив мощности и цены. Спустя еще некоторое время, выходит очередное поколение, мощность существенно выше, а цена чуть ниже, но другой сокет и будьте добры занести 15-20 т.р. дополнительно за мат. плату аналогичных ТТХ. Получается так, что в рамках одного сокета LGA 2011-3, десктопные процы практически не эволюционировали, апгрейд просто не на что делать в рамках сокета. Спасибо конечно, что процессоры продают отдельно, не впаяв в мат. плату, только разницы нет :-)
Вот после такого, принципиально уже не хочется делать апгрейд на Intel, лояльность AMD выше.
Result: 0 15000
Finished in 0.708s
user@ThinkPad-L380:~$ ./testclang
Result: 0 15000
Finished in 0.700s
Сборка
g++ test.cpp -o test -O3
clang++ test.cpp -o testclang -O3
Версии
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
clang version 6.0.0-1ubuntu2
Код на 20 000 символов занимает ~1.25 секунды в среднем.
Не очень понятно зачем сравнивать Си-шную версию на 15 000 символов и версию на Си++ на 20 000 символов. Ведь длина строки закладывает количество итераций обоих циклов. Статья интересная, но выглядит как «желаемое за действительное».
В коде поставил нормальный замер скорости, именно по вызову процедуры.
Для таких разработчиков в аду приготовлен специальный котёл повышенной температуры.
1. Работа с файловой системой.
2. Работа с многопоточностью.
3. Работа в функциональном стиле.
Я ожидал, что наконец добавят поддержку сетевой работы, интегрируют asio в стандартную библиотеку. Из этих мелких фундаментальных инстурментов, понравился rvalue, не хватало его для оптимизации логики. Видимо сетевая работа в 2020 неактуальна для C++, спасибо хоть многопоточность есть из коробки. Подождем до 2030, может добавят.
Вот нормальные у наших же payneteasy.
acquiring.vtb.ru/catalog/terminaly/proiz-is-payneteasy
Вот после такого, принципиально уже не хочется делать апгрейд на Intel, лояльность AMD выше.