может разжевать файл.so
objdump -d не подходит?
попробую
не хочет кушать objdump: can't disassemble for architecture UNKNOWN!
А если через -m архитектуру указать?
Такой вариант плох тем, что на этапе "создаётся стандартная строка" вызывается аллоктор. Вызов аллокатора - условно-долгая операция, с мутексами, многопоточными приколами. Там под этим вызовом десятки-сотни килобайт кода, да возможно еще и с кэш-миссами и подтяжкой страниц из памяти в L0. И соответственно - в конце функции снова вызывается аллокатор для очистки. Это все ради чего? Перевести u32 в hex? Не слишком ли жирно? Это первое. Второе - в рамках одного String не создашь много разных строк. Потому что как только ты сделаешь слайс, то у тебя будет ссылка на строку, следовательно строка становится не мутабельна. Значит, для другой строки нужно создавать еще один String, со всеми вышеперечисленными недостатками. Кроме этого, write! возвращает Result<(), Error>. А мне для работы все же нужна получившася &str. Поэтому моя либа это обертка, в которой без write! не конечно обошлось.
я так понял это ф-ия достаточно высокоуровневая т.е. редко вызывается, и однократные расходы на кучу теряются на фоне остального, ну или создаём строку ещё выше и передаём уже в эту ф-ию и т.д. До тех пор пока не меняем капасити скорость работы со стеком или кучей будет одинаковой
с одной строкой не получится из за правила "одна &mut - или много &". Редко или часто вызывается функция - вопрос философский. Но тут суть не в том, что редко - а в том, что много строк. Это, кстати, тоже вопрос философский, потому что &str єто 16 байт, что вобщем-то само по себе довольно дохрена и позволяет хранить строки по сколько-то байт вообще без аллокаций. Но это - уже другая история (и такие крейты уже есть).
нет не философский. а вполне измеримый, например профайлерами, очень занятная штука кстати(и вообще измерения), очень удивляет и мозги прочищает от стремления преждевременно пооптимизировать, и подняться можно до main и какие-то там микросекунды однократные в начале работы программы ни кого не волнуют ; 16 байт и даже несколько десятков на современном компе правильнее и быстрее всего именно просто скопировать; и проблемы с ссылками странные, судя по примеру в плэйграунде арена одна и функции просто дописывают в конец буфера
Обсуждают сегодня