aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2017-01-19 16:19:11 +0100
committerHans Bolinder <[email protected]>2017-02-03 08:58:00 +0100
commit643b7dbdb7f208ff69265b4f6b14f79175865c2b (patch)
tree62a31ff2e973c8c9fe8afb9e058aa41dd862d99e
parenta669fdb4bc19c508c8c5edbefa1c81ee647b3362 (diff)
downloadotp-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.erl8
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]} ||