
Maxim
30.11.2016
02:40:32

Anton
30.11.2016
02:40:43
Мде
совы рулят
работать днем для слабаков

Google

Maxim
30.11.2016
02:41:46

Anton
30.11.2016
02:42:14
С фрилансом всегда так

Maxim
30.11.2016
02:42:17
Времени много, сил мало. Особой мотивации нет. Вот и режим уехал на ночь

Anton
30.11.2016
02:42:19
смысл работать днем типо
не, ночью тишина
можно в магазин сходить
можно погулять по городу

Admin
30.11.2016
02:42:42

Anton
30.11.2016
02:42:45
можно поработать вменяемо

Maxim
30.11.2016
02:43:01

Anton
30.11.2016
02:43:11
У меня один круглосуточный есть

Google

Anton
30.11.2016
02:43:49
А так вообще работается ночью лучше потому что никто не отвлекает
а когда заканчиваются сериалы - так скучно что работа единственное что веселит, продуктивность на высоте прям)

Alexey
30.11.2016
02:51:38

Peter
30.11.2016
07:09:13
fmt.Sprintf() не понимает юникод что ли?

Quet
30.11.2016
07:09:50
понимает что ли

Peter
30.11.2016
07:10:09
var msg = fmt.Sprintf(`<html><H1>%s!</H1></html>`, "мир")
http://i.imgur.com/B3DtxOF.png

Quet
30.11.2016
07:12:08
видимо проблемы в терминале а не в го )

Peter
30.11.2016
07:12:30
в смысле в терминале?

Quet
30.11.2016
07:12:34
если терминал не умеет в утф-8, то го тут как бы никак не поможет

Peter
30.11.2016
07:12:36
в аком терминале?

Quet
30.11.2016
07:12:44
ну где это запускается все и смотрится?

Peter
30.11.2016
07:12:57
терминал умеет
$TERM=xterm-256color
$LANG=ru_RU.UTF-8

Quet
30.11.2016
07:15:47
https://play.golang.org/ — там же нет проблем таким кодом? )

Peter
30.11.2016
07:17:40
а, это браузер на автоопределение кодировки тупит

corpix
30.11.2016
07:19:25

Quet
30.11.2016
07:19:42
угу

Vladimir
30.11.2016
10:09:01
У меня странный немного вопрос. Есть задача - получать по TCP space delimiter строки, брать первое поле (имя) и если раньше это имя не встречалось - писать его в базу. Реализовал на базе map[string]int, но проблема в том что по проыилированию сейчас операция проверки наличия в мапе занимает 16% времени и из за этого не получается добиться желаемой скорости
Желаемая скорость примерно 600000 строк в секунду на поток

Google

Vladimir
30.11.2016
10:10:13
(сейчас у каждого потока свой мап, разбивка строк по потокам идет с помощью Fnv1a.hash32(имя) сразу после чтения)
По сути это конвертер из graphite line protocol в базу, просто у базы для эффективного поиска имена должны быть еще и в отдельной таблице
Читаю в []byte и через unsafe конвертирую его в строки чтобы использовать как ключ в map (вроде внутренняя реализация все равно делает копию и сама не брезгует unsafeом, поэтому это безопасно)
Есть какие нибудь идеи как можно ускорить?

Quet
30.11.2016
10:15:13
поставь перед мапом hyperloglog структуру чтобы не лазить в мап на каждый чих

Vladimir
30.11.2016
10:16:09

Quet
30.11.2016
10:16:53
или его, да

Vladimir
30.11.2016
10:17:25
Про hyperloglog пока не понимаю просто как он поможет, но вероятно я сам алгоритм не понимаю

Quet
30.11.2016
10:18:57
да примерно как bloom, добавить в сет, посмотреть увеличилась ли cardinality и лезть или не лезть в мап
а сколько тебе скорости нехватает? ) если мап жрет 16%, а надо ускориться в 2 раза то понятно что такие вещи не помогут

Vladimir
30.11.2016
10:19:40
Мап там по сути сейчас только для проверки того что данные уже встречались

Daniel
30.11.2016
10:20:17

Vladimir
30.11.2016
10:20:18
А хочется 2.4 с небольшим запасом

Quet
30.11.2016
10:21:26
а почему 4? ща кажется сервера с таким количеством ядер уже не делают..

Vladimir
30.11.2016
10:21:31

Daniel
30.11.2016
10:21:37
в самом массиве хранить массивы идентификаторов, на случай, если crc32 совпадут. но они не совпадут
crc32 - отличный алгоритм

Vladimir
30.11.2016
10:21:58

Daniel
30.11.2016
10:21:59
коллизий будет очень мало

Google

Vladimir
30.11.2016
10:22:17
Можно переиспользовать

Daniel
30.11.2016
10:22:38
fnv - 32 бита?

Vladimir
30.11.2016
10:22:41
Но я не хотел свою реализацию хэшец писать

Daniel
30.11.2016
10:23:00
это не хеш, это другое
хоть и похожее

Vladimir
30.11.2016
10:23:12

Admin
ERROR: S client not available

Vladimir
30.11.2016
10:23:58
Fowler-Noll-Vo is a non-cryptographic hash function created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo.
Есть 32 и 64, я беру 32 сейчас

Daniel
30.11.2016
10:24:15
я припоминаю статью со сравнением
наименьшее количество коллизий было у crc32

Quet
30.11.2016
10:24:37
да оно не медленнее crc32
а количество коллизий — тут еще важно что за строки

Daniel
30.11.2016
10:25:57
кэп?!

Quet
30.11.2016
10:26:00
мне кажется лучшим решением в итоге будет вынести это на отдельную железку от базы )
тут может получиться совсем другое

Vladimir
30.11.2016
10:27:06

Google

Vladimir
30.11.2016
10:27:22
А база будет недонашружена по цпу
Но нужно поддерживать легаси и все такое

Sergey
30.11.2016
13:18:58
ребят, рисует ещё кто-нибудь блок-схемы?
есть в чём поудобнее под линухой рисовать?

Daniel
30.11.2016
13:19:21
я рисую, в графвизе

Ivan
30.11.2016
13:29:44

Sergey
30.11.2016
13:32:44
ага, пасиба

Admin
30.11.2016
17:47:38
Ребят. Можно как-то красиво обрезать int? Нужно первые цифры. Деление не фонтан)

Славик
30.11.2016
20:32:13
деление вроде всегда был самый фонтанный способ
а иначе преобразовать в строку и забрать первые 2 символа и обратно их в число

Admin
30.11.2016
20:32:51
лучше уже поделить)

Славик
30.11.2016
20:32:56
именно

Admin
30.11.2016
20:33:15
просто не особо смотрится деление на n нулей

Славик
30.11.2016
20:33:30
нормально смотрится
sexy

Admin
30.11.2016
20:33:37
Ну ок

Oleg
01.12.2016
08:25:15
кто мешает конвертнуть в строку и взять первые символы?

Dmitri
01.12.2016
08:26:37