[erlang-questions] widefinder update
Anders Nygren
anders.nygren@REDACTED
Tue Oct 23 23:12:41 CEST 2007
On 10/23/07, Anders Nygren <anders.nygren@REDACTED> wrote:
> To summarize my progress on the widefinder problem
> A few days ago I started with Steve Vinoski's tbray16.erl
> As a baseline on my 1.66 GHz dual core Centrino
> laptop, Linux,
> tbray16
> real 0m7.067s
> user 0m12.377s
> sys 0m0.584s
>
> I removed the dict used for the shift table,
> and changed the min_heap_size.
> That gave
> real 0m2.713s
> user 0m4.168s
> sys 0m0.412s
>
> (see tbray_tuple.erl and wfbm4_tuple.erl)
> Steve reported that it ran in ~1.9 s on his 8 core server.
>
> Then I removed the dicts that were used for collecting the
> matches and used ets instead, and got some improvement
> on my dual core laptop.
> real 0m2.220s
> user 0m3.252s
> sys 0m0.344s
>
> (see tbray_ets.erl and wfbm4_ets.erl)
>
> Interestingly Steve reported that it actually performed
> worse on his 8 core server.
>
> These versions all read the whole file into memory at the start.
> On my laptop that takes ~400ms (when the file is already cached
> in the OS).
>
> So I changed it to read the file in chucks and spawn the worker
> after each chunk is read.
>
> tbray_blockread with 4 processes
> real 0m1.992s
> user 0m3.176s
> sys 0m0.420s
>
> (see tbray_blockread.erl and wfbm4_ets.erl)
>
> Running it in the erlang shell it takes ~1.8s.
>
In the last email I mentioned that
" Just starting and stopping the VM takes
time erl -pa ../../bfile/ebin/ -smp -noshell -run init stop
real 0m1.229s
user 0m0.208s
sys 0m0.020s"
But I just realized that a more useful measure for basic
startup and shutdown is
time erl -pa ../../bfile/ebin/ -smp -noshell -run erlang halt
real 0m0.201s
user 0m0.180s
sys 0m0.016s
/Anders
More information about the erlang-questions
mailing list