diff options
author | Björn Gustavsson <[email protected]> | 2013-03-07 12:33:26 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2013-05-31 14:52:19 +0200 |
commit | 77fde7589ae338efa15fecfb5f75ec9168fa921f (patch) | |
tree | 2812e5d376ae5511218365e3a2aaad6f9862eebb /lib/asn1/src/asn1ct_gen.erl | |
parent | 9d56389aa8fd0d366df7b0f666369d23cf946639 (diff) | |
download | otp-77fde7589ae338efa15fecfb5f75ec9168fa921f.tar.gz otp-77fde7589ae338efa15fecfb5f75ec9168fa921f.tar.bz2 otp-77fde7589ae338efa15fecfb5f75ec9168fa921f.zip |
Open the output file in raw mode with delayed write
This change brings down the execution time on my computer for the
entire asn1 test suite from about 340 seconds to 310 seconds.
Diffstat (limited to 'lib/asn1/src/asn1ct_gen.erl')
-rw-r--r-- | lib/asn1/src/asn1ct_gen.erl | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/asn1/src/asn1ct_gen.erl b/lib/asn1/src/asn1ct_gen.erl index a7a43b7426..570f41f91d 100644 --- a/lib/asn1/src/asn1ct_gen.erl +++ b/lib/asn1/src/asn1ct_gen.erl @@ -75,7 +75,7 @@ pgen_module(OutFile,Erules,Module, HrlGenerated = pgen_hrl(Erules,Module,TypeOrVal,Options,Indent), asn1ct_name:start(), ErlFile = lists:concat([OutFile,".erl"]), - Fid = fopen(ErlFile,[write]), + Fid = fopen(ErlFile), put(gen_file_out,Fid), asn1ct_func:start_link(), gen_head(Erules,Module,HrlGenerated), @@ -1131,7 +1131,7 @@ pgen_info() -> open_hrl(OutFile,Module) -> File = lists:concat([OutFile,".hrl"]), - Fid = fopen(File,[write]), + Fid = fopen(File), put(gen_file_out,Fid), gen_hrlhead(Module). @@ -1147,7 +1147,7 @@ demit(Term) -> % always generation emit(Term) -> - io:put_chars(get(gen_file_out), do_emit(Term)). + ok = file:write(get(gen_file_out), do_emit(Term)). do_emit({external,_M,T}) -> do_emit(T); @@ -1205,8 +1205,8 @@ call_args([A|As], Sep) -> [Sep,do_emit(A)|call_args(As, ", ")]; call_args([], _) -> []. -fopen(F, ModeList) -> - case file:open(F, ModeList) of +fopen(F) -> + case file:open(F, [write,raw,delayed_write]) of {ok, Fd} -> Fd; {error, Reason} -> |