Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-11575

[Developer][Archery] Expose execution time in benchmark results

    XMLWordPrintableJSON

Details

    Description

      Google Benchmark reports both cpu time & real time in each benchmark observation. For example:

      {'cpu_time': 9718937.499999996,
        'items_per_second': 26972495.707478322,
        'iterations': 64,
        'name': 'TakeStringRandomIndicesWithNulls/262144/0',
        'null_percent': 0.0,
        'real_time': 10297947.859726265,
        'repetition_index': 2,
        'repetitions': 0,
        'run_name': 'TakeStringRandomIndicesWithNulls/262144/0',
        'run_type': 'iteration',
        'size': 262144.0,
        'threads': 1,
        'time_unit': 'ns'},
      

      Currently, Archery doesn't expose the execution time in its json results though. For example:

                      {
                          "name": "TakeStringRandomIndicesWithNulls/262144/2",
                          "unit": "items_per_second",
                          "less_is_better": false,
                          "values": [
                              20900887.666890558,
                              21737551.30809738,
                              21872425.314689018
                          ]
                      }
      

      This pull request updates Archery to expose the real time as well. For example:

                      {
                          "name": "TakeStringRandomIndicesWithNulls/262144/2",
                          "unit": "items_per_second",
                          "less_is_better": false,
                          "values": [
                              20900887.666890558,
                              21737551.30809738,
                              21872425.314689018
                          ],
                          "time_unit": "ns",
                          "times": [
                              34939132.454438195,
                              44459594.18080747,
                              46606865.63566384
                          ]
                      }
      

      Motivation: I am persisting these results and would also like to store the execution time to debug slow benchmarks.

      Attachments

        Issue Links

          Activity

            People

              dianaclarke Diana Clarke
              dianaclarke Diana Clarke
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2.5h
                  2.5h