Олександр
Мне всегда интересовал вопрос почему нельзя в стд добавить УДОБНЫЙ класс для работы с двумерными массивами?
Двумерные массивы отлично линеаризируются, потому двумерные массивы не нужны.
Олександр
Серьезно, разница только в индексации.
ep
Двумерные массивы отлично линеаризируются, потому двумерные массивы не нужны.
Нужны функции над ними. Смысл в абстракции и представлении, а не в реализации на низком уровне
Олександр
Нужна абстракция - используй библиотеку или пиши ее сам.
Олександр
С++ это не Java, чтобы иметь все на все случаи жизни.
Олександр
Boost вон какой жирный
Ilya
Boost вон какой жирный
Буст можно кусочками брать. По факту это просто коллекция разных либ.
Nikita
В зависимости от операций, может быть гораздо эффективнее иметь блочное представление матриц, а не линеаризованное
Nikita
Эффективнее в плане кешей
Олександр
Так вот для этого есть уже библиотеки вне стандарта.
Alexey
В отличие от математической херни, которую добавили в с++17, двумерные массивы - это вещь, которая используется достаточно часто.
ep
Серьезно, разница только в индексации.
Почитай про реализацию массивов в numpy, про многомерные итераторы, там столько понакручено для быстродействия.
Alexey
А есть пропозалы на двумерные массивы?
Alexey
http://en.cppreference.com/w/cpp/numeric/special_math
Олександр
Ну и в каких алгоритмах std будет использоваться такой массив? Вернее, с какими алгоритмами он будет работать?
Олександр
Как проверять выход за границы?
Alexey
Ну и в каких алгоритмах std будет использоваться такой массив? Вернее, с какими алгоритмами он будет работать?
Будет массив - будут и алгоритмы) А двумерный массив будет очень полезен в задачах работы с графикой, например.
Anonymous
Народ, есть ли разница в приросте производительности, если скомпилировать систему на gcc6.4 по сравнению с gcc5.4?
Олександр
ep
Предложение по графике вроде есть в планах к 2020
Nikita
Предложение по графике вроде есть в планах к 2020
хоспаде, ещё и вулкан в стандарт запихнут?
Олександр
А еще этот весь зоопарк придётся поддерживать разработчикам компиляторов.
ep
В бусте есть многомерный массив, а толку, если функций и векторизации над ним нет?
ep
Там учить то нечего
Alignant
Там учить то нечего
Доки почитал, за день разобрался? :D
Nikita
Народ, есть ли разница в приросте производительности, если скомпилировать систему на gcc6.4 по сравнению с gcc5.4?
Не факт, только экспериментально проверять. А вот в шланге оптимизации поинтереснее могут оказаться
Alignant
Там же есть ещё такая хрень, как оптимизация в самом компиляторе
Alignant
-O3 там
Alignant
Ну, как параметры
ep
Доки почитал, за день разобрался? :D
Да, как-то так :) есть туториал официальный. Главное понять, что такое pythonic, и что python это не c++ :))
Dogma
Доки почитал, за день разобрался? :D
Есть пеп за несоблюдение которого питонищики посадят на оба стула сразу
Alignant
А что такое шланг?
Anonymous
-O3 там
Думаете, использовать будет разумно для всей системы?
Alignant
Думаете, использовать будет разумно для всей системы?
А почему нет? Хуже точно не будет. Правда так компилить надо не при каждом изменении кода, а то ж блин... долго будет.
Anonymous
А почему нет? Хуже точно не будет. Правда так компилить надо не при каждом изменении кода, а то ж блин... долго будет.
Стабильность не пострадает? По поводу времени не переживаю, трое суток на компиляцию должно хватить
Anonymous
райсерствуешь? дави -O4
Больше о3 нет же
Alignant
Я как-то дженту ставил и компилил всё на o3, побочных эффектов вроде не видел :D
ep
юзай cling
Это костыль. C++ слишком многословный для интерактмвности
Berkus
Это костыль. C++ слишком многословный для интерактмвности
да нормально, пару хелпер темплейтов соорудил и уже весьма удобно
Berkus
Больше о3 нет же
у шланга есть
Vlad
у шланга есть
нет же, о4 равносилен о3
Berkus
нет же, о4 равносилен о3
нет, он включает LTO
Vlad
нет, он включает LTO
ссылку на доку плз
Vlad
http://clang.llvm.org/docs/CommandGuide/clang.html
Vlad
Berkus
ссылку на доку плз
а выпилили уже, да, у меня старая инфа
Berkus
ну я давно не пользовался этой опцией
Vlad
иногда кстати О3 может быть медленнее чем О2
Berkus
я бы не стал все пакеты собирать -O3 без разбору
Vlad
вообще ничего страшного не случится
Vlad
просто чуть дольше компилирует
Berkus
Compiling with -O3 is not a guaranteed way to improve performance, and in fact, in many cases, can slow down a system due to larger binaries and increased memory usage. -O3 is also known to break several packages. Using -O3 is not recommended. However, it also enables -ftree-vectorize so that loops in the code get vectorized and will use AVX YMM registers.
Berkus
https://wiki.gentoo.org/wiki/GCC_optimization#-O граждане из генту давно все посчитали
Berkus
потому что мы обсуждаем с какими флагами собирать систему?
Vlad
гражданам из генту советуют не использовать UB и не будет проблем
Berkus
wat
Berkus
у них аналогичный набор оптимизаций
Vlad
wat
поломки при о3 связаны с ub в основном
Berkus
предлагаешь пофиксить 200к пакетов? удачи
Vlad
у них аналогичный набор оптимизаций
о3 у клэнга не ломает ничего, гцц не нужен
Vlad
предлагаешь пофиксить 200к пакетов? удачи
я предлагаю плюнуть на генту и гцц
Крылатый
Достаточно собирать с -O0 и писать весь оптимизированный код вручную.
Anonymous
Крылатый
О Луна, они это всерьёз восприняли.
Anonymous
я предлагаю плюнуть на генту и гцц
А что из source - based использовать?
Крылатый