[erlang-patches] Improving ETS performances
Francesco Lattanzio
franz.lattanzio@REDACTED
Fri Jun 27 10:42:16 CEST 2014
Removed dots from commit messages.
A new pull request has been submitted. Here is the new patch:
git fetch https://github.com/fltt/otp.git ets_nested_lht_4
https://github.com/fltt/otp/compare/erlang:maint...ets_nested_lht_4
https://github.com/fltt/otp/compare/erlang:maint...ets_nested_lht_4.patch
--
Francesco Lattanzio
On Wed, Jun 25, 2014 at 09:38:06PM +0200, Francesco Lattanzio wrote:
> Hello again Sverker,
> I've made some progress with this patch. Briefly:
>
> * set tables and bag/duplicate_bag tables are now managed by dedicated
> code -- erl_db_hash.[ch] and erl_db_nested_hash.[ch] respectively
> * reduced memory overhead
>
> You can compute the difference (in words) between the new and the old
> implementations' memory footprints (when nested LHT is not active) of a
> collection of 'n' objects sharing the same key as:
>
> MemDiff = 4 - n
>
> I used this formula to fix the ets suite's memory test case.
>
> With regard to the yielding problem, I deciced not to fix it now for the
> following reasons:
>
> 1) it is unrelated to the nested LHT, as the problem manifests itself
> even in the current (non-nested LHT) implementation
> 2) you offered to fix it yourself
>
> The patch is available at:
>
> git fetch https://github.com/fltt/otp.git ets_nested_lht_3
>
> https://github.com/fltt/otp/compare/erlang:maint...ets_nested_lht_3
> https://github.com/fltt/otp/compare/erlang:maint...ets_nested_lht_3.patch
>
> It is based on the maint branch.
>
> I've tested it on Linux x86_64, latest kernel (all the test suites) and
> FreeBSD/i386 9.2 (only the emulator, kernel and stdlib test suites).
>
> Have another nice day.
More information about the erlang-patches
mailing list