@ProCxx

Страница 794 из 2477
Varkus
17.04.2017
13:06:43
Господа, холиварить в соответствующий чат. #holywar
Ок, я подытожу и заткнусь. Спасибо за понимание.

Дед Пегас
17.04.2017
13:06:45
В рамках плюсов, конечно.

Vitaly
17.04.2017
13:07:01
Ассемблерные вставки действительно зло и их не должно быть в нормальном проекте. Современные компиляторы C/CXX оптимизируют намного лучше, чем способен написать ассемблерщик с 20-летнем стажем. К тому же такой код со вставками не соберётся на других архитектурах, в отличие от нормального C/CXX кода.

Google
Дед Пегас
17.04.2017
13:07:41
И он как раз таки пишет асм.

Плюшка
17.04.2017
13:07:52
Ассемблер нужен только там, где без него действительно никак

Дед Пегас
17.04.2017
13:08:12
И ковырять асмовыхоп компиля бывает полезно. Для исправления компиляторов.

Varkus
17.04.2017
13:13:13
Да нет, скорее я хочу навести вас на мысль, что вы совсем не правы. А для этого я хочу направить вас по дороге изысканий доказательств к вашим конфабуляциям.
Блин, ну абстрагируйтесь от чисел. Ясно же, что асм это возня с регистрами процессора. Но я не нашел более простых пальцев для показать: асм и не асм. Очень рад за компиляторы, что они такие умные, но присутствующие тут же давят на портабельность. А речь начиналась о СКОРОСТИ. ИМХО, ни один компилятор не обойдёт асм спеца.

Vitaly
17.04.2017
13:17:40
Блин, ну абстрагируйтесь от чисел. Ясно же, что асм это возня с регистрами процессора. Но я не нашел более простых пальцев для показать: асм и не асм. Очень рад за компиляторы, что они такие умные, но присутствующие тут же давят на портабельность. А речь начиналась о СКОРОСТИ. ИМХО, ни один компилятор не обойдёт асм спеца.
Даю домашнее задание: провести ресерч на ряде базовых алгоритмов. Одна реализация с ассемблерными вставками, вторая на чистых сях/крестах (на твой выбор). Запусти десяток миллионов раз и узнаешь какой будет быстрее.

Antony
17.04.2017
13:21:00
Блин, ну абстрагируйтесь от чисел. Ясно же, что асм это возня с регистрами процессора. Но я не нашел более простых пальцев для показать: асм и не асм. Очень рад за компиляторы, что они такие умные, но присутствующие тут же давят на портабельность. А речь начиналась о СКОРОСТИ. ИМХО, ни один компилятор не обойдёт асм спеца.
Я вас удивлю, некоторые вещи компилятор делает намного лучше людей. Например, страшно представить, сколько времени надо асм профессионалу, чтобы оптимально реализовать int foo(int i) { return i % 3; } А вот компилятор делает это за микросекунды: movsxd rax, edi imul rcx, rax, 1431655766 mov rdx, rcx shr rdx, 63 shr rcx, 32 add ecx, edx lea ecx, [rcx + 2*rcx] sub eax, ecx ret И я не поверю, что есть асм мастера, которые помнят все подобные константы и хитрости наизусть

Дед Пегас
17.04.2017
13:21:53
Пардон, я тупой, а в чём тут хитрость?

// правда, в чём?

Antony
17.04.2017
13:25:51
Пардон, я тупой, а в чём тут хитрость?
Очень тяжёлую операцию "остаток от деления" компилятор свёл к операциям умножения, сложения и сдвига с магической константой 1431655766; При этом сэкономил около 15 тактов.

Дед Пегас
17.04.2017
13:26:30
Круто.

Спасибо)

Google
Antony
17.04.2017
13:28:28
Асм не компилятор, а транслятор

Varkus
17.04.2017
13:29:14
Пля, я знал я знал, но забыл ☺️

