Andrey
работаешь на авиацию
Anonymous
когда упомянули твой город
Anonymous
о чём тут у вас?
Andrey
у вас есть офис фирмы, где я работаю
Andrey
ул. Дзержинского, д.7
Berkus
псс, я разрабатываю операционки, мне это постоянно нужно
погоди, асм в операционках обычно используется для того что нельзя сделать на сях, для скорости там ничего нету
Berkus
даже в seL4 fastpath IPC закодирован на си
Berkus
ящитаю что овца врёт
Berkus
АЗ?
Andrey
аппаратно зависимая часть
Berkus
там тоже асм не нужен
Andrey
да?
Andrey
правда?
Anonymous
Anonymous
правда?
Абсолютли.
Pepe 🐸
В большинстве коммерческих продуктов под капотом ffmpeg и используется.
Тем не менее, я давно где то читал что он медленный по сравнению с другой библиотекой. Сам не проверял
Andrey
у тебя есть x86, у тебя есть mips
Berkus
вот пролог какого-нибудь IRQ хендлера - там может понадобиться, но это буквально десяток инструкций
Berkus
правда?
правда
Andrey
и как ты на них будешь выполнять команды?
Andrey
как ни странно, работают они иначе
Berkus
СИДЕТЬ, ЛЕЖАТЬ
Berkus
такие команды понятны и мипсу и арму и фидо
Berkus
как ни странно, работают они иначе
я не вижу причины использовать для них асм в любом случае
Andrey
окей, тебе нужно послать прерывание на процессор, пошли его с помощью c
Berkus
вот пролог какого-нибудь IRQ хендлера - там может понадобиться, но это буквально десяток инструкций
Berkus
Я ПРЯМО НАПИСАЛ ПРО ЭТО БУКВАМИ
Andrey
энивей, операции со стеком, операции с диском
Berkus
это очень performance critical прерывание, IPI какой-нибудь
Andrey
тот же самый log10 быстрее так: fldlg2 fldl 4(%esp) fyl2x ret
Berkus
энивей, операции со стеком, операции с диском
операции с диском тут причём? контроллер лиска работает через PIO или MMIO - это делется обычными сишными функциями
Berkus
как и примерно 100% остального периферийного железа
Anonymous
O3 не советую категорически. Только O2.
Pavel
загадочный русский госзаказ. может они и не умеют по другому, чо пристали?
Berkus
Udma - это вид ммио, кста?
MMIO это когда в область памяти мапятся порты железа
Matwey
Это же инструкции из 387?
Pavel
O3 не советую категорически. Только O2.
почему? Ofast ещё ладно может с плавающей точкой накрутить чтото. а О3 то чем не угодил в современных компиляторах?
🦥Alex Fails
MMIO это когда в область памяти мапятся порты железа
Да эт я знаю. Вспомнил хуйню из режимов работы hdd (pio и udma)
Pavel
не мешайте людям оптимизировать?
оптимизировать бюдежет
Anonymous
почему? Ofast ещё ладно может с плавающей точкой накрутить чтото. а О3 то чем не угодил в современных компиляторах?
O3 содержит ряд экспериментальных оптимизаций, которые до сих пор считаются unstable. Слишком большой риск получить криво работающий продукт.
Anonymous
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
Berkus
Да эт я знаю. Вспомнил хуйню из режимов работы hdd (pio и udma)
ну PIO работает через IO порты, а UDMA работает c PCI busmastering но настраивается через те же сраные порты
Pavel
хорошо когда много умных людей на канале — вбросил и читаешь
Pavel
О3 в старых компиляторах плохо работало. щас вроде норм, как мне казалось
Anonymous
Официальный man gcc говорит, что в O2 входят все стабильно работающие оптимизации, а в O3 те, которые ещё таковыми официально не признаны.
Berkus
так что O3 только в генту
Anonymous
так что O3 только в генту
Некоторые гентушники уже Ofast используют активно.
Anonymous
Disregard strict standards compliance. -Ofast enables all -O3 optimizations. It also enables optimizations that are not valid for all standard-compliant programs. It turns on -ffast-math and the Fortran-specific -fstack-arrays, unless -fmax-stack-var-size is specified, and -fno-protect-parens.
Aidar
я использую Ofast в pkgbuild
Berkus
да пожалуйста
Aidar
а не у меня O3
Aidar
fast math дичь
Berkus
зато быстро
Andrey
передачи управления на asm
Andrey
атомарные операции
Andrey
1 раз, но частенько используется
Andrey
ну и потоки в разных режимах использования
Ioann_
98% что компилятор умнее тебя
Ээээ.... станислав - скорее наоборот, 98% что человек сможет лучшет, если он специалист
Aidar
тут с тобой никто не согласен
Matwey
Бывшие школьники...
Evgenii
Ээээ.... станислав - скорее наоборот, 98% что человек сможет лучшет, если он специалист
сможешь соптимизировать произвольный кусок кода лучше компилятора?
Kirill
Так что да,я тоже по дефолту считаю что компилятор умнее
Ioann_
Я не за свое. Глупое утверждение просто. Ну не согласны и не согласны. Возникает ощущение что новые версии компилятора просто так выпускают
Anonymous
Я вас удивлю, некоторые вещи компилятор делает намного лучше людей. Например, страшно представить, сколько времени надо асм профессионалу, чтобы оптимально реализовать 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 И я не поверю, что есть асм мастера, которые помнят все подобные константы и хитрости наизусть
Ioann_
Я не устверждал что помню. Но утверждаю что код писанный мною на асме в 2010 году рвал и метал 2008 студию и гцц
Олександр
Семь лет прошло