Size: a a a

2020 April 16

AK

Aleksey Kluchnikov in ErlangRus
как сэметировать когда не по алфавиту будет? Для коротких мап
источник

ВИ

Виталий Иванов in ErlangRus
Нагенери атомов перед тестом.
источник

AK

Aleksey Kluchnikov in ErlangRus
1> A = tt.
tt
2> B = aa.
aa
3> #{A => 1, B => 2}.
#{aa => 2,tt => 1}
источник

ВИ

Виталий Иванов in ErlangRus
Заполни мапу например на 100 элементов. атомами типа test_{number}. Запомни порядок. Перезапусти шелл, нагенери других атомов и повтори.
источник

AK

Aleksey Kluchnikov in ErlangRus
100 элементов это другой кейс, короткая мапа до 32х
источник

AK

Aleksey Kluchnikov in ErlangRus
вроде, поправьте если не так
источник

ВИ

Виталий Иванов in ErlangRus
Aleksey Kluchnikov
100 элементов это другой кейс, короткая мапа до 32х
Да, так. Сейчас повторил до 32х элементов включительно порядок одинаковый (на разных нодах). Начиная с 33х уже различаются.
источник

ВИ

Виталий Иванов in ErlangRus
^Cvitaliy@ecss1:~/work/ecss_3_15$ erl
Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1]

Eshell V10.4.4  (abort with ^G)
1> new_unknown_atom.
new_unknown_atom
2> io:format("~p", [maps:from_list([{list_to_atom("test_" ++ integer_to_list(I)), I} || I <- lists:seq(1,33)])]).
#{test_1 => 1,test_5 => 5,test_25 => 25,test_22 => 22,test_10 => 10,
 test_27 => 27,test_2 => 2,test_9 => 9,test_32 => 32,test_30 => 30,
 test_13 => 13,test_19 => 19,test_24 => 24,test_17 => 17,test_4 => 4,
 test_18 => 18,test_8 => 8,test_14 => 14,test_20 => 20,test_23 => 23,
 test_6 => 6,test_7 => 7,test_21 => 21,test_16 => 16,test_12 => 12,
 test_15 => 15,test_3 => 3,test_28 => 28,test_31 => 31,test_29 => 29,
 test_11 => 11,test_33 => 33,test_26 => 26}ok
3>
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
      (v)ersion (k)ill (D)b-tables (d)istribution
^Cvitaliy@ecss1:~/work/ecss_3_15$ erl
Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1]

Eshell V10.4.4  (abort with ^G)
1> io:format("~p", [maps:from_list([{list_to_atom("test_" ++ integer_to_list(I)), I} || I <- lists:seq(1,33)])]).
#{test_11 => 11,test_25 => 25,test_26 => 26,test_29 => 29,test_6 => 6,
 test_20 => 20,test_23 => 23,test_10 => 10,test_2 => 2,test_9 => 9,
 test_30 => 30,test_27 => 27,test_7 => 7,test_13 => 13,test_8 => 8,
 test_21 => 21,test_14 => 14,test_32 => 32,test_15 => 15,test_5 => 5,
 test_12 => 12,test_3 => 3,test_19 => 19,test_28 => 28,test_18 => 18,
 test_24 => 24,test_1 => 1,test_17 => 17,test_4 => 4,test_16 => 16,
 test_31 => 31,test_22 => 22,test_33 => 33}ok
2>
источник

DF

Dmitry Frolov in ErlangRus
Коллеги, не понял, как мапа соотносится с "сортировкой по ключу"?
источник

DF

Dmitry Frolov in ErlangRus
Мапа - это мапа. Вам, кажется повезло, что порядок совпал
источник

DF

Dmitry Frolov in ErlangRus
Попробуйте не test_{1..X}, а рандом
источник

СИ

Сергей Иванов in ErlangRus
Виталий Иванов
Да, так. Сейчас повторил до 32х элементов включительно порядок одинаковый (на разных нодах). Начиная с 33х уже различаются.
недавно всё это обсуждали и разбирали
источник

AK

Aleksey Kluchnikov in ErlangRus
тут 2 аспекта, 1е это визуально в логах и дебагах удобнее, когда матченговое поле первое. 2е под вопросом, есть ли от этого какой либо выигрыш по быстродействию
источник

DF

Dmitry Frolov in ErlangRus
Не, для производительности мапы не должно влиять
источник

ВИ

Виталий Иванов in ErlangRus
Сергей Иванов
недавно всё это обсуждали и разбирали
Да тут порой за ночь по 600 сообщений. Не все читаю))
источник

DF

Dmitry Frolov in ErlangRus
Так же, пропустил много тысяч msg
источник

СИ

Сергей Иванов in ErlangRus
там человек с преобразованием json -> map -> json кажется был возмущен
источник

DF

Dmitry Frolov in ErlangRus
Сергей Иванов
недавно всё это обсуждали и разбирали
Владеешь поиск-кунгфу по чату?
источник

DF

Dmitry Frolov in ErlangRus
Сергей Иванов
там человек с преобразованием json -> map -> json кажется был возмущен
Ну а чего возмущаться, если ключ-значение по хешу не обязано сортироваться?
источник

СИ

Сергей Иванов in ErlangRus
Dmitry Frolov
Владеешь поиск-кунгфу по чату?
да, просто набираешь keywords через пробел

https://t.me/erlangrus/52566
https://t.me/erlangrus/52557
https://t.me/erlangrus/52587
источник