Antony
17.04.2017
13:29:55
Kirill
17.04.2017
13:33:29
либо разработчикам компиляторов

Oleg
17.04.2017
13:41:13
Эм я что-то не пойму. Почему оно так работает: https://bpaste.net/show/776258dbfcb2

Структура разве не в стеке? И при выходе из функции стек же чистится. Да? Нет? Лыжи? Я?

Antony
17.04.2017
13:44:29
Структура разве не в стеке? И при выходе из функции стек же чистится. Да? Нет? Лыжи? Я?
Вы же её возвращаете по копии. P.S.: чат supapro.cxx для подобных вопросов: https://telegram.me/joinchat/BYlFbD3eN3JMaG34hyh96w

Oleg
17.04.2017
13:45:18
А тут что можно обсуждать?

ВариаDики? %)

Alexander
17.04.2017
13:46:44
А тут что можно обсуждать?
не возвращение по ссылке ?

вы можете попробовать спросить про возвращение по значению на linux.org.ru в разделе Development. Там Вам помогут точно

Friedrich
17.04.2017
14:14:36
Кроме шуток, авторы gcc нормально реагируют на сообщения о недостаточной оптимизации. У них в трекере есть соответствующие категории багов, и они их исправляют понемножку.

Никита
17.04.2017
14:15:41
А вы о баге сообщили разработчикам компилятора?
Не пробовал, так как во многих местах генерировал плохо

Antony
17.04.2017
14:21:10
Не пробовал, так как во многих местах генерировал плохо
Пожалуйста, если будете ещё натыкаться на подобные места - сообщайте разработчикам. Как правило они просто не знают о проблеме, и поэтому её и не исправляют.

Google
Friedrich
17.04.2017
14:22:15
не в курсе, что насчёт clang? Там разработчики тоже надеюсь адекватно реагируют на такие замечания
К сожалению, не в курсе. Я тоже на это надеюсь и мне кажется, что на такое отношение можно рассчитывать :)

Antony
17.04.2017
14:26:58
Спасибо за совет, обращусь
Сразу расскажу, как правильно обращаться: Проблему надо локализовать. Тоесть сделать минимальный пример, который не включает заголовочные файлы, но производит неоптимальный машинный код. Стоит кратко описать, что именно вам кажется неоптимальным. Обязательно надо указывать свой реальный почтовый адрес при регистрации - зачастую нужно какое-то обсуждение проблемы (спросят версию компилятора, что-то системное, флаги компиляции и т.д.) - без верного адреса диалога не будет.

Alexander
17.04.2017
14:30:51
Tema
17.04.2017
14:37:40
email
Понял, спасибо

Daniyal
17.04.2017
16:30:53
Что нынче для сериализации XML уважаемые господа разработчики С++ используют?

Alex Фэils?︙
17.04.2017
16:31:28
я тинихмл2 люблю

Daniyal
17.04.2017
16:32:30
Спасибо) буду смотреть в эту сторону

Alexander
17.04.2017
17:18:35
Для тех, кто не в курсе: в Boost почти завезли вкусняшку новую - Boost.Process http://www.boost.org/users/history/in_progress.html

Nikolai
17.04.2017
17:31:32
Для тех, кто не в курсе: в Boost почти завезли вкусняшку новую - Boost.Process http://www.boost.org/users/history/in_progress.html
жто типо пораждение своего процесса? В рантайме или в модельном времени?

Alexander
17.04.2017
17:31:47
рантайм

Daniyal
17.04.2017
17:44:42
Я вообще рад. Я пока что тащу boost.Process в инклюдах и это мне совсем не доставляет

Для тех, кто не в курсе: в Boost почти завезли вкусняшку новую - Boost.Process http://www.boost.org/users/history/in_progress.html

С начальством уже договорился, что перейдем на 1.64 сразу как только зарелизят

Boost.process header only, если кто не знает

Evgeniy
17.04.2017
17:47:40
А он кроссплатформенный в версии которую зарелизили? Или для винды свои функции, для линукса свои?

