[erlang-questions] A0 outperforming A>0, why?
Vans S
vans_163@REDACTED
Thu Sep 15 16:27:31 CEST 2016
Running the rebar3 test suite, ct, passing A0 to the VM args is consistently outperforming using any value of A above 0. The test suite does over 1m iops.
This should not be the be the case, is not the whole point of async threads to improve io throughput?
The test can be setup by doing:
install a package called time (apt-get install time)
git clone https://github.com/erlang/rebar3.git
rebar3 install localexport REBAR3_ERL_ARGS="+A0 +K true"time -v $(LOCAL_INSTALL_REBAR3_BIN) ct
export REBAR3_ERL_ARGS="+A1 +K true"time -v $(LOCAL_INSTALL_REBAR3_BIN) ctexport REBAR3_ERL_ARGS="+A100 +K true"time -v $(LOCAL_INSTALL_REBAR3_BIN) ct
(rebar3 passes +sbtu as well)
Here is an example of some results:
%A0
Command being timed: "/home/user/.cache/rebar3/bin/rebar3 ct"
User time (seconds): 203.63
System time (seconds): 12.12
Percent of CPU this job got: 128%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:48.44
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 369744
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 2710315
Voluntary context switches: 215661
Involuntary context switches: 219472
Swaps: 0
File system inputs: 40
File system outputs: 1078936
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
%A1
Command being timed: "/home/user/.cache/rebar3/bin/rebar3 ct"
User time (seconds): 221.73
System time (seconds): 17.73
Percent of CPU this job got: 134%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:57.55
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 418184
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 2704281
Voluntary context switches: 2307583
Involuntary context switches: 306797
Swaps: 0
File system inputs: 48
File system outputs: 1078928
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
%A100
Command being timed: "/home/user/.cache/rebar3/bin/rebar3 ct"
User time (seconds): 223.26
System time (seconds): 18.20
Percent of CPU this job got: 133%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:01.20
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 385492
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 2651960
Voluntary context switches: 2392798
Involuntary context switches: 404162
Swaps: 0
File system inputs: 72
File system outputs: 1078936
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160915/09877ee4/attachment.htm>
More information about the erlang-questions
mailing list