@proGO

Страница 520 из 1674
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
Что именно ты хочешь получить?
Минимум потребления CPU и RAM и отсутствие любого рода как evacuate, так и блокировок

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

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
Если ты станешь в ней экспертом, тебя в любой гугль с руками оторвут.

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

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

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

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

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
Кирил, сделай лучше два map, и пусть программист сам решает, что ему в каком месте нужно.
Нет, таких недокомпромиссов тут не будет. Или заебись, или оставим пока так, как есть, пока не придумаем заебись.

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
Круто, рад за тебя ?

Я не верил, что у тебя получится.

В принципе, пока код не увижу, до конца не поверю. Но это всё мой пессимизм.

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
http://192.168.50.28:3000/take_to_repair
ссылка из локального пула, если что

/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
одному тяжко и на фронте и на бэкенде

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

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})

короче это чё-то при сборке

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

Страница 520 из 1674