aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src
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 /lib/dialyzer/src
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.
Diffstat (limited to 'lib/dialyzer/src')
-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]} ||