@gogolang

Страница 1175 из 1630
Alexandr
21.06.2018
20:29:47
?

Dmitry
21.06.2018
20:48:34
у меня вопрос по использованию структуры с массивом строк в качестве ключа для мапы. за счет чего это выходит быстрее чем мапы с ключом строкой или интом и хешфункцией? https://github.com/RedSkotina/xrich/blob/develop/chain_test.go

Kirill
21.06.2018
20:49:30
а покажи результаты бенча

Dmitry

Google
Dmitry
21.06.2018
20:52:42


Kirill
21.06.2018
20:53:42
скорее всего, _typ.alg.hash быстрее отрабатывает ?

а ты уверен, что бенчмарк не заоптимизировался?

и зачем if ok { continue } ?

Dmitry
21.06.2018
20:54:55
чтобы оптимизатор не выкинул возврат результата

я не проверял, просто на всякий случай

Kirill
21.06.2018
20:55:46
на всякий случай запихни-ка ok в глобальную область видимости и заэкспортируй

а потом - твои функции хеширования довольно дорогие

Dmitry
21.06.2018
20:56:54
ну какие есть

я лучше не придумал для строк

Kirill
21.06.2018
20:57:49
иногда бывает такое, что лучше строки не хешировать %)

Aliaksandr
21.06.2018
20:58:00
а как распарсить jsonl (json Lines) используя стандартную либу?
В стандартной либе вроде можно использовать json.Reader . Но лучше используйте fastjson.Scanner - https://godoc.org/github.com/valyala/fastjson#Scanner

Google
Kirill
21.06.2018
21:03:16
а как это сделать не засоряя область видимости пакета?
оно должно не засорять при этом область видимости. переменная создается в тестах, которые по тэгу собираются

Kirill
21.06.2018
21:06:48
потому что :=

Dmitry
21.06.2018
21:07:06
ну тоесть вернуться к старому варианту надо

Kirill
21.06.2018
21:07:08
нужно было сделать за функциями var HasKey bool и юзать =

Dmitry
21.06.2018
21:08:36
нужно было сделать за функциями var HasKey bool и юзать =
а есть смысл пилит кастомную хешмапу с своей функцией по типу https://flaviocopes.com/golang-data-structure-hashtable/ ?

Kirill
21.06.2018
21:15:50
userspace?

it depends

тебе придется следить, чтобы твоя мапа на хипе не выделялась

иначе всосёшь по производительности с огромной вероятностью

Dmitry
21.06.2018
21:18:44
ну у меня офигенная мапа все равно, так что на стеке она врядли выделится

Kirill
21.06.2018
21:19:18
не путай структуру мапы, которую не стоит на хипе выделять, и данные, которые можно и на хип положить

Dmitry
21.06.2018
21:19:50
ну у меня счас структуры же как ключи, они разве отдельно от мапы хранятся ?

а в структуре массивы строк [2]string

Kirill
21.06.2018
21:20:46
обычно закидываются как ссылки на ключ в итоге

Google
Никита
21.06.2018
21:21:55
Это как делать стэк на основе списка в пайтоне

Dmitry
21.06.2018
21:22:07
Kirill
21.06.2018
21:22:30
Что за трэшак с мапой внутри хэш таблицы
я не смотрел, что там за статья, ни одной нормальной всё равно нет

Dmitry
21.06.2018
21:22:35
Что за трэшак с мапой внутри хэш таблицы
этот трешак для использования кастомной хеш функции

Kirill
21.06.2018
21:23:03
этот трешак для использования кастомной хеш функции
поверх дефолтной. посмотрел и ужаснулся, пиздец же, других слов нет

Dmitry
21.06.2018
21:23:15
хочу кастомную хеш функцию которая бы не сливавала по производительности стандартной !

Kirill
21.06.2018
21:23:22
ещё недостаточно горы дефёров

а нет, они есть

Никита
21.06.2018
21:23:39
Хах

Dmitry
21.06.2018
21:23:41
поверх дефолтной. посмотрел и ужаснулся, пиздец же, других слов нет
ну окей. согласен фигня. тоже самое key.CustomHashFunc() вид сбоку

Kirill
21.06.2018
21:24:03
пока ты _с нуля_ не реализуешь хешмап - не будет у тебя такого

и это не значит "навернешь свои костыли поверх встроенной хешмапы и назовёшь велосипедом"

