Square
Ладно, обещаю, что прочту доку и расскажу если найду
Vladislav
Быстрое гугление ничего про эту проблему не показало
Vladislav
Поэтому и уточняю)
Stanislav
ну так по умолчанию SSE2 берется
Stanislav
что за тест то?
Nikita
Без профайлера бессмысленно выяснять
Stanislav
откуда у visual c++ /fast-math то? /fp:fast если только
Nikita
Вообще, студия хуже if-ы разворачивает, конвеер остаётся поломанным
Stanislav
я всю движу пропустил)
Stanislav
а код? речь про это? https://github.com/IvanKamynin/KDTree
Stanislav
а что за проц ? tests/1.test : Time : 0.008000 sec. tests/2.test : Time : 0.000000 sec. tests/3.test : Time : 0.026000 sec. tests/4.test : Time : 3.685000 sec. tests/5.test : Time : 1.675000 sec. tests/6.test : Time : 3.334000 sec. tests/7.test : Time : 1.914000 sec. tests/8.test : Time : 0.120000 sec. tests/9.test : Time : 0.021000 sec. без всяких avx
Крылатый
А, мобильный...
Крылатый
Крылатый
Неудевительно.
Крылатый
> 2,40 GHz Ой вей.
Stanislav
дайте лучше мейкфайл на гцц или шланг) или смейк даже
Evgenii
как тестить? хочу прогнать gcc clang icc
Anonymous
Не подскажите? В чём ошибка? Пишу на vs2008: System::Drawing::ToString: недопустимый вызов нестатичной функции-члена ? Язык С++
Evgenii
можно еще раз линк на репу?
Aidar
Бот опять умер
Evgenii
ага, сек
Evgenii
как фиксить?
Evgenii
ну бля
Evgenii
кинь файл
Evgenii
ок
Evgenii
как раз шланг обновился)
Anatoly
Напомню, 11 октября в офисе JetBrains ( Санкт-Петербург, Университетская набережная, дом 7-9-11 к.5А,) пройдет митап St. Petersburg C++ User Group посвященный ranges: https://www.meetup.com/St-Petersburg-CPP-User-Group/events/243451783/
Evgenii
что-то не так сделал
Evgenii
у меня все пашет по инструкции 🤷‍♂
Dmitry
гентка у него наверн
Anatoly
Тоже, что и абырвалг
Vladislav
Matwey
Господа, а если у меня конструктор исключения сам бросает исключения, я наверное что-то очень сильно не так делаю?
Крылатый
Да.
Крылатый
Покажи подробней.
Крылатый
Код, например.
Matwey
Действительно, не буду так делать
Evgenii
не, убунта 17.04 и дебиан тестинг
Evgenii
гентка у него наверн
гентка тоже есть, но там апт не нужен)
Aidar
рач в оффрепах 5-й
Evgenii
$ /usr/lib/gcc-snapshot/bin/g++ -v Using built-in specs. COLLECT_GCC=/usr/lib/gcc-snapshot/bin/g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc-snapshot/libexec/gcc/x86_64-linux-gnu/7/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 20170226-1ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-snapshot/README.Bugs --enable-languages=c,ada,c++,go,brig,fortran,objc,obj-c++ --prefix=/usr/lib/gcc-snapshot --with-gcc-major-version-only --program-prefix= --enable-shared --enable-linker-build-id --disable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=yes --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 7.0.1 20170226 (experimental) [trunk revision 245744] (Ubuntu 20170226-1ubuntu1) $ clang++-6.0 -v clang version 6.0.0-svn315197-1~exp1 (trunk) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0 Selected multilib: .;@m64 $ icc -v icc version 18.0.0 (gcc version 6.0.0 compatibility)
Aidar
в ауре есть clang-svn
Matwey
http://en.cppreference.com/w/cpp/error/runtime_error А вот например, тут честно написано May throw std::bad_alloc
Matwey
Почему ему можно, а мне нельзя кинуть bad_alloc?
Levon
У меня есть класс обработки исключений, в конструкторе которого выкидывается исключение(в принципе, там только конструктор), типа вот так: ExceptionClass(condition, error_message); Если условие верное, то выкинуть исключение. Зачем это надо? Чтобы на каждый ексепшн не писать вот так: if(condition) { throw std::runtime_error(error_message); }
Александр
костыль какой-то
Matwey
Так чо там в стандарте, по этому поводу? Если я делаю throw std::runtime_error() и он бросает bad_alloc из конструктора
Matwey
Мне просто придет bad_alloc или всё развалится к хренам и пойдет в terminate()?
Levon
Потому что, я наследую от него виды ексепшнов, а потом ловлю базовый
Levon
class Exception { }; class RunTimeException : public Exception { }; и т.д.
Levon
А потом ловлю бейз просто
Александр
А потом ловлю бейз просто
template <class Exc> void throw_if(bool cond, std::string_view error_msg) { if(cond) { throw Exc{error_mss}; } };
Александр
class Exception { }; class RunTimeException : public Exception { }; и т.д.
серьёзно, выглядит как костыль
Александр
на каждый класс исключений есть дубляж
Matwey
try { throw std::runtime_error("Hello, World!"); } catch(...) { // ??? }http://en.cppreference.com/w/cpp/error/runtime_error > Exceptions > May throw std::bad_alloc
Matwey
Речь шла про конструктор исключения
Александр
если бросить исключение, а оно в своём конструкторе бросит bad_alloc, то вместо брошенного мы получим bad_alloc - беда
Anatoly
try { throw std::runtime_error("Hello, World!"); } catch(...) { // ??? }http://en.cppreference.com/w/cpp/error/runtime_error > Exceptions > May throw std::bad_alloc
придет к тебе std::bad_alloc, если конструктор std::runtime_error выбросит std::bad_alloc. в чем был вопрос?
Matwey
Может там в стандарте написано мелкими буквами внизу страницы что это UB к примеру
Aidar
а значит любой код это уб
Крылатый
Корочи, нужно оборачивать бросание исключения в try-catch, чтобы не поймать исключение, пока ты кидаешь исключение.
Anatoly
Будет вызван throw bad_alloc, не доходя до throw something. Вообщем, вопрос насколько тонкий, что я не въеду, с чего ты взял, что будет иначе?
Крылатый
Я ж шуткую.
Dr. Friedrich
Зачем GC? RAII же.
Dr. Friedrich
Исключение вывалилось, ты всякие шаред-птры поудалял, памяти больше стало. И снова можно конструировать исключения!
Dr. Friedrich
shared_ptr чем тебе не GC?
Aidar
нужен дополнительный пул
Dr. Friedrich
циклами
Бывают такие вот GC, которые не умеют разруливать циклы. Это тоже GC.