
Kirill
05.03.2017
16:27:31

Yura
05.03.2017
16:28:02
Открывал. И что? Ты считаешь, что один и тот же алгоритм можно описать десятью разными способами?
Вряд ли код сильно бы отличался, если бы его писали сразу на Go.
Т.е. я верю, что если бы ты или я писали новые map , то наш код сильно бы отличался.

Google

Yura
05.03.2017
16:29:02
Как минимум потому, что мы выбрали бы другие алгоритмы.

Kirill
05.03.2017
16:30:46
Кстати, выбираю новый более дешевый и быстрый алгоритм для мап. У кого-то есть на заметке что-то по теме?

Yura
05.03.2017
16:32:15
Зависит от того, что ты хочешь получить в итоге, т.к. разные люди понимают разное под "дешёвый и быстрый".
Я вижу тенденцию к нарастаню популярности Robin-Hood-Hashing.
Однако, чаще всего bucketized open-addressing with double hashing обеспечивает хорошую производительность.
На маленьких хэшах очень хорошо себя ведёт Quadrating Probing.
Cuckoo Hashing даёт константное время lookup за счёт времени на вставку и/или backoff стораджа для коллизий.
Что именно ты хочешь получить?
Некоторые вот это юзают https://en.wikipedia.org/wiki/Hopscotch_hashing
Кстати, go-шная мапа больше тормозит из-за хэш-функции, мне кажется. Могу ошибаться.
Т.к. по cache-locality её алгоритм вполне конкурентно способен.

Kirill
05.03.2017
16:37:52

Yura
05.03.2017
16:38:20
? "хочу, чтоб заебись"
но для этого поебаться придётся.

Kirill
05.03.2017
16:38:34

Google

Yura
05.03.2017
16:39:06
К сожалению, с concurent hash map я плохо знаком, в отличии от однопоточных.
Это отдельная тёмная сторона программирования.

Kirill
05.03.2017
16:39:08
Только алгоритм выбрать надо

Yura
05.03.2017
16:39:30
Если ты станешь в ней экспертом, тебя в любой гугль с руками оторвут.

Kirill
05.03.2017
16:39:43

Yura
05.03.2017
16:40:45
Стар я. Буквально года два назад мог читать сутками разные интересные pdf. А теперь мозги перестали впитывать.

Kirill
05.03.2017
16:41:44
У нас есть -п-е-ч-е-н-ь-к-и- тредсейф

Yura
05.03.2017
16:41:53
В общем так скажу: не надейся найти алгоритм, одинаково хорошо работающий и в concurrent случае, и в однопоточном, и чтоб память по-минимуму ел.

Maxim
05.03.2017
16:41:58

Yura
05.03.2017
16:42:15
34. Но я не занимался спортом, а от этого стареешь быстрее.

Kirill
05.03.2017
16:42:26

Yura
05.03.2017
16:42:29
Ребят, занимайтесь спортом, если кто ещё не занимается.

Kirill
05.03.2017
16:42:58

Yura
05.03.2017
16:43:45
Кирил, сделай лучше два map, и пусть программист сам решает, что ему в каком месте нужно.
И себе задачу облегчишь, и багов меньше пользователи ловить будут, и благодарность за concurrent тоже будет.

Kirill
05.03.2017
16:45:32

Yura
05.03.2017
16:46:01
? перфекционизм до добра не доводит. Послушай старого человека, и сделай как проще.

Kirill
05.03.2017
16:46:34
Локфри у меня и с этим алгоритмом готов. Просто я хочу скорость выше.

Yura
05.03.2017
16:49:38
Флаг те в руки. я пытался.
Не падает локфри? Уже за опенсорсил?

Kirill
05.03.2017
16:51:28
В первом релизе будет, таки

Google

Yura
05.03.2017
16:51:49
Круто, рад за тебя ?
Я не верил, что у тебя получится.
В принципе, пока код не увижу, до конца не поверю. Но это всё мой пессимизм.

Kirill
05.03.2017
16:54:31

Subbotin
05.03.2017
17:36:24
пацаны, куда копать? у меня есть регулярка ^\p{L}[\p{L}\d_ -]+$, которая на маке матчит русские символы, а на линупсе - нет. собираю я её в докере (официальном образе центоси) и запускаю потом на центоси. переменная среды LANG и при сборке и при запуске выставлена в en_US.UTF-8

