Andrey
а так он убог
Andrey
особенно в реаллокации
Berkus
судя по имплементации в libc++ разница будет зависеть от того что ты туда передаешь
Berkus
template <class _Tp>
template <class _ValExpr>
inline
valarray<_Tp>&
valarray<_Tp>::operator=(const __val_expr<_ValExpr>& __v)
{
size_t __n = __v.size();
if (size() != __n)
resize(__n);
value_type* __t = __begin_;
for (size_t __i = 0; __i != __n; ++__t, ++__i)
*__t = result_type(__v[__i]);
return *this;
}
но
template <class _Tp>
inline
valarray<_Tp>&
valarray<_Tp>::operator=(initializer_list<value_type> __il)
{
if (size() != __il.size())
resize(__il.size());
_VSTD::copy(__il.begin(), __il.end(), __begin_);
return *this;
}
✙ Fatum ✙
у меня прост задача перелопатить csv данные по гектару каждый файл
✙ Fatum ✙
и таких 4
Andrey
по гектару это сила
Крылатый
Berkus
О, вот еще полезное
template <class _Tp>
valarray<_Tp>&
valarray<_Tp>::operator=(const valarray& __v)
{
if (this != &__v)
{
if (size() != __v.size())
resize(__v.size());
_VSTD::copy(__v.__begin_, __v.__end_, __begin_);
}
return *this;
}
Berkus
так что будет то же самое copy
Andrey
Крылатый
+
Крылатый
Я бы просто взял вектор и по нему пробегался через map
Andrey
мож там ваще алгоритм менять надоть, а не ташшыть все в память
Aidar
Berkus
apply для функциональщиков
Andrey
если вырожденная задача, мож ваше в екселе проще решать )
Aidar
Это for_each чтоль
Крылатый
Чеза мап
https://en.wikipedia.org/wiki/Map_(higher-order_function)
Berkus
фор ич только функциональный
Aidar
А это ваще трансформ
Крылатый
Aidar
Но чат о полюсах поэтому я спросил
Andrey
Aidar
Бррррр проприетарщина
Stanislav
Andrey
Andrey
можно в БД загнать и sql - ем поворочать
Крылатый
Ток хотел написать..)
Surreal
убрать нерелевантные данные.. короче, подготовить данные на скармливание нейросети
Берите vector, проверяйте на релевантность i элемент, если он не релевантен, проверяйте size - j элемент, если он релевантен, делайте свап, если нет, ищите релевантный size - j, увеличивая j, когда найдете, также свап. Потом в конце ресайз вектора.
Surreal
Если нерелевантных много и нужна производительность, то помечать как-то нерелевантные, чтобы кэш не морозить.
Aidar
Берите vector, проверяйте на релевантность i элемент, если он не релевантен, проверяйте size - j элемент, если он релевантен, делайте свап, если нет, ищите релевантный size - j, увеличивая j, когда найдете, также свап. Потом в конце ресайз вектора.
Это remove_if?
Алдар
Берите vector, проверяйте на релевантность i элемент, если он не релевантен, проверяйте size - j элемент, если он релевантен, делайте свап, если нет, ищите релевантный size - j, увеличивая j, когда найдете, также свап. Потом в конце ресайз вектора.
лучше просто заюзать remove_if
Berkus
Andrey
Andrey
✙ Fatum ✙
Берите vector, проверяйте на релевантность i элемент, если он не релевантен, проверяйте size - j элемент, если он релевантен, делайте свап, если нет, ищите релевантный size - j, увеличивая j, когда найдете, также свап. Потом в конце ресайз вектора.
спасибо, но я нерелевантные могу просто удалять) тут итак данных вагон уже)
Surreal
Andrey
Andrey
если что-то надо удалять
Andrey
Крылатый
Surreal
Крылатый
Быстрей просто insert
Berkus
ну да, copy он же постгресовский инсерт из файла)
Крылатый
Сравняшки gcc и clang http://www.phoronix.com/scan.php?page=article&item=gcc7-clang4-jan&num=2
Berkus
ничоси, уже 7 версия
Berkus
интересно почему на некоторых тестах гцц в ДВА раза продувает
Aidar
Это же openmpi
Berkus
ну там polly в кланге
Berkus
неизвестно только, включили они ее или нет
Berkus
дя
Anton
Пойду почитаю, а то не слышал даже об этом.
Berkus
ну по результатам похоже на полли
Surreal
А у clang и gcc совпадают наборы флагов, включенных в -O3?
Berkus
должны быть близко
Berkus
clang оригинально старался держаться близко, как сейчас не знаю
Surreal
Надо еще поискать соответствия флагов clang флагам gcc, потому что они разные:
https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gcc/Optimize-Options.html
http://stackoverflow.com/questions/15548023/clang-optimization-levels
Surreal
У clang векторизация с O2, в gcc с O3.
Berkus
During the automated compiler benchmarking process, the same CFLAGS/CXXFLAGS were set of "-O3 -march=native."
Berkus
ну значит обе векторизации были включены
Surreal
Это да, я просто к разнице. Это единственное, что в глаза бросается. Больше не нашел особо различий.
Berkus
не знаю как можно не любить этот язык https://www.youtube.com/watch?v=1gNzhE-Tn40&feature=youtu.be
✙ Fatum ✙
Крылатый
template duck typing!
Berkus
λ
asm строгий
Anonymous
Машинный код... вот кто строг
Andrey