Pull to refresh
20
0
Valentyn Ponomarenko @BOOTLOADER

Да я тут просто мимо проходил…

Send message

Он же пуленепробиваемый. Достаешь пистолет и стреляешь - нужно вправо, стреляешь в правое зеркало, влеов - в лезвое.

Спасибо, я не знал - попробую почитать за "алгоритм P".

Это специальный язык для создания блокнотов :))))


Автору спасибо. Узнал, что есть ещё один язык.

А я думал, что Spotify не социальная сеть :))
Я просто дал вам + за это видео :))
Найти хорошего токаря сейчас сложнее, чем программиста :))

Вы точно также можете не пройти собеседование в FAANG и сидеть делать скучную работа, стать овощем, но без большей компенсации, RSU и завистью к более успешным коллегам.

Надо, чтобы каждый прикладывал своё фото к комментарию, а то одни худеет с умными весами, другой с трекером, автор вот на сале с чёрными хлебом :)

Будет время, я копну и в эту сторону.
А почему бы не скомпилировать rust библиотеку в static-lib? Насколько помню go прекрасно умеет с ними работать через тот же cgo. Только работать это будет быстрее и соберется все в единый бинарник.


В данному случае все также соберется в единый бинарный файл. Будет ли это быстрее, чем static-lib это хороший вопрос и нужно смотреть на уровне ассемблера, как происходит вызов. Ну и опять же — все может зависеть от версии компилятора cgo.

Ну и так на заметку читающим, libembed.dylib — это мак специфично, на линуксе будет libembed.so, а на винде — libembed.dll

Спасибо. Хорошее замечания я добавлю в статью.
Эта статья и не рассматривалась как сложная — на что я и указал в начале.

покажите как вернуть значение в вызывающий код, расскажите как сделать так чтоб раст не удалил это значение при выходе из контекста, как потом почистить за собой память, есть ли возможность вернуть null и т.д.

Будет интерес к статья — я расскажу и об этом.

а пример скопипастить на хабр это не интересно.

Пример кода на Rust взят с книги, и я показал, как его можно использовать из Go. В книге о Go ничего не говорится, что на самом деле является недостатком.
А есть другой вариант? :))
Это хороший вопрос, который бы хорошо адресовать разработчикам компиляторов :)) В данном случае вызов происходит через FFI, что достаточно неплохо документировано.
Вы бы лучше описали зачем вам это нужно? А так просто получился туториал для установки.
Я тоже подожду продолжения «Зачем?» По сути вы получили ассемблерный код функции.
Странно, что там нет ещё и электродвигателя :))
Далее мы с именем NewrelicStop регистрируем функцию startSegment, которая просто вызывает Go-агент и открывает новый сегмент обращения к базе данных.


Тут наверно имелось ввиду NewrelicStart
Вот это даже быстрее, чем все ваши 3 алгоритма. Находит позицию старшего бита.

var len8tab = [256]uint8{
	0x00, 0x01, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
	0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
	0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
	0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
	0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
	0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
}

if x >= 1<<16 {
		x >>= 16
		n = 16
	}
	if x >= 1<<8 {
		x >>= 8
		n += 8
	}
	return n + int(len8tab[x])

Information

Rating
Does not participate
Location
Seattle, Washington, США
Date of birth
Registered
Activity

Specialization

Backend Developer
Lead
Golang