Roman
21.06.2018
23:00:53
не путай структуру мапы, которую не стоит на хипе выделять, и данные, которые можно и на хип положить
А что плохого в аллокации на хипе и что подразумевается под "структура мапы"?

Kirill
21.06.2018
23:01:48
А что плохого в аллокации на хипе и что подразумевается под "структура мапы"?
то, что скорость доступа ниже то и подразумевается. представь себе хешмап без сахара, как в сях. там у тебя, by default, специального вида структура

Kirill
21.06.2018
23:16:03
Я именно ее и представляю.
ну вот это и подразумевается. корневая структура

Alexander
22.06.2018
03:51:00
А что можешь посоветовать на эту тему почитать?
изучить язык программирования без GC

Не быстрее: чтобы создать копию, нужно несколько раз обратиться к памяти
учитывая то, что верхушка стека наверняка лежит в кеше, в отличии от кучи, где всё вилами по воде писано, то несколько обращений к памяти на стеке будут быстрее одного обращения к памяти в куче

Google
Ivan
22.06.2018
04:25:11
Доброго времени суток, джентельмены

Поясните, пожалуйста, как поразрядно работать с вещественными числами в go

Конкретно интересует поразрядный сдвиг мантиссы

Daniel
22.06.2018
04:28:15
вещественные - это какие?

Ivan
22.06.2018
04:28:39
float32

Daniel
22.06.2018
04:29:06
а в чем проблема?

я не помню, сколько бит там мантисса занимает, но фиксированное количество

Admin
ERROR: S client not available

Daniel
22.06.2018
04:30:08
пишешь конструкцию из &`и <<`/ `>>

и тебе счастье

правда, если поразрядный ты имел в виду десятичный, то все не так прекрасно

Ivan
22.06.2018
04:43:10
а в чем проблема?
Стандартные операторы не работают с float32/float64 :(

Блин, я сейчас проверил, даже Си такого не позволяет. Придется лепить структуры...

Alexander
22.06.2018
05:08:56
Стандартные операторы не работают с float32/float64 :(
transmute в int32/int64, сдвиг и transmute обратно

как сделать transmute в голанге у меня можно не спрашивать

На всякий случай добавлю, transmute - это операция которая заставляет компилятор интерпретировать значение одного типа как значение другого типа.

Aliaksandr
22.06.2018
06:48:20
Упс, уже ответили

Daniel
22.06.2018
06:49:00
Стандартные операторы не работают с float32/float64 :(
так надо же сначала выделить мантиссу-то

Google
Nik
22.06.2018
07:44:40
Всем привет. Кто пользовал https://github.com/olivere/elastic - как освободить клиента для переиспользования после записи в эластик? Сейчас забиваются сокеты. _, err := cli.Index().Index(c.Elastic.New).Type("active").Id(tsk.Id).BodyJson(m).Routing(m.UserID).Do(context.Background())

Daniel
22.06.2018
07:48:26
Нахера клиент rest серверу?

Nik
22.06.2018
07:52:34
варианты?

у него в принципе рестовый клиент

Daniel
22.06.2018
07:53:12
http.Request, и понеслась

Nik
22.06.2018
07:53:56
да, можно. но много обвязок ваять сверху. очень

Michael
22.06.2018
07:59:10
да, можно. но много обвязок ваять сверху. очень
быстро делаем, быстро переделываем (тм)

Nik
22.06.2018
07:59:24
?

Илья
22.06.2018
08:01:08
это ЗЕ РАЙТ ВЕЙ

Alexey
22.06.2018
08:45:02
Привет! Есть метод который хочет *bool. Есть ли способ передать этот параметр не создавая переменную? Чтото типа method(&true). Мне не важно что станет с этим параметром потом. Нужно просто вызвать этот метод.

Илья
22.06.2018
08:47:14
сделай функцию и вызови https://play.golang.org/p/loHDtaAtDk9

хотя это по сути создание переменной :) даже многословней

Igor
22.06.2018
08:55:58
в го нельзя получить поинтер на переменную не создав переменной тем или иным образом

Maksim (Ellrion)
22.06.2018
08:57:14
нет ну можно nill туда закинуть.зависит от того что там с ним делать потом будут. вообще зачем может понадобиться поинтер на булеан?

Igor
22.06.2018
08:58:00
чтобы засетить в него true/false очевидно

Maksim (Ellrion)
22.06.2018
09:00:30
https://play.golang.org/p/bl7ejd-1x-x

Alexey
22.06.2018
09:09:07
это очень печально :(

Страница 1175 из 1630