• Riccardo Mancini's avatar
    perf bench: Add benchmark for evlist open/close operations · 4241eabf
    Riccardo Mancini authored
    This new benchmark finds the total time that is taken to open, mmap,
    enable, disable, munmap, close an evlist (time taken for new,
    create_maps, config, delete is not counted in).
    
    The evlist can be configured as in perf-record using the
    -a,-C,-e,-u,--per-thread,-t,-p options.
    
    The events can be duplicated in the evlist to quickly test performance
    with many events using the -n options.
    
    Furthermore, also the number of iterations used to calculate the
    statistics is customizable.
    
    Examples:
    - Open one dummy event system-wide:
    
      $ sudo ./perf bench internals evlist-open-close
        Number of cpus:       4
        Number of threads:    1
        Number of events:     1 (4 fds)
        Number of iterations: 100
        Average open-close took: 613.870 usec (+- 32.852 usec)
    
    - Open the group '{cs,cycles}' on CPU 0
    
      $ sudo ./perf bench internals evlist-open-close -e '{cs,cycles}' -C 0
        Number of cpus:       1
        Number of threads:    1
        Number of events:     2 (2...
    4241eabf
builtin-bench.c 8.21 KB