Vadim
05.03.2017
17:49:07
всем привет, знает кто сервисы, которые можно использовать типа как публичную графану?
как пример - в тревисе гоняются тесты, коверейдж пушится в coveralls, все публичненько, удобненько, красивенько.
хочется написать парочку простых бенчей и их аналогично куда-нибудь красиво пушить из тревиса и хотя бы поверхностно наблюдать в динамике их изменения
и сразу до кучи — чего посоветуете на тему либ для мутационного тестирования, либ вроде вижу тонна, но полюбому должна быть самая модная :)

Maxim
05.03.2017
18:47:36
Мутационное тестирование?

Vadim
05.03.2017
18:48:58
Ага, 100% коверейдж есть иллюзия, если у тебя тесты не падают, когда в случайном месте в коде меняешь true на false

/dev/null
06.03.2017
06:36:16
http://192.168.50.28:3000/take_to_repair
бд Postgresql, понимаю что приложение маловато еще, но все равно скоростью был впечатлен

/dev/null
06.03.2017
06:37:30
на этом ip висит еще 50 абонентов

Aleksandr
06.03.2017
06:37:33

/dev/null
06.03.2017
06:37:43
ээээ
сек
%

Aleksandr
06.03.2017
06:39:09
судя по функционалу кушает меньше 10 мб)
посмотри сколько

⠀
06.03.2017
06:39:28
*по функциональности

Google

Aleksandr
06.03.2017
06:39:43

/dev/null
06.03.2017
06:39:51
ну на том же питоне было бы на глаз видно что тяжелее работает
отклик радует

Aleksandr
06.03.2017
06:40:18

/dev/null
06.03.2017
06:42:16
одному тяжко и на фронте и на бэкенде

⠀
06.03.2017
06:42:43

/dev/null
06.03.2017
06:43:44
ну я с "веб" программированием не так давно, до этого только прикладным программированием занимался

Олег
06.03.2017
07:13:35

Admin
ERROR: S client not available

Subbotin
06.03.2017
07:14:49
Стандартной билиотекой
Я не очень помню что имено показывает locale. Но export |grep LANG кажет юникод.
На обоих машинах

Олег
06.03.2017
07:17:53
а без грепа?

Subbotin
06.03.2017
07:19:14
Абез грепа очевидно куча переменных среды
Я счас в метро.
Через пол часика гляну
а без грепа?
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
линупс
LANG="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_CTYPE="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_ALL=
мак

Google

Subbotin
06.03.2017
08:04:52
это там где запуск

Олег
06.03.2017
08:07:09
ну я думаю вот и ответ на твой вопрос
на линупсе en_US и не матчит кирилицу
на маке ru_RU и матчит
если тебе нужна кирилица - попробуй выставить LANG=ru_RU.UTF-8 и посмотри, что получится на линупсе
ну или наоборот соответственно, если кирилицу матчить НЕ нужно

Subbotin
06.03.2017
08:08:20
это ОЧЕНЬ СТРАННО

Олег
06.03.2017
08:08:45
по крайней мере попробуй, я могу оказаться не прав

Subbotin
06.03.2017
08:16:33
http://pastebin.com/wGPi8MPL
ну и вообще вся суть юникода в том чтобы не зависеть от языка
версии голанга отличаются но менять трудоемко а главное я не верю что они после 1.0 ломали такую важную обратную совместимость

Олег
06.03.2017
08:27:37
справедливо
я что-то в доках не вижу что за класс символов {L} ты использовал
[[:lower:]] какой-нибудь?

Subbotin
06.03.2017
08:33:23
https://github.com/google/re2/wiki/Syntax
[\p{Name}] named Unicode property inside character class (≡ \p{Name})
короче это чё-то при сборке

Vladimir
06.03.2017
08:36:02
И копируй бинарь

Subbotin
06.03.2017
08:37:54
ну во-первых у меня опенссл через cgo. а во-вторых это не решение. мне надо чтоб по комиту все само билдилось а по кнопочке выкатывалось в прод