diff options
author | Hans Bolinder <[email protected]> | 2017-01-19 16:19:11 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2017-02-03 08:58:00 +0100 |
commit | 643b7dbdb7f208ff69265b4f6b14f79175865c2b (patch) | |
tree | 62a31ff2e973c8c9fe8afb9e058aa41dd862d99e /lib/dialyzer/src/dialyzer_plt.erl | |
parent | a669fdb4bc19c508c8c5edbefa1c81ee647b3362 (diff) | |
download | otp-643b7dbdb7f208ff69265b4f6b14f79175865c2b.tar.gz otp-643b7dbdb7f208ff69265b4f6b14f79175865c2b.tar.bz2 otp-643b7dbdb7f208ff69265b4f6b14f79175865c2b.zip |
dialyzer: Compress some PLT tables
Compressing the signatures or the contract records would cost time.
The contract records are still held in two places (code server and
PLT) in many cases.
Diffstat (limited to 'lib/dialyzer/src/dialyzer_plt.erl')
-rw-r--r-- | lib/dialyzer/src/dialyzer_plt.erl | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/dialyzer/src/dialyzer_plt.erl b/lib/dialyzer/src/dialyzer_plt.erl index 26dfeac71e..eb63e9e695 100644 --- a/lib/dialyzer/src/dialyzer_plt.erl +++ b/lib/dialyzer/src/dialyzer_plt.erl @@ -526,10 +526,12 @@ get_mini_plt(#plt{info = Info, contracts = Contracts, callbacks = Callbacks, exported_types = ExpTypes}) -> - [ETSInfo, ETSTypes, ETSContracts, ETSCallbacks, ETSExpTypes] = + [ETSInfo, ETSContracts] = [ets:new(Name, [public]) || - Name <- [plt_info, plt_types, plt_contracts, plt_callbacks, - plt_exported_types]], + Name <- [plt_info, plt_contracts]], + [ETSTypes, ETSCallbacks, ETSExpTypes] = + [ets:new(Name, [compressed, public]) || + Name <- [plt_types, plt_callbacks, plt_exported_types]], CallbackList = dict:to_list(Callbacks), CallbacksByModule = [{M, [Cb || {{M1,_,_},_} = Cb <- CallbackList, M1 =:= M]} || |