Comments 8
В статье не хватает вариантов и способов применения знания этого ассемблера.
+2
По одной из ссылок статья, как человек ускорил выполнение функции за счёт переписывания на ассемблере, и оно сейчас работает в netflix.
0
https://blog.sgmansfield.com/2017/04/a-foray-into-go-assembly-programming/ с 17 до 12 наносекунд ускорил, и эта разница у него даже окупилась, с учётом затраченного времени.
0
Интересно, сколько бы он сэкономил, если бы просто заменил
lshift := rshift
if lshift&1 == 1 {
lshift--
}
на
lshift := rshift & (~1)
Возможно в Go это записывается иначе, суть в том, чтобы просто обнулить последний бит.
+3
Я понимаю, что это перевод, но вдруг переводчик знает. Что за $1 в функции add? Регистр какой-нибудь?
0
Возможно кому-то такой формат в дополнение к другим источникам будет полезен:
quasilyte.github.io/blog/post/go-asm-complementary-reference
Стараюсь все интересности туда по мере обнаружения (и добавления) дописывать.
Как будет готов AVX512, впишу туда детали (ссылка на обсуждения там приведена).
quasilyte.github.io/blog/post/go-asm-complementary-reference
Стараюсь все интересности туда по мере обнаружения (и добавления) дописывать.
Как будет готов AVX512, впишу туда детали (ссылка на обсуждения там приведена).
0
Sign up to leave a comment.
Руководство по ассемблеру Go