Google
Daniyal
17.04.2017
17:50:13
В целом кросплатформенный, но есть и некоторый платформеннозавистмые частности

В общем случае кросплатформенныц

Но я под виндой лично не пробовал

Anton
17.04.2017
17:55:24
Он зависит от fs и system вроде. С 2014 года оно не обновлялось.

Ковырял примеры год назад.

Admin
ERROR: S client not available

Evgeniy
17.04.2017
17:59:42
Ковырял примеры год назад.
Да как раз последний год и апдейтились, потому и впилили в буст наконец

Это логично как бэ
Логично как раз сделать кроссплатформенную обертку, где можно

Anton
17.04.2017
18:03:15
Логично как раз сделать кроссплатформенную обертку, где можно
В буст завезли пайпы и поддержку переменных окружения?

Александр
17.04.2017
18:13:10
кто-нибудь может привести разумный пример перегрузки operator&?

Alexander
17.04.2017
18:14:17
может перед тем как вернуть ссылку проверить валидность обекта и если что кинуть исключение

Alexander
17.04.2017
18:14:53
Ого, не прошло и 20 лет
а так долго ждал?)

Mikhail
17.04.2017
18:15:48
Я вообще его не ждал, просто очень давно видел:)

Alexander
17.04.2017
18:16:34
Я вообще его не ждал, просто очень давно видел:)
процесс просто довольно медленный, что ж поделать. Я до сих пор жду ревью моего пулл реквеста в Boost.Sort

и тишина....

Mikhail
17.04.2017
18:17:55
Я думаю через постель было бы быстрее :)

Alexander
17.04.2017
18:18:22
Я думаю через постель было бы быстрее :)
Мне кажется, что Steven Ross не оценил бы таких начинаний с моей стороны ?

Google
Mikhail
17.04.2017
18:19:36
Мне кажется, что Steven Ross не оценил бы таких начинаний с моей стороны ?
Не знаю, но как попадают в бустер пулл реквесты вопрос!

Alexander
17.04.2017
18:20:10
Не знаю, но как попадают в бустер пулл реквесты вопрос!
Всё очень просто - берёшь и пишешь. А потом они со временем попадают туда. Всё довольно таки просто ?

Alexander
17.04.2017
18:21:20
Так только через десятилетия!
неправда. Не всегда. Обычно намного-намного быстрее. Бывает, что в пределах пары недель

Alexander
17.04.2017
18:23:19
Эти через постель, сто пудов! Инфа 146%
Ну как знаешь. Тебе виднее ?

Mikhail
17.04.2017
18:25:03
Ну как знаешь. Тебе виднее ?
Просто ты недавно в этом бизнесе, парень!

Alexander
17.04.2017
18:25:52
Надо поинтересоваться у @antoshkka , как оно на самом деле - он то явно больше меня в Boost разбирается. Он тебе точно правду расскажет)

Demyan
17.04.2017
18:44:09
Привет всем

кто нить юзал hrtimer ?

Alexander
17.04.2017
18:46:56
кто нить юзал hrtimer ?
что-то мне подсказывает, что это не плюсовая штука

Demyan
17.04.2017
18:47:13
ну да)

high resolution timer api из ядра линуха

Surreal
17.04.2017
18:58:19
В хроно же есть high_resolution_clock или типа того что-то. Или ядреный точнее?

Demyan
17.04.2017
19:01:39
что за хроно?

ну наверняка штуки из ядра линуха будут шустрее

Alexander
17.04.2017
19:03:25
ну наверняка штуки из ядра линуха будут шустрее
1) Тебе так важна скорость? 2) Откуда такое нежелелание пользоваться стандартными библиотеками? 3) Это чат плюсовый, а не сишный

Demyan
17.04.2017
19:04:01
1) 0.5 наносекунды точность нужна 2)ядрышко пизже 3)сорян не туда попал)

Страница 794 из 2477