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 | |
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.
-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]} || |