Александр Таратин: Пока я не увижу, что программа на lua выдает хотя бы 0.8 от числа гигафлопс, полученных на той же задаче программой на C++ - lua как язык для расчетов я рассматривать не буду.
Александр Таратин: технически, OpenCL тоже подключается как dll-ка. С образовательной точки зрения будет "красиво" составить вычислительное ядро с его помощью и показать, как клево видеокарта может несколько десятков тысяч интегралов за секунду взять.
AnswerSearcher:
Я думаю, что стоит вычислить интеграл по квадратурной формуле Гаусса с четырьмя узловыми точками и посмотреть на качество. Хуже четырех знаков после запятой получиться не должно.
Scrandre: спасибо. Кстати, есть мнение, что при современных мощностях компьютеров, в наглую проинтегрировать по квадратурной формуле Гаусса будет еще быстрее и точнее.
Nc_Soft: очень странное утверждение. В силу линейности преобразования Фурье и справедливости неравенства Парсеваля, это все равно что сложить (даже без усреднения), сами значения отсчетов.
Могли бы и на меня сослаться, чтобы гарантированно привлечь мое внимание. Не подумали об этом? Не знали, что есть возможность написать мой ник с собачкой в начале(Армянское Радио), чтобы у меня появилось уведомление?
Поздравляю - вы также не идеальный человек, который может наделать глупостей, и чьи знания на 100 процентов не совпадают с реальностью.
Возможность отстрела ног на C++ - это не про "изучение C++ по youtube", а вполне себе мем субкультуры программистов на C++, который получил известность, благодаря книге Голуба "Веревка достаточной длины, чтобы выстрелить себе в ногу". Как?! Вы и об этом не знали?!
Суть мема - C++ является очень тонкой прослойкой между программистом и железом, которая очень доверчива к программисту. А программист (даже со знанием стандартов, применением правил и так далее) - увы - ошибается.
И дело даже не в том что вроде как "программист не железный, вот и ошибается" - железо тоже ошибается.
Резюмирую - по ногам себе стреляют не только джуниоры, изучавшие C++ за 21 день, но и маститие глыбы, вроде Кармака. А C++ просто ничем от такой стрельбы не защищает.
maagames.ru: наше с вами обсуждение сейчас строится вокруг отсутствующей задачи, даже гипотетической. Решать вопрос о том, какие тактики использовать можно, имея перед собой задачу, либо формальное описание класса задач.
Вы в категоричной форме дали совет использовать умный указатель и забыть про delete, я написал, что такая категоричность - вредна.
Андрей Чвалов: я собираюсь в ближайшее время разбираться с этой проблемой для своего проекта силами qt5 и qserialport в частности. Пока что ничего более сказать не могу.
maagames.ru: А оверхед на содержание смартпоинтера вы учли? На то, что при каждом копировании у вас не просто одна инструкция mov, а целый вызов метода, который должен увеличить счетчик ссылок? А если копируется миллион экземпляров?
Тактика умных указателей не всегда оправдана.
Иногда вариант собственным пулом объектов и собственным менеджером памяти оказывается эффективнее.
yanchumak: все зависит от задачи. И от размера - огромный массив просто не поместится на стеке.
maagames.ru: предлагаю во-первых не переходить на панибратский тон, во-вторых, каждую задачу решать отдельно и соизмерять удобство, привносимое STL и BOOST с оверхедом, который они неизбежно притянут за собой.
Если мне нужен банальный статический массив, который никогда не будет расти, я использую или new T[] или std::array, но не std::vector.
Каждой задаче - свой инструмент. А не свалка "лучших практик от гуру".