소스 검색

ft:代码优化

master
lijie 2 년 전
부모
커밋
1cf867a8e9
2개의 변경된 파일23개의 추가작업 그리고 23개의 파일을 삭제
  1. +21
    -21
      src/eVPack.erl
  2. +2
    -2
      src/enTest.erl

+ 21
- 21
src/eVPack.erl 파일 보기

@ -349,22 +349,22 @@ encodeSortMapIndexTable(IoData, Count, Offsets, SumSize) ->
%% end.
buildIndexTable_1(Offsets, StartSize) ->
<<<<(OneOff + StartSize):1/integer-little-unsigned-unit:8>> || OneOff <- lists:reverse(Offsets)>>.
<<<<(OneOff + StartSize):8/integer-little-unsigned>> || OneOff <- lists:reverse(Offsets)>>.
buildIndexTable_2(Offsets, StartSize) ->
<<<<(OneOff + StartSize):2/integer-little-unsigned-unit:8>> || OneOff <- lists:reverse(Offsets)>>.
<<<<(OneOff + StartSize):16/integer-little-unsigned>> || OneOff <- lists:reverse(Offsets)>>.
buildIndexTable_4(Offsets, StartSize) ->
<<<<(OneOff + StartSize):4/integer-little-unsigned-unit:8>> || OneOff <- lists:reverse(Offsets)>>.
<<<<(OneOff + StartSize):32/integer-little-unsigned>> || OneOff <- lists:reverse(Offsets)>>.
buildIndexTable_8(Offsets, StartSize) ->
<<<<(OneOff + StartSize):8/integer-little-unsigned-unit:8>> || OneOff <- lists:reverse(Offsets)>>.
<<<<(OneOff + StartSize):64/integer-little-unsigned>> || OneOff <- lists:reverse(Offsets)>>.
buildSMIndexTable_1(Offsets, StartSize) ->
<<<<(OneOff + StartSize):1/integer-little-unsigned-unit:8>> || OneOff <- lists:sort(Offsets)>>.
<<<<(OneOff + StartSize):8/integer-little-unsigned>> || OneOff <- lists:sort(Offsets)>>.
buildSMIndexTable_2(Offsets, StartSize) ->
<<<<(OneOff + StartSize):2/integer-little-unsigned-unit:8>> || OneOff <- lists:sort(Offsets)>>.
<<<<(OneOff + StartSize):16/integer-little-unsigned>> || OneOff <- lists:sort(Offsets)>>.
buildSMIndexTable_4(Offsets, StartSize) ->
<<<<(OneOff + StartSize):4/integer-little-unsigned-unit:8>> || OneOff <- lists:sort(Offsets)>>.
<<<<(OneOff + StartSize):32/integer-little-unsigned>> || OneOff <- lists:sort(Offsets)>>.
buildSMIndexTable_8(Offsets, StartSize) ->
<<<<(OneOff + StartSize):8/integer-little-unsigned-unit:8>> || OneOff <- lists:sort(Offsets)>>.
<<<<(OneOff + StartSize):64/integer-little-unsigned>> || OneOff <- lists:sort(Offsets)>>.
compactIntegerList(Integer, AccList) ->
case Integer < 128 of
@ -457,22 +457,22 @@ encodeListWithoutIndexTable(IoData, SumSize) ->
if
SumSize < 254 ->
AllSize = SumSize + 2,
Header = <<2/integer, AllSize:1/integer-little-unsigned-unit:8>>,
Header = <<2/integer, AllSize:8/integer-little-unsigned>>,
setSV(AllSize),
[Header, IoData];
SumSize < 65533 ->
AllSize = SumSize + 3,
Header = <<3/integer, AllSize:2/integer-little-unsigned-unit:8>>,
Header = <<3/integer, AllSize:16/integer-little-unsigned>>,
setSV(AllSize),
[Header, IoData];
SumSize < 4294967291 ->
AllSize = SumSize + 5,
Header = <<4/integer, AllSize:4/integer-little-unsigned-unit:8>>,
Header = <<4/integer, AllSize:32/integer-little-unsigned>>,
setSV(AllSize),
[Header, IoData];
SumSize < 18446744073709551607 ->
AllSize = SumSize + 9,
Header = <<5/integer, AllSize:8/integer-little-unsigned-unit:8>>,
Header = <<5/integer, AllSize:64/integer-little-unsigned>>,
setSV(AllSize),
[Header, IoData];
true ->
@ -1425,7 +1425,7 @@ decoder(191, RestBin) ->
{BinStr, LeftBin}
end;
decoder(192, RestBin) ->
<<Length:1/integer-little-unsigned-unit:8, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
<<Length:8/integer-little-unsigned, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
RefSize = binary:referenced_byte_size(RestBin),
case RefSize / Length > ?VpBinaryCopyRatio of
true ->
@ -1434,7 +1434,7 @@ decoder(192, RestBin) ->
{BinStr, LeftBin}
end;
decoder(193, RestBin) ->
<<Length:2/integer-little-unsigned-unit:8, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
<<Length:16/integer-little-unsigned, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
RefSize = binary:referenced_byte_size(RestBin),
case RefSize / Length > ?VpBinaryCopyRatio of
true ->
@ -1443,7 +1443,7 @@ decoder(193, RestBin) ->
{BinStr, LeftBin}
end;
decoder(194, RestBin) ->
<<Length:3/integer-little-unsigned-unit:8, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
<<Length:24/integer-little-unsigned, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
RefSize = binary:referenced_byte_size(RestBin),
case RefSize / Length > ?VpBinaryCopyRatio of
true ->
@ -1452,7 +1452,7 @@ decoder(194, RestBin) ->
{BinStr, LeftBin}
end;
decoder(195, RestBin) ->
<<Length:4/integer-little-unsigned-unit:8, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
<<Length:32/integer-little-unsigned, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
RefSize = binary:referenced_byte_size(RestBin),
case RefSize / Length > ?VpBinaryCopyRatio of
true ->
@ -1461,7 +1461,7 @@ decoder(195, RestBin) ->
{BinStr, LeftBin}
end;
decoder(196, RestBin) ->
<<Length:5/integer-little-unsigned-unit:8, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
<<Length:40/integer-little-unsigned, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
RefSize = binary:referenced_byte_size(RestBin),
case RefSize / Length > ?VpBinaryCopyRatio of
true ->
@ -1470,7 +1470,7 @@ decoder(196, RestBin) ->
{BinStr, LeftBin}
end;
decoder(197, RestBin) ->
<<Length:6/integer-little-unsigned-unit:8, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
<<Length:48/integer-little-unsigned, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
RefSize = binary:referenced_byte_size(RestBin),
case RefSize / Length > ?VpBinaryCopyRatio of
true ->
@ -1479,7 +1479,7 @@ decoder(197, RestBin) ->
{BinStr, LeftBin}
end;
decoder(198, RestBin) ->
<<Length:7/integer-little-unsigned-unit:8, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
<<Length:56/integer-little-unsigned, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
RefSize = binary:referenced_byte_size(RestBin),
case RefSize / Length > ?VpBinaryCopyRatio of
true ->
@ -1488,7 +1488,7 @@ decoder(198, RestBin) ->
{BinStr, LeftBin}
end;
decoder(199, RestBin) ->
<<Length:8/integer-little-unsigned-unit:8, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
<<Length:64/integer-little-unsigned, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
RefSize = binary:referenced_byte_size(RestBin),
case RefSize / Length > ?VpBinaryCopyRatio of
true ->
@ -1497,7 +1497,7 @@ decoder(199, RestBin) ->
{BinStr, LeftBin}
end;
decoder(244, RestBin) ->
<<Length:8/integer-little-unsigned-unit:8, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
<<Length:8/integer-little-unsigned, BinStr:Length/binary, LeftBin/bitstring>> = RestBin,
{binary_to_atom(BinStr), LeftBin};
decoder(_, _) ->
erlang:throw({error, unexpected_end}).

+ 2
- 2
src/enTest.erl 파일 보기

@ -56,8 +56,8 @@ do() ->
<<45, 255, 255, 255, 255, 255, 255>> = eVPack:encodeBin(281474976710655),
<<46, 255, 255, 255, 255, 255, 255, 255>> = eVPack:encodeBin(72057594037927935),
<<47, 255, 255, 255, 255, 255, 255, 255, 255>> = eVPack:encodeBin(18446744073709551615),
<<75, 72, 97, 108, 108, 111, 32, 87, 101, 108, 116, 33>> = eVPack:encodeBin(<<"Hallo Welt!">>),
<<76, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33>> = eVPack:encodeBin(<<"Hello World!">>),
<<192, 11, 72, 97, 108, 108, 111, 32, 87, 101, 108, 116, 33>> = eVPack:encodeBin(<<"Hallo Welt!">>),
<<192, 12, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33>> = eVPack:encodeBin(<<"Hello World!">>),
_Str = <<"Lorem ipsum dolor sit amet, consectetuer "
"adipiscing elit. Aenean commodo ligula "
"eget dolor. ",

불러오는 중...
취소
저장