Alex
threadedstream
Окей, благодарю
threadedstream
Можно ли в Go делать link-time substitution функции? Допустим, есть метод в рантайме языка mallocgc, я создаю свой метод с идентичным прототипом, определяю его, ну и инструктирую компилятор при вызове рантаймной функции mallocgc вызывать мою версию этой функции.
threadedstream
В языке имеется конструкция go:linkname, позволяющая вызывать internal функции, но она не сработала в моем случае.
889
Eugene
egor
egor
Отчасти)
Aiwan \ (•◡•) / _bot
threadedstream
Aiwan \ (•◡•) / _bot
А как?
эт гошники наверное скажут
threadedstream
Окей, в следующий раз буду осторожнее с темами вопросов.
threadedstream
Все равно спасибо :)
threadedstream
Этот вопрос был больше на тему поведения линкера в Го. Надеялся, что кто-то тесно работал с ним.
Sergey Boogerwooger
Так проще править табоицу секций - тупо расширяется последняя и ей ставится флаг исполнения
Sergey Boogerwooger
А если текущий асм поднадоел, и хочется поломать реальные финансовые протоколы, айда к нам в аудиторы смарт контрактов, там низкоуровневый код и понимание асма ценится. Там запись не по тому смещению приводит к прямым взломам на десятки миллионов баксов в одну транзакцию. Такие дела...
Aiwan \ (•◡•) / _bot
Sergey Boogerwooger
Не понял в какой момент аудит безопасности кода стал противозаконным
Sergey Boogerwooger
Еще и опенсорсного кода вдобавок
Sergey Boogerwooger
Мы серьезная контора, нам выгоднее открыто найти дыру и заставить ее пофиксить публично, чем тырить крипту. Своровать там не так уж сложно, но если ты нормальный спец, куда надежней просто круто зарабатывать и цениться в открытую крупными проектами
Aiwan \ (•◡•) / _bot
Sergey Boogerwooger
Вон недавно чувак уаел 600млн, потом написал "я и так легенда" и отправил все обратно :)
Sergey Boogerwooger
Dan
Sergey Boogerwooger
Кроме того крипта славится тем, что за яйки могут взять и через 10 лет, блокчейн все помнит. Поэтому реально лучше в whitehat сторону
Sergey Boogerwooger
Сорян, все, здесь про асм, ох, люблю я его, но давно на нем писал
threadedstream
А кто-нибудь знает чаты для компиляторных энтузиастов?
threadedstream
Давно уже ищу
Andrey
threadedstream
Ух ты, премножайше благодарю
Всю жизнь.
Eugene
Мне ещё нравится понятие "нормальный уровень" :)
Eugene
Сам асм выучить можно относительно быстро. Но какой толк без практики? Без знания архитектуры процессоров. Без значения операционные систем. Без реверса и прочего.
Одно дело выучить асм Z80, а другое - x86 вплоть до AVX512. Короче, всё зависит от цели.
Eugene
И от текущего уровня подготовки.
Можно выучить людей язык, но не знать стандартной библиотеки, алгоритмов, паттернов и т.д. Это нормальный уровень?
Eugene
Ну что тут сказать? Чтобы писать небольшие приложения и понимать, как оптимизировать их на нормальном уровне, нужно потратить некоторое кол-во лет, тратя на это несколько часов хотя бы по несколько раз в неделю 😂
Aiwan \ (•◡•) / _bot
самая лучшая оптимизация для простого смертного это это оптимизация алгоритма с тесной взпимосвязью с преимуществами отдельных видов инструкци. обычно даже штатные компили ЯВУ это не используют, ибо "дорого". а всякие подсчеты тактов я даже не смотрю с тех пор как понял, что мне это не подвластно (я же простой смертный, а не бог асма), ибо существует всякие кеши, спекуляции и тд
Eugene
Мне кажется, уровень конкретики моего ответа вполне соответствует конкретике вопроса :)
Eugene
Но на самом деле, ответа тут нет и быть не может. Всё зависит от:
– твоего уровня подготовки на данный момент
– кол-во часов в неделю, которые ты будешь проводить за изучением и практикой
– грамотности выбора источников обучения
– способностей, наконец
– etc.
Кому-то будет и 10 лет мало, а кто-то за год будет весьма неплох в этом.
Aiwan \ (•◡•) / _bot
тем более CISC это 1 мнемоника в которой заключено множество действий в подавляющем большинстве стандартных инструкций, который всегда можно закодировать множеством простых/неделимых инструкций
Aiwan \ (•◡•) / _bot
Eugene
Aiwan \ (•◡•) / _bot
что именно?
Aiwan \ (•◡•) / _bot
напиши это на сишке или питоне и я покажу тебе как это сделать на асме в 2 строки (2е инструкции)
Eugene
Всякие там "пройди курсы за 12 месяцев и стань Middle Java Developer'ом с нуля, а потом ещё 12 месяцев и стань Senior'ом с з/п от 300 т.р." – это всё маркетинговые сказки.
.
Aiwan \ (•◡•) / _bot
Сейчас
не парься, я это к тому что аптимизация еще зависит от понимания работы КАЖДОЙ инструкции, которую можно использовать НЕ по прямому назначению. таких приемов уйма, чтоб ускорить код, в сравнеии с ЯВУ, ибо эти действия не шаблонны
Eugene
не парься, я это к тому что аптимизация еще зависит от понимания работы КАЖДОЙ инструкции, которую можно использовать НЕ по прямому назначению. таких приемов уйма, чтоб ускорить код, в сравнеии с ЯВУ, ибо эти действия не шаблонны
Вообще, странно обсуждать оптимизацию, не уточняя, какая именно оптимизация имеется в виду. Как минимум есть две: по размеру и по скорости. Что касается скорости то можно вообще дойти до того (и иногда это более чем оправдано), чтобы просто хранить результат в заранее просчитанном массиве. Плюс, есть целесообразность оптимизации в расчёте на потраченное время и, соответственно, стоимость оплаты специалиста.
Aiwan \ (•◡•) / _bot
.loop: xadd rax, rdx
loop .loop
Eugene
Вот за это мы и любим асм :)
Eugene
В том числе за это...
Aiwan \ (•◡•) / _bot
а скорость, мы ведь об оптимизации говорим. представь что происходит с памятью, с кодом на уровне CPU, если учесть то что на питоне это все выполняется в первую очередь через VM?
Aiwan \ (•◡•) / _bot
а здесь (на асме) прямая команда процессора сделать то и то, и результат получен
Aiwan \ (•◡•) / _bot
да
Aiwan \ (•◡•) / _bot
😅 наивный
Aiwan \ (•◡•) / _bot
хочешь сказать что у меня на комне, где не стоит питон, заработает твоя прога в 117 байт? что моя оперативка для работы этой проги будет занята на 4 кб минимум (это 1 страница)?
Aiwan \ (•◡•) / _bot
поправочка, в свойствах текстового файла, это даже еще не программа для выполнения, как принято считать "что есть программа"
Aiwan \ (•◡•) / _bot
не унизил, а доказал (по крайней мере высказал свое мнение). а что даказал додумывай сам
Eugene
xadd вроде 4 байта (с rex-префиксом) + loop 2 байта.
Молодец. Иди на hh.ru .
Ты чатом ошибся. Прокси и впны сетевики обсуждают.
Eugene
Волшебный шар, начиненный прокси?
egor
Дмитрий
rcx, rax, и rdx надо же выставить, чтоб получить правильный результат?
Anonymous
Дмитрий
889
889