[erlang-questions] Extrange output of Âs and varing times on erlang console when testing array_vs_tuples

Michael Truog <>
Sun Feb 7 22:38:04 CET 2010


To be honest, I don't remember which way I was doing the test.  I was
looking for the relative time and was not as focused on absolute time. 
However, it does seem like the best way to do this test is with:

erl -noshell -run arr test -run init stop

I am not sure about the overhead shell processing adds, but it should be
the closest (when ran without the shell) to a production system's usage
of data structures (ignoring unique memory configuration and any other
obscure parameters).

Angel wrote:
> Did you find similar diferences when running the rbdictized Test from erlang 
> console and at the shell level? (Assumed you picked the original Joel's code 
> to test rbdicts)
>
> Ive been testing with diferenct heaps to see if is a memory related diference 
> with no luck. All i can see (after deleting those Âs) is that this test 
> behaves diferent with and without the erlang console...
>
> provided the arr.erl module the following runs show diferent result and 
> timmings:
>
>  erl -noshell -run arr test -run init stop
>
> Fixed-size array: get:     5332 µs, set:    11249 µs
> Extensible array: get:     5334 µs, set:    10648 µs
> Tuple:            get:     1222 µs, set:   437980 µs
> Tree:             get:     9457 µs, set:    99774 µs
>
> erl -run arr test -run init stop
> Erlang R13B03 (erts-5.7.4) [source] [rq:1] [async-threads:0] [hipe] [kernel-
> poll:false]
>
> Eshell V5.7.4  (abort with ^G)
> 1> Fixed-size array: get:     5372 µs, set:    62407 µs
> Extensible array: get:     5393 µs, set:    10772 µs
> Tuple:            get:     2392 µs, set:   462941 µs
> Tree:             get:     9481 µs, set:    99098 µs
>
> so the rlang console is responsible form this unespected high runnig times 
> (and those estrange Âs)
>
>
>
>
>
> On Domingo, 7 de Febrero de 2010 22:00:02 usted escribió:
>   
>> Here is a version with other types added that you might be interested in:
>> http://okeuday.livejournal.com/15662.html
>>
>> Angel wrote:
>>     
>>> 1) The  symbol is related to the microsecond symbol and appears only
>>> when testing from the erlang console, where at bash level (konsole, and
>>> plain tty) the caracter is not shown.
>>>
>>> 2) The time rougly doubles in the erlang console. Calling the test
>>> funtion from bash via: "erl -noshell -run arr test" shown "proper" times.
>>>
>>> Can test code at: http://gist.github.com/266826  (Joel's github)
>>>
>>>
>>>
>>> :~/Documentos/Personal/Erlang/Code> erl -noshell -run arr
>>> test -run init stop Fixed-size array: get:     5354µs, set:    11242µs
>>> Extensible array: get:     5357µs, set:    10639µs
>>> Tuple:            get:     1224µs, set:   441784µs
>>> Tree:             get:     9409µs, set:   100486µs
>>>
>>>
>>> :~/Documentos/Personal/Erlang/Code> erl
>>> Erlang R13B03 (erts-5.7.4) [source] [rq:1] [async-threads:0] [hipe]
>>> [kernel-poll:false]
>>>
>>> Eshell V5.7.4  (abort with ^G)
>>> 1> arr:test().
>>> Fixed-size array: get:    11618µs, set:    28557µs
>>> Extensible array: get:    10083µs, set:    23536µs
>>> Tuple:            get:     1218µs, set:   481610µs
>>> Tree:             get:     9682µs, set:   102533µs
>>> ok
>>> 2> q().
>>>
>>>
>>>
>>>
>>> /angel
>>>
>>>
>>>
>>>
>>>
>>>
>>> Most people know C is not so high level....
>>>                 ...Everybody else just got assembler overdose
>>>
>>>
>>> ________________________________________________________________
>>> erlang-questions (at) erlang.org mailing list.
>>> See http://www.erlang.org/faq.html
>>> To unsubscribe; mailto:
>>>       
>
> Most people know C is not so high level....
>                 ...Everybody else just got assembler overdose
>  
>
>   



More information about the erlang-questions mailing list