perf-bench.txt 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. perf-bench(1)
  2. =============
  3. NAME
  4. ----
  5. perf-bench - General framework for benchmark suites
  6. SYNOPSIS
  7. --------
  8. [verse]
  9. 'perf bench' [<common options>] <subsystem> <suite> [<options>]
  10. DESCRIPTION
  11. -----------
  12. This 'perf bench' command is general framework for benchmark suites.
  13. COMMON OPTIONS
  14. --------------
  15. -f::
  16. --format=::
  17. Specify format style.
  18. Current available format styles are:
  19. 'default'::
  20. Default style. This is mainly for human reading.
  21. ---------------------
  22. % perf bench sched pipe # with no style specified
  23. (executing 1000000 pipe operations between two tasks)
  24. Total time:5.855 sec
  25. 5.855061 usecs/op
  26. 170792 ops/sec
  27. ---------------------
  28. 'simple'::
  29. This simple style is friendly for automated
  30. processing by scripts.
  31. ---------------------
  32. % perf bench --format=simple sched pipe # specified simple
  33. 5.988
  34. ---------------------
  35. SUBSYSTEM
  36. ---------
  37. 'sched'::
  38. Scheduler and IPC mechanisms.
  39. SUITES FOR 'sched'
  40. ~~~~~~~~~~~~~~~~~~
  41. *messaging*::
  42. Suite for evaluating performance of scheduler and IPC mechanisms.
  43. Based on hackbench by Rusty Russell.
  44. Options of *pipe*
  45. ^^^^^^^^^^^^^^^^^
  46. -p::
  47. --pipe::
  48. Use pipe() instead of socketpair()
  49. -t::
  50. --thread::
  51. Be multi thread instead of multi process
  52. -g::
  53. --group=::
  54. Specify number of groups
  55. -l::
  56. --loop=::
  57. Specify number of loops
  58. Example of *messaging*
  59. ^^^^^^^^^^^^^^^^^^^^^^
  60. ---------------------
  61. % perf bench sched messaging # run with default
  62. options (20 sender and receiver processes per group)
  63. (10 groups == 400 processes run)
  64. Total time:0.308 sec
  65. % perf bench sched messaging -t -g 20 # be multi-thread, with 20 groups
  66. (20 sender and receiver threads per group)
  67. (20 groups == 800 threads run)
  68. Total time:0.582 sec
  69. ---------------------
  70. *pipe*::
  71. Suite for pipe() system call.
  72. Based on pipe-test-1m.c by Ingo Molnar.
  73. Options of *pipe*
  74. ^^^^^^^^^^^^^^^^^
  75. -l::
  76. --loop=::
  77. Specify number of loops.
  78. Example of *pipe*
  79. ^^^^^^^^^^^^^^^^^
  80. ---------------------
  81. % perf bench sched pipe
  82. (executing 1000000 pipe operations between two tasks)
  83. Total time:8.091 sec
  84. 8.091833 usecs/op
  85. 123581 ops/sec
  86. % perf bench sched pipe -l 1000 # loop 1000
  87. (executing 1000 pipe operations between two tasks)
  88. Total time:0.016 sec
  89. 16.948000 usecs/op
  90. 59004 ops/sec
  91. ---------------------
  92. SEE ALSO
  93. --------
  94. linkperf:perf[1]