Skip to content

Instantly share code, notes, and snippets.

@papertigers
Created April 23, 2019 01:49
Show Gist options
  • Save papertigers/0bd33bc0f1241463dcee35763337c579 to your computer and use it in GitHub Desktop.
Save papertigers/0bd33bc0f1241463dcee35763337c579 to your computer and use it in GitHub Desktop.
rust channel performance
root - rustdev ~ # prstat -p `pgrep channels` -mLc 1
Please wait...
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960716 root 1.3 1.2 0.0 0.0 0.0 66 32 0.1 321 1 1K 0 channels/1
960716 root 0.8 1.4 0.0 0.0 0.0 98 0.0 0.2 8K 0 8K 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.26, 0.11, 0.04
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960716 root 0.7 1.2 0.0 0.0 0.0 98 0.0 0.2 8K 0 8K 0 channels/2
960716 root 0.3 0.7 0.0 0.0 0.0 0.0 99 0.2 988 1 1K 0 channels/1
Total: 1 processes, 2 lwps, load averages: 0.27, 0.11, 0.04
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960716 root 1.0 1.8 0.0 0.0 0.0 97 0.0 0.2 8K 0 8K 0 channels/2
960716 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.3 983 0 1K 0 channels/1
Total: 1 processes, 2 lwps, load averages: 0.28, 0.11, 0.04
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960716 root 1.0 1.8 0.0 0.0 0.0 97 0.0 0.2 8K 0 8K 0 channels/2
960716 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.3 983 0 1K 0 channels/1
Total: 1 processes, 2 lwps, load averages: 0.29, 0.11, 0.04
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960716 root 1.0 1.7 0.0 0.0 0.0 97 0.0 0.2 8K 0 8K 0 channels/2
960716 root 0.4 0.9 0.0 0.0 0.0 0.0 99 0.2 984 0 1K 0 channels/1
Total: 1 processes, 2 lwps, load averages: 0.30, 0.11, 0.04
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960716 root 1.0 1.7 0.0 0.0 0.0 97 0.0 0.2 8K 0 8K 0 channels/2
960716 root 0.4 0.9 0.0 0.0 0.0 0.0 99 0.2 983 0 1K 0 channels/1
Total: 1 processes, 2 lwps, load averages: 0.30, 0.12, 0.04
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960716 root 1.0 1.7 0.0 0.0 0.0 97 0.0 0.2 8K 0 8K 0 channels/2
960716 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.3 983 0 1K 0 channels/1
Total: 1 processes, 2 lwps, load averages: 0.31, 0.12, 0.05
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960716 root 1.0 1.7 0.0 0.0 0.0 97 0.0 0.2 8K 0 8K 0 channels/2
960716 root 0.4 0.8 0.0 0.0 0.0 0.0 99 0.2 984 0 1K 0 channels/1
Total: 1 processes, 2 lwps, load averages: 0.32, 0.12, 0.05
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960716 root 1.0 1.8 0.0 0.0 0.0 97 0.0 0.2 8K 0 8K 0 channels/2
960716 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.3 983 0 1K 0 channels/1
Total: 1 processes, 2 lwps, load averages: 0.33, 0.12, 0.05
root - rustdev ~ # prstat -p `pgrep channels` -mLc 1
Please wait...
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960507 root 3.9 3.2 0.0 0.0 0.0 0.0 93 0.2 928 8 3K 0 channels/1
960507 root 0.6 0.6 0.0 0.0 0.0 99 0.0 0.3 982 0 987 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.16, 0.07, 0.02
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960507 root 0.4 1.0 0.0 0.0 0.0 0.0 98 0.2 983 0 1K 0 channels/1
960507 root 0.6 0.6 0.0 0.0 0.0 99 0.0 0.3 983 0 983 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.15, 0.07, 0.02
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960507 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.2 984 0 1K 0 channels/1
960507 root 0.6 0.6 0.0 0.0 0.0 99 0.0 0.3 984 0 984 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.15, 0.07, 0.02
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960507 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.2 984 1 1K 0 channels/1
960507 root 0.5 0.6 0.0 0.0 0.0 99 0.0 0.3 984 0 984 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.15, 0.07, 0.02
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960507 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.3 983 0 1K 0 channels/1
960507 root 0.6 0.6 0.0 0.0 0.0 99 0.0 0.3 984 0 983 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.15, 0.07, 0.02
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960507 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.2 983 0 1K 0 channels/1
960507 root 0.6 0.6 0.0 0.0 0.0 99 0.0 0.3 983 0 983 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.14, 0.07, 0.02
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960507 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.2 985 0 1K 0 channels/1
960507 root 0.6 0.6 0.0 0.0 0.0 99 0.0 0.3 985 0 985 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.14, 0.07, 0.02
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960507 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.2 983 0 1K 0 channels/1
960507 root 0.5 0.6 0.0 0.0 0.0 99 0.0 0.3 983 0 983 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.14, 0.07, 0.02
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960507 root 0.4 0.9 0.0 0.0 0.0 0.0 98 0.2 984 0 1K 0 channels/1
960507 root 0.6 0.6 0.0 0.0 0.0 99 0.0 0.3 984 0 984 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.14, 0.07, 0.02
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
960507 root 0.4 1.0 0.0 0.0 0.0 0.0 98 0.2 983 1 1K 0 channels/1
960507 root 0.6 0.6 0.0 0.0 0.0 99 0.0 0.3 983 0 983 0 channels/2
Total: 1 processes, 2 lwps, load averages: 0.14, 0.07, 0.02
@papertigers
Copy link
Author

std:

root - rustdev ~/src/channels (git:HEAD) # dtrace -n 'syscall:::entry /pid == $target/ {@[probefunc] = count()}' -c "target/release/channels"
dtrace: description 'syscall:::entry ' matched 235 probes
dtrace: pid 964300 has exited

  getpid                                                            1
  getrlimit                                                         1
  lwp_continue                                                      1
  lwp_create                                                        1
  lwp_detach                                                        1
  lwp_exit                                                          1
  lwp_sigmask                                                       1
  read                                                              1
  rexit                                                             1
  sigpending                                                        1
  sysi86                                                            1
  uucopy                                                            1
  write                                                             1
  close                                                             2
  munmap                                                            2
  open                                                              2
  privsys                                                           2
  schedctl                                                          2
  setcontext                                                        3
  mprotect                                                          4
  sigaction                                                         4
  sysconfig                                                         4
  yield                                                             4
  priocntlsys                                                       5
  sigaltstack                                                       6
  mmap                                                              7
  brk                                                              11
  lwp_cond_broadcast                                               11
  nanosleep                                                     40000
  lwp_park                                                      80000

crossbeam:

root - rustdev ~/src/channels (git:HEAD) # dtrace -n 'syscall:::entry /pid == $target/ {@[probefunc] = count()}' -c "target/release/channels"
dtrace: description 'syscall:::entry ' matched 235 probes
dtrace: pid 964138 has exited

  getpid                                                            1
  getrlimit                                                         1
  lwp_continue                                                      1
  lwp_create                                                        1
  lwp_detach                                                        1
  lwp_exit                                                          1
  lwp_sigmask                                                       1
  read                                                              1
  rexit                                                             1
  sigpending                                                        1
  sysi86                                                            1
  uucopy                                                            1
  write                                                             1
  close                                                             2
  munmap                                                            2
  open                                                              2
  privsys                                                           2
  schedctl                                                          2
  setcontext                                                        3
  mprotect                                                          4
  sigaction                                                         4
  sysconfig                                                         4
  priocntlsys                                                       5
  sigaltstack                                                       6
  mmap                                                              7
  brk                                                              11
  lwp_cond_broadcast                                               11
  nanosleep                                                     40000
  lwp_park                                                      80008
  yield                                                        320003

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment