#branch_prediction — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #branch_prediction, aggregated by home.social.
-
Процессор в вашем компьютере угадывает будущее. И ошибается в 5% случаев
В прошлую пятницу я объяснял джуну, почему его код на отсортированном массиве работает в шесть раз быстрее, чем на неотсортированном. Тот же массив, тот же алгоритм, и те же данные. Просто в другом порядке. Джун смотрел на меня как на сумасшедшего и, честно говоря, я его понимаю. Потому что ответ звучит безумно: процессор внутри вашего ноутбука постоянно пытается предсказать будущее. Буквально. Он гадает, какая ветка if выполнится ещё до того, как условие будет вычислено. И на отсортированных данных ему угадывать проще. Ну, давайте разбираться.
https://habr.com/ru/articles/1013098/
#branch_prediction #предсказание_ветвлений #оптимизация_кода #cpu #производительность #алгоритмы #архитектура_процессоров #spectre #конвейер
-
Evolution Is Still a Valid Machine Learning Technique
https://elijahpotter.dev/articles/harper_evolves
#ycombinator #Harper #evolution #grammatical_rules #expression_rules #The_Ripper #artificial_selection #random_expressions #scoring #dataset #mutation #branch_prediction #NLP #rule_generation #efficiency #reddit -
Глобально оптимальный, восьмой и наиболее быстрый вид интерпретаторов байткода
Совершать невозможное и раздавать пинки здравому смыслу — в этом и состоит жизнь членов Гуррен-Дана! (C) Камина Эта статья вступает в техническую полемику со статьей 2015 года за авторством Atakua , подходы из которой я и атакую. Atakua исследует 7 видов интерпретаторов байткода, но делает это без уважения - быстрейшей оказывается двоичная трансляция, которая, по сути, уже не интерпретатор байткода, а форма Ahead-Of-Time компилятора. Эта двоичная трансляция транслирует байткод в машинный код, представляющий собой цепочку вызовов скомпилированных сервисных процедур. Тех самых, что в интерпретаторе байткода отвечают за выполнение каждого опкода. Но Atakua не выжал из интерпретаторов байткода всю скорость которая возможна. Так что эта статья - туториал: как написать интерпретатор байткода, который может обгонять JIT/AOT-компиляцию по скорости. Интересно? Читайте дальше! Бенчмарк прилагается. Будет немного хардкора и ни одной сгенерированной нейросетью картинки!
https://habr.com/ru/articles/856480/
#interpreter #simulation #branch_prediction #threaded #binary_translation #jit #aot #tail_recursion #tail_call_optimization #байткод
-
Глобально оптимальный, восьмой и наиболее быстрый вид интерпретаторов байткода
Совершать невозможное и раздавать пинки здравому смыслу — в этом и состоит жизнь членов Гуррен-Дана! (C) Камина Эта статья вступает в техническую полемику со статьей 2015 года за авторством Atakua , подходы из которой я и атакую. Atakua исследует 7 видов интерпретаторов байткода, но делает это без уважения - быстрейшей оказывается двоичная трансляция, которая, по сути, уже не интерпретатор байткода, а форма Ahead-Of-Time компилятора. Эта двоичная трансляция транслирует байткод в машинный код, представляющий собой цепочку вызовов скомпилированных сервисных процедур. Тех самых, что в интерпретаторе байткода отвечают за выполнение каждого опкода. Но Atakua не выжал из интерпретаторов байткода всю скорость которая возможна. Так что эта статья - туториал: как написать интерпретатор байткода, который может обгонять JIT/AOT-компиляцию по скорости. Интересно? Читайте дальше! Бенчмарк прилагается. Будет немного хардкора и ни одной сгенерированной нейросетью картинки!
https://habr.com/ru/articles/856480/
#interpreter #simulation #branch_prediction #threaded #binary_translation #jit #aot #tail_recursion #tail_call_optimization #байткод
-
Глобально оптимальный, восьмой и наиболее быстрый вид интерпретаторов байткода
Совершать невозможное и раздавать пинки здравому смыслу — в этом и состоит жизнь членов Гуррен-Дана! (C) Камина Эта статья вступает в техническую полемику со статьей 2015 года за авторством Atakua , подходы из которой я и атакую. Atakua исследует 7 видов интерпретаторов байткода, но делает это без уважения - быстрейшей оказывается двоичная трансляция, которая, по сути, уже не интерпретатор байткода, а форма Ahead-Of-Time компилятора. Эта двоичная трансляция транслирует байткод в машинный код, представляющий собой цепочку вызовов скомпилированных сервисных процедур. Тех самых, что в интерпретаторе байткода отвечают за выполнение каждого опкода. Но Atakua не выжал из интерпретаторов байткода всю скорость которая возможна. Так что эта статья - туториал: как написать интерпретатор байткода, который может обгонять JIT/AOT-компиляцию по скорости. Интересно? Читайте дальше! Бенчмарк прилагается. Будет немного хардкора и ни одной сгенерированной нейросетью картинки!
https://habr.com/ru/articles/856480/
#interpreter #simulation #branch_prediction #threaded #binary_translation #jit #aot #tail_recursion #tail_call_optimization #байткод
-
Глобально оптимальный, восьмой и наиболее быстрый вид интерпретаторов байткода
Совершать невозможное и раздавать пинки здравому смыслу — в этом и состоит жизнь членов Гуррен-Дана! (C) Камина Эта статья вступает в техническую полемику со статьей 2015 года за авторством Atakua , подходы из которой я и атакую. Atakua исследует 7 видов интерпретаторов байткода, но делает это без уважения - быстрейшей оказывается двоичная трансляция, которая, по сути, уже не интерпретатор байткода, а форма Ahead-Of-Time компилятора. Эта двоичная трансляция транслирует байткод в машинный код, представляющий собой цепочку вызовов скомпилированных сервисных процедур. Тех самых, что в интерпретаторе байткода отвечают за выполнение каждого опкода. Но Atakua не выжал из интерпретаторов байткода всю скорость которая возможна. Так что эта статья - туториал: как написать интерпретатор байткода, который может обгонять JIT/AOT-компиляцию по скорости. Интересно? Читайте дальше! Бенчмарк прилагается. Будет немного хардкора и ни одной сгенерированной нейросетью картинки!
https://habr.com/ru/articles/856480/
#interpreter #simulation #branch_prediction #threaded #binary_translation #jit #aot #tail_recursion #tail_call_optimization #байткод