Про эффективный компилятор поржал. Это давняя шутка программистов валить всё на компилятор, хотя я за 15 лет работы разрабом на куче языков и технологий ни разу не видел, чтобы компилятор был источником уменьшения скорости работы кода. Вычислительную сложность компилятор не портит.
Может, имелись ввиду какие-то оптимизационные механизмы компилятора, которые улучшают эффективность говнокода? Вот такое бывает, да.
"за 15 лет работы разрабом на куче языков и технологий ни разу не видел" 1. Были задачи где цикл должен отрабатывать за 17мс и не больше? 2. Были задачи связанные с кодом под GPU?
Бывает, что компиляторы генерируют неэффективный код, это нормально. С шейдерными компиляторами это чаще происходит, потому что гпушная архитектура меняется быстрее чем цпушная, цпушные компиляторы стабильнее в среднем. В _значимую_ разницу в кодогене между плойковским компилятором шейдеров и мелкософтовым я не очень верю если честно. Шейдера пока еще та область, где люди смотрят получившийся после генерации код, он пока еще довольно легко парсится глазами / профилировщиками, и очевидную неэффективную дичь довольно легко заметить и подправить исходник так, чтобы этой дичи не возникало. Особенно на консолях. На пк с этим сложнее, т.к. нет особо контроля над тем, как байткод в ису перегоняется, железок много разных.
Тут может разница из-за разных графических API? У бокса DX12, у плойки вроде Vulkan(но это не точно), на ПК же есть разница по ФПС от разных API, в одной и той же игре
IAR EWARM раньше запросто давал кривой код при включении оптимизаций, поэтому приходилось собирать вообще без них. Сейчас он же под какие-нибудь экзотические ядра такое делает.
Вот кстати да. НО, по идее amd им должны были сделать компилятор. Допустим и тем и тем дали его исходники.
И что?
Не поверю, что разрабы в студиях полезут править компилятор. Это же нужно кучу всего знать про архитектуру, что бы не на говногодить, и даже если и проект соберется, то не факт, что потом могут начаться хардфолты от любого чиха)
Про эффективный компилятор поржал. Это давняя шутка программистов валить всё на компилятор, хотя я за 15 лет работы разрабом на куче языков и технологий ни разу не видел, чтобы компилятор был источником уменьшения скорости работы кода. Вычислительную сложность компилятор не портит.
Может, имелись ввиду какие-то оптимизационные механизмы компилятора, которые улучшают эффективность говнокода? Вот такое бывает, да.
"за 15 лет работы разрабом на куче языков и технологий ни разу не видел"
1. Были задачи где цикл должен отрабатывать за 17мс и не больше?
2. Были задачи связанные с кодом под GPU?
Бывает, что компиляторы генерируют неэффективный код, это нормально. С шейдерными компиляторами это чаще происходит, потому что гпушная архитектура меняется быстрее чем цпушная, цпушные компиляторы стабильнее в среднем.
В _значимую_ разницу в кодогене между плойковским компилятором шейдеров и мелкософтовым я не очень верю если честно. Шейдера пока еще та область, где люди смотрят получившийся после генерации код, он пока еще довольно легко парсится глазами / профилировщиками, и очевидную неэффективную дичь довольно легко заметить и подправить исходник так, чтобы этой дичи не возникало. Особенно на консолях. На пк с этим сложнее, т.к. нет особо контроля над тем, как байткод в ису перегоняется, железок много разных.
Тут может разница из-за разных графических API? У бокса DX12, у плойки вроде Vulkan(но это не точно), на ПК же есть разница по ФПС от разных API, в одной и той же игре
IAR EWARM раньше запросто давал кривой код при включении оптимизаций, поэтому приходилось собирать вообще без них. Сейчас он же под какие-нибудь экзотические ядра такое делает.
Исходя из того, что компилируют под GPU обычно шейдеры и под шейдеры у плойки есть свой язык, предположу, что речь о нём
Вот кстати да. НО, по идее amd им должны были сделать компилятор. Допустим и тем и тем дали его исходники.
И что?
Не поверю, что разрабы в студиях полезут править компилятор. Это же нужно кучу всего знать про архитектуру, что бы не на говногодить, и даже если и проект соберется, то не факт, что потом могут начаться хардфолты от любого чиха)