DF
x(A) when A =:= 1; A=:=2;..... ->
Будет ли отличаться по скорости от:
x(A) when A =:= 1 orelse A=:=2;..... ->
?
Size: a a a
DF
PK
select_val
jump_on_val
которая просто делает jump на нужный вариантatom -> integer
генерится select_val_lin
которая уже работает линейно :-\PK
DF
DF
PK
jump_on_val
(т.е. для целых чисел) размер списка чисел значения не имеет,gen.select_val
(для атомов) генерится либо i_select_val_lins
если таблица =< 10, т.е. линейный поиск, либо i_select_val_bins
, т.е. бинарный если > 10, сортируются значения при загрузке модуляML
select_val
jump_on_val
которая просто делает jump на нужный вариантV
PK
PK
PK
internal
специфичный для верссии vm и external
для содержимого бим файлов, но это я думаю и так всем известно :)PK
x(<<"a">>) -> 1;
x(<<"b">>) -> 2.
y(a) -> 1;
y(b) -> 2.
x
будет работать через jump table (если коды символов близко находятся) за константное время, а y
через gen.select_val
за линейное либо логарифмическоеИИ
PK
PG
ع
SP
ع
ML
SP