anchor.diff:    {timer:now_diff(T2,T1), Res}.
   
   profile() ->
  -  Count = 1000000,
  +  Count = 100000,
     List0 = [A || <<A:32>> <= crypto:rand_bytes(Count*3)],
  -  {Delta1, List1_} = measure(fun() -> [encode(A) || A <- List0] end),
  +  {DeltaE, List1_} = measure(fun() -> [encode(A) || A <- List0] end),
  +  {DeltaE1, List1_} = measure(fun() -> [encode1(A) || A <- List0] end),
     
     List1 = [<<A/binary, (crypto:rand_bytes(40))/binary>> || A <- List1_],
   
  -  {Delta2, List2} = measure(fun() -> [decode(B) || B <- List1] end),
  -
  -  {Delta3, List3} = measure(fun() -> [decode1(B) || B <- List1] end),
  -
  -  {Delta4, List4} = measure(fun() -> [encode1(A) || A <- List0] end),
  +  {DeltaD, List2} = measure(fun() -> [decode(B) || B <- List1] end),
     
     List0 = [A || {A,_} <- List2],
     % List1 = [A || {A,<<>>} <- List4],
     
  -  {enc, Delta1 / Count, dec, Delta2 / Count, dec1, Delta3 / Count, enc1, Delta4 / Count}.
  +  {enc, [DeltaE / Count, DeltaE1 / Count],  dec, [DeltaD / Count]}.
  
positive.code: 
  
  -spec encode_signed(integer()) -> bitstring().
  encode_signed(Value) when is_integer(Value) andalso Value >= 0 ->
    <<0:1, (encode(Value))/bitstring>>;
  
  encode_signed(Value) when is_integer(Value) andalso Value < 0 ->
    <<1:1, (encode(-Value))/bitstring>>.
  
  
  -spec encode(non_neg_integer()) -> binary().
  encode(Value) when is_integer(Value) andalso Value >= 0 ->
    encode_unsigned(Value).
  
  encode_unsigned(Value) ->
    case Value bsr 7 of
      0 ->
        <<0:1, Value:7/integer>>;
      NextValue ->
        <<1:1, Value:7/integer, (encode_unsigned(NextValue))/binary>>
    end.
  
  
  encode1(Value) when is_integer(Value) andalso Value >= 0 andalso Value < 128 ->
  
negative.code: decode_test() ->
    ?assertEqual({624485,<<57,113,1:4>>}, decode(<<16#E5, 16#8E, 16#26, 57,113,1:4>>)).
  
  encode_signed_test() ->
    ?assertEqual(<<16#9B, 16#F1, 16#59>>, encode_signed(-624485)).
  
  decode_signed_test() ->
    ?assertEqual({-624485,<<57,113,1:4>>}, decode_signed(<<16#9B, 16#F1, 16#59, 57,113,1:4>>)).
  
  
  measure(F) ->
  