Skip to content
Snippets Groups Projects
Select Git revision
  • 18883a93b795da6409beeddf2c6ce34ce8234cb0
  • master default protected
  • android-7.1.2_r28_klist
  • pie-cts-release
  • pie-vts-release
  • pie-cts-dev
  • oreo-mr1-iot-release
  • sdk-release
  • oreo-m6-s4-release
  • oreo-m4-s12-release
  • pie-release
  • pie-r2-release
  • pie-r2-s1-release
  • oreo-vts-release
  • oreo-cts-release
  • oreo-dev
  • oreo-mr1-dev
  • pie-gsi
  • pie-platform-release
  • pie-dev
  • oreo-cts-dev
  • android-o-mr1-iot-release-1.0.4
  • android-9.0.0_r8
  • android-9.0.0_r7
  • android-9.0.0_r6
  • android-9.0.0_r5
  • android-8.1.0_r46
  • android-8.1.0_r45
  • android-n-iot-release-smart-display-r2
  • android-vts-8.1_r5
  • android-cts-8.1_r8
  • android-cts-8.0_r12
  • android-cts-7.1_r20
  • android-cts-7.0_r24
  • android-o-mr1-iot-release-1.0.3
  • android-cts-9.0_r1
  • android-8.1.0_r43
  • android-8.1.0_r42
  • android-n-iot-release-smart-display
  • android-p-preview-5
  • android-9.0.0_r3
41 results

file_contexts

Blame
    • Jeff Vander Stoep's avatar
      e8a53dff
      resurrect camera_device · e8a53dff
      Jeff Vander Stoep authored
      With the breakup of mediaserver, distinguishing between
      camera_device and video_device is meaningful. Only grant
      cameraserver access to camera_device.
      
      Bug: 28359909
      Change-Id: I0ae12f87bac8a5c912f0a693d1d56a8d5af7f3f3
      e8a53dff
      History
      resurrect camera_device
      Jeff Vander Stoep authored
      With the breakup of mediaserver, distinguishing between
      camera_device and video_device is meaningful. Only grant
      cameraserver access to camera_device.
      
      Bug: 28359909
      Change-Id: I0ae12f87bac8a5c912f0a693d1d56a8d5af7f3f3
    larson.py 2.42 KiB
    import matplotlib.pyplot as plt
    import multiprocessing
    import numpy as np
    import os
    import re
    
    from benchmark import Benchmark
    
    throughput_re = re.compile("^Throughput =\s*(?P<throughput>\d+) operations per second.$")
    
    class Benchmark_Larson( Benchmark ):
        def __init__(self):
            self.name = "larson"
            self.descrition = """This benchmark is courtesy of Paul Larson at Microsoft
                                 Research. It simulates a server: each thread allocates
                                 and deallocates objects, and then transfers some objects
                                 (randomly selected) to other threads to be freed."""
    
            self.cmd = "build/larson{binary_suffix} 1 8 {maxsize} 1000 10000 1 {threads}"
    
            self.args = {
                            "maxsize" : [8, 32, 64, 128, 256, 512, 1024],
                            "threads" : range(1, multiprocessing.cpu_count() * 2 + 1)
                        }
    
            self.requirements = ["build/larson"]
            super().__init__()
    
        def process_stdout(self, result, stdout, verbose):
            for l in stdout.splitlines():
                res = throughput_re.match(l)
                if res:
                    result["throughput"] = int(res.group("throughput"))
                    return
            print(stdout)
            print("no match")
    
        def summary(self, sd=None):
            # Speedup thrash
            args = self.results["args"]
            nthreads = args["threads"]
            targets = self.results["targets"]
    
            sd = sd or ""
    
            for arg in args:
                loose_arg = [a for a in args if a != arg][0]
                for arg_value in args[arg]:
                    for target in targets:
                        y_vals = []
                        for perm in self.iterate_args_fixed({arg : arg_value}, args=args):
                            d = [m["throughput"] for m in self.results[target][perm]]
                            y_vals.append(np.mean(d))
                        x_vals = list(range(1, len(y_vals) + 1))
                        plt.plot(x_vals, y_vals, marker='.', linestyle='-',
                            label=target, color=targets[target]["color"])
                    plt.legend()
                    plt.xticks(x_vals, args[loose_arg])
                    plt.xlabel(loose_arg)
                    plt.ylabel("OPS/s")
                    plt.title("Larson: " + arg + " " + str(arg_value))
                    plt.savefig(os.path.join(sd, ".".join([self.name, arg, str(arg_value), "png"])))
                    plt.clf()
    
    
    larson = Benchmark_Larson()