Именно поэтому все рекорды дистанций делаются на тошнотворной скорости, а на автобанах теслы едут за фурами свои 120, потому что после 120 расход начинает очень сильно расти. Так что еще как относится. но можете себя дальше убеждать.
Еще как относится, тесла проезжала бы 1/4 мили быстрее если бы не начинала терять момент уже после 60-80км/ч., если бы у нее была коробка, которая бы держала эту полку момента как в авто с коробками. Поэтому тесла дёргает любой суперкар на 0-100 т.к. у электродвигателя доступен огромный момент на старте, но в дисциплине 100-200 тесла будет набирать секунд 12 и проиграет любому спорткару (включая те, которые стоят дешевле). Но на ютубах такое не показывают, гораздо кликбейтнее показать как модел Х дергает хуракан на старте.
Ну да, тесли с двумя моторами перегревается быстро, будет смешно посмотреть на 3-4 :) Тайкан выдерживает много ланчей с места без деградации. Ну и вопрос кто быстрее на 1/4 мили пока остается открытым, тайкан делает в районе 10.5с
А дополнительные двигатели не являются источником шума и дополнительным источником охлаждения? Речь не идет о полноценной 8 ступенчатой коробке с двумя сцеплениями, достаточно хотя бы 2ух передач, а то и трех — тесла теряет эффективность уже после 60-80 км/ч, это хорошо видно на графике момента.
Это означает что кроме перераспределения оборотов колес в повороте, электромоторы могут «направлять» вектор тяги электромобиля по нужной траектории путем ускорения отдельных колес.
Вроде в спортивных автомобилях это уже более 10 лет существует, взять какой-нибудь Audi S5 бородатых годов — там на задней оси спортивный активный дифференциал с передачей момента между колесами для поворотов + самый эффективный межосевой дифференциал торсен для передачи момента между осями. И не надо для этого 3 мотора.
Лучше бы тесла занялась разработкой коробки хотя бы дуал спид как у тайкана.
Насколько я знаю в Zen2 ничего не изменилось, они так же обладают каким-то бешенным латенси в порядок раз больше чем в интел. Нам даже пришлось отказываться от оптимизаций некоторых вещей на pdep/pext из-за АМД.
В АМД нет авх512, там явно еще и скомпиленны под генерик цпу, короче, типичный кликбейт бенчмарк от гуманитариев, которым не интересны латенси инструкций, пропускная способность, авх512. не интересны факты что rep movsb и всякие pdep / pext инструкции жестко всасывают на АМД. Важнее показать показатель $/кол-во ядер.
Стоит заметить, что ReferenceSource — это когда-то давно Microsoft выложил часть исходников .NET 4.0 для общего ознакомления. Из них нельзя скомпилировать фраемворк. В исходниках .NET Core ничего из этой "цензуры" нет.
Подозреваю, что в первом случае было слово «Simple»
Именно, вы даете юзеру красивую табличку и он делает свои выводы, никто из тех, кто пнул шарп даже не открывал ваш код. Им было не интересно что вы ваш бенчмарк меряет конвертацию больших двухбайтовых утф16 строк в два раза меньший утф8, баунд чеки и т.п.
Зачем включать то, в чём вы не потрудились хотя бы аргументы посмотреть? Бонус — не бонус, а в меня уже кинули ссылкой в стиле "смотри в 5 раз медленее азаза".
Почему не отключили в Моно? почему не использовали ллвм бэкенд? Вы просто так добавили без понимания платформы, кто-то посмотрит и сделает ошибочные выводы — за это я не люблю бестолковые бенчмарки. Я с отключенными баундчеками (вернее их даже не надо отключать, достаточно подсказать компилятору простым условием, а он дальше сам их вырежет) и ллвм бэком прогнал ваш цикл близко к перфомансу Си (что не мудрено раз Си в кланге использует тот же ллвм).
Очередной бессмысленный бенчмарк, после Encoding.UTF8.GetBytes для двухбайтовых строк в дотнете и аппроксимации результата по другим бенчам не стал даже читать. Особенно посмеялся с того, что во многих тестируемых языках (баунд)чеки выключены флагом.
Немного меняем пример, и у gcc скорее всего будет лучше latency, потому что у clang больше инструкций и все они зависимы (т.е. не распараллеливаются)
А вот это не факт, код кланга бранчлес, так что в зависимости от коллера может быть быстрее или медленее. Тем более с недавними патчами микрокода от Интел все джампы могут в любой момент солидно просесть. Попробуйте изменить свой пример добавив PGO профиль — кодген будет уже другим.
В данном случае это выражение, чем и пользуется шланг выпиливая оттуда && реплейсом
"шланг" ничего не выпиливает — это просто фронтенд, он парсит С++ код в AST и эмитит промежуточный язык LLVM IR, который для данного случая выглядит как два отдельных выражения в разных бейсик блоках (для моего простого кода там их вообще 6) поэтому просто описать это как "ищи шаблон х && y и заменяй" не выйдет. Говорю это, т.к. сам пытался реализовывать такие оптимизации в C# JIT. Ещё раз повторю, пример вполне реален — выполняется два условия — возращаем одно значение, иначе — другое. Вот вам без вложенного ифа: https://godbolt.org/z/SMa2Zu (гцц ведет себя так, как будто я использовал __builtin_expect).
Реальный пример слишком сложно перепастить на godbolt и ещё сделать так, что-бы он его собрал.
Ну когда у вас будет пруф в виде годболт ссылки, я с удовольствием посмотрю, а пока это неаргументированный спор и раз вам лень его подкреплять хоть каким аругментом — мне тоже лень. Если у вас не получается сделать репро — то может быть не так уж и плохо всё у кланга?
Рекомендую почитать основы компиляторов перед тем как вступать в полемику.
У меня есть множество примеров того как clang ничего не може
Так поделитесь ими, ваш пример еще более бессмысленный чем мой (+ непонятно где именно там кланг не сработал). Мой реален, просто упрощен для годболта, а так я его достал из продакшена.
это flow-анализ. x && y — это не выражение, а два разных бейзик блока. и кейс вполне реальный. Про "реплейс" — это скорее про гцц, то как он реализует пипхол оптимизации на базе простого DSL (найти-заменить), в llvm же это все с кодом + он постоянно пытается деоптимизировать выражения в более сложные дабы найти возможности для CSE.
Именно поэтому все рекорды дистанций делаются на тошнотворной скорости, а на автобанах теслы едут за фурами свои 120, потому что после 120 расход начинает очень сильно расти. Так что еще как относится. но можете себя дальше убеждать.
Еще как относится, тесла проезжала бы 1/4 мили быстрее если бы не начинала терять момент уже после 60-80км/ч., если бы у нее была коробка, которая бы держала эту полку момента как в авто с коробками. Поэтому тесла дёргает любой суперкар на 0-100 т.к. у электродвигателя доступен огромный момент на старте, но в дисциплине 100-200 тесла будет набирать секунд 12 и проиграет любому спорткару (включая те, которые стоят дешевле). Но на ютубах такое не показывают, гораздо кликбейтнее показать как модел Х дергает хуракан на старте.
Ну да, тесли с двумя моторами перегревается быстро, будет смешно посмотреть на 3-4 :) Тайкан выдерживает много ланчей с места без деградации. Ну и вопрос кто быстрее на 1/4 мили пока остается открытым, тайкан делает в районе 10.5с
Именно, в механических системах оно намного быстрее чем в компьютере, который распределяет момент.
А дополнительные двигатели не являются источником шума и дополнительным источником охлаждения? Речь не идет о полноценной 8 ступенчатой коробке с двумя сцеплениями, достаточно хотя бы 2ух передач, а то и трех — тесла теряет эффективность уже после 60-80 км/ч, это хорошо видно на графике момента.
для хорошего офроада достаточно блокировки всех дифференциалов и не надо ничего выдумывать вообще.
Что не придумаешь лишь бы не делать стойкую к высокому моменту коробку передач)))
Вроде в спортивных автомобилях это уже более 10 лет существует, взять какой-нибудь Audi S5 бородатых годов — там на задней оси спортивный активный дифференциал с передачей момента между колесами для поворотов + самый эффективный межосевой дифференциал торсен для передачи момента между осями. И не надо для этого 3 мотора.
Лучше бы тесла занялась разработкой коробки хотя бы дуал спид как у тайкана.
Насколько я знаю в Zen2 ничего не изменилось, они так же обладают каким-то бешенным латенси в порядок раз больше чем в интел. Нам даже пришлось отказываться от оптимизаций некоторых вещей на pdep/pext из-за АМД.
В АМД нет авх512, там явно еще и скомпиленны под генерик цпу, короче, типичный кликбейт бенчмарк от гуманитариев, которым не интересны латенси инструкций, пропускная способность, авх512. не интересны факты что
rep movsbи всякие pdep / pext инструкции жестко всасывают на АМД. Важнее показать показатель $/кол-во ядер.Стоит заметить, что ReferenceSource — это когда-то давно Microsoft выложил часть исходников .NET 4.0 для общего ознакомления. Из них нельзя скомпилировать фраемворк. В исходниках .NET Core ничего из этой "цензуры" нет.
Вроде там должно было быть слово Тайвань
Именно, вы даете юзеру красивую табличку и он делает свои выводы, никто из тех, кто пнул шарп даже не открывал ваш код. Им было не интересно что вы ваш бенчмарк меряет конвертацию больших двухбайтовых утф16 строк в два раза меньший утф8, баунд чеки и т.п.
Зачем включать то, в чём вы не потрудились хотя бы аргументы посмотреть? Бонус — не бонус, а в меня уже кинули ссылкой в стиле "смотри в 5 раз медленее азаза".
Почему не отключили в Моно? почему не использовали ллвм бэкенд? Вы просто так добавили без понимания платформы, кто-то посмотрит и сделает ошибочные выводы — за это я не люблю бестолковые бенчмарки. Я с отключенными баундчеками (вернее их даже не надо отключать, достаточно подсказать компилятору простым условием, а он дальше сам их вырежет) и ллвм бэком прогнал ваш цикл близко к перфомансу Си (что не мудрено раз Си в кланге использует тот же ллвм).
Очередной бессмысленный бенчмарк, после
Encoding.UTF8.GetBytesдля двухбайтовых строк в дотнете и аппроксимации результата по другим бенчам не стал даже читать. Особенно посмеялся с того, что во многих тестируемых языках (баунд)чеки выключены флагом.CMOV в Skylake ускорили в два раза по летанси (и пропускной?) так что теперь он вроде всегда быстрее: https://raw.githubusercontent.com/xiadz/cmov/master/output/out-6700k.png (https://github.com/xiadz/cmov)
А джампы замедлили патчем (если джам/таргет пересекают случайно границу в 32 байта кода — то получают огромное пенальти)
А вот это не факт, код кланга бранчлес, так что в зависимости от коллера может быть быстрее или медленее. Тем более с недавними патчами микрокода от Интел все джампы могут в любой момент солидно просесть. Попробуйте изменить свой пример добавив PGO профиль — кодген будет уже другим.
"шланг" ничего не выпиливает — это просто фронтенд, он парсит С++ код в AST и эмитит промежуточный язык LLVM IR, который для данного случая выглядит как два отдельных выражения в разных бейсик блоках (для моего простого кода там их вообще 6) поэтому просто описать это как "ищи шаблон х && y и заменяй" не выйдет. Говорю это, т.к. сам пытался реализовывать такие оптимизации в C# JIT. Ещё раз повторю, пример вполне реален — выполняется два условия — возращаем одно значение, иначе — другое. Вот вам без вложенного ифа: https://godbolt.org/z/SMa2Zu (гцц ведет себя так, как будто я использовал __builtin_expect).
Ну когда у вас будет пруф в виде годболт ссылки, я с удовольствием посмотрю, а пока это неаргументированный спор и раз вам лень его подкреплять хоть каким аругментом — мне тоже лень. Если у вас не получается сделать репро — то может быть не так уж и плохо всё у кланга?
Рекомендую почитать основы компиляторов перед тем как вступать в полемику.
Так поделитесь ими, ваш пример еще более бессмысленный чем мой (+ непонятно где именно там кланг не сработал). Мой реален, просто упрощен для годболта, а так я его достал из продакшена.
это flow-анализ. x && y — это не выражение, а два разных бейзик блока. и кейс вполне реальный. Про "реплейс" — это скорее про гцц, то как он реализует пипхол оптимизации на базе простого DSL (найти-заменить), в llvm же это все с кодом + он постоянно пытается деоптимизировать выражения в более сложные дабы найти возможности для CSE.