Example #1
0
def experiment_2():
    pass
    # XP 2:
    nodes_2_n6p = load_experiments(
        100, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "a.20" + "\'"
        })

    nodes_2_n4 = load_experiments(
        100, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "a.20" + "\'"
        })

    sum_2_n4 = 0
    for node in nodes_2_n4:
        sum_2_n4 = sum_2_n4 + int(node.getTimeDuration())
    average_2_n4 = sum_2_n4 / len(nodes_2_n4)
    nodes_2_n4[0].delay = str(average_2_n4)

    sum_2_n6p = 0
    for node in nodes_2_n6p:
        sum_2_n6p = sum_2_n6p + int(node.getTimeDuration())
    average_2_n6p = sum_2_n6p / len(nodes_2_n6p)
    nodes_2_n6p[0].delay = str(average_2_n6p)

    # only averages count
    nodes = [[nodes_2_n4[0]], [nodes_2_n6p[0]]]
    ChartDraw.createChart(nodes, "Responsiveness", "image name and size (KB)",
                          "decode time (ms)")
    def run_respdroid_dummy_data(self, n_iterations):
        print("running respdroid with dummy data")

        # current_experiment_id = atomic_get_experiment_number()
        # resultLists = get_dummy_data(current_experiment_id)

        load_experiments(0)
    def runRespDroid(self, n_iterations):
        print ("in runRespDroid")
        self.check_device_connections()

        if RECORD_RESULTS:
            current_experiment_number = atomic_get_new_experiment_number()
        else:
            current_experiment_number = DEFAULT_EXPERIMENT_ID

        # TODO: result lists should be Plotable
        if RUN_ON_CLIENT:
            result_lists_of_n_iterations = self.run_app_record_logcat_and_return_respnode_list(n_iterations,
                                                                                               current_experiment_number)
            print "APP RUN FINISHED"

        if LOG_VERBOSE:
            for i, result_list in enumerate(result_lists_of_n_iterations):
                print "result list: ", i
                for result in result_list:
                    print result

        # save results in database?
        if RECORD_RESULTS:
            self.store_data(result_lists_of_n_iterations)

            CL_RESPDROID_OPERATION
            # Load the same results from database
            # [ img1_i1d1, ,img1i1d2, ...,] nodes with mixed device, iteration, image values
            loaded_result_list = load_experiments(DatabaseManager.QUERY_LIMIT, current_experiment_number)
                                                  # operation ='\'Image Display\'')

        print "loaded results"
        print len(loaded_result_list)
        print loaded_result_list
        # exit(0)

        # [ #d1 [img1_i1, ,img1i2, , ...]
        #  #d2 [img1_i1, ,img1i2], ...] list of nodes, indexed by device type
        device_sublists = DataPreparation.partition_nodelist_by_device_type_return_sublists(loaded_result_list)

        # [#d1 [img1_mean_std, img2_mean_std, img3_mean_std, ...]
        #  #d2 [img1_mean_std, img2_mean_std, img3_mean_std, ...], ...] same as above, but
        # iterations of the same images have been reduced to 1 image
        mean_std_device_sublists = []
        for device_sublist in device_sublists:
            print "\n device sublist:"
            mean_std_device_sublist = DataPreparation.reduce_respnode_n_iterations_to_plotables(device_sublist)
            mean_std_device_sublists.append(mean_std_device_sublist)

        mean_std_device_sublists = DataPreparation.sort_nodelists_by_megapixels(mean_std_device_sublists)
        # print "result_lists:", result_lists
        # print "loaded_result_list:", loaded_result_list

        if DRAW_CHART:
            ChartDraw.plot_with_error_bars(mean_std_device_sublists,
                                           "Responsiveness", "image name and megapixels", "decode time (ms)")
Example #4
0
def experiment_1():
    pass
    # # XP1:
    nodes_1 = load_experiments(
        10, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "b.20" + "\'"
        })

    ChartDraw.create_box_chart_x1(nodes_1, "Respdroid Statistics",
                                  "size in KB", "operation delay")
Example #5
0
def experiment3():
    # pass
    #
    # # XP 3:
    # #N6
    nodes_2_n6p_a20 = load_experiments(
        20, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "a.20" + "\'"
        })
    nodes_2_n6p_b40 = load_experiments(
        20, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "b.40" + "\'"
        })
    nodes_2_n6p_b60 = load_experiments(
        20, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "b.60" + "\'"
        })
    nodes_2_n6p_c80 = load_experiments(
        20, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "c.80" + "\'"
        })

    nodes_2_n6p_b1100 = load_experiments(
        20, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "b1.100" + "\'"
        })
    # N4:
    nodes_2_n4_a20 = load_experiments(
        20, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "a.20" + "\'"
        })
    nodes_2_n4_b40 = load_experiments(
        20, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "b.40" + "\'"
        })
    nodes_2_n4_b60 = load_experiments(
        20, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "b.60" + "\'"
        })
    nodes_2_n4_c80 = load_experiments(
        20, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "c.80" + "\'"
        })

    nodes_2_n4_b1_100 = load_experiments(
        20, **{
            DatabaseManager.CL_RESPDROID_DEVICE:
            "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
            DatabaseManager.CL_RESPDROID_IMG_BASE:
            "\'" + "b1.100" + "\'"
        })

    n4s = [
        get_average_in_one_node(nodes_2_n4_b1_100),
        get_average_in_one_node(nodes_2_n4_b40),
        get_average_in_one_node(nodes_2_n4_c80),
        get_average_in_one_node(nodes_2_n4_a20),
        get_average_in_one_node(nodes_2_n4_b60)
    ]

    n6ps = [
        get_average_in_one_node(nodes_2_n6p_b1100),
        get_average_in_one_node(nodes_2_n6p_b40),
        get_average_in_one_node(nodes_2_n6p_c80),
        get_average_in_one_node(nodes_2_n6p_a20),
        get_average_in_one_node(nodes_2_n6p_b60)
    ]

    # only averages count
    nodes = [n4s, n6ps]
    ChartDraw.createChart(nodes, "Responsiveness", "image name and size (KB)",
                          "decode time (ms)")
    def load_results_for_experiment_4(self):
        nodes_2_n6p_a20 = load_experiments(20, **{DatabaseManager.CL_RESPDROID_DEVICE:
                                                      "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
                                                  DatabaseManager.CL_RESPDROID_IMG_BASE: "\'" + "a.20" + "\'"
                                                  }
                                           )
        nodes_2_n6p_b40 = load_experiments(20, **{DatabaseManager.CL_RESPDROID_DEVICE:
                                                      "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
                                                  DatabaseManager.CL_RESPDROID_IMG_BASE: "\'" + "b.40" + "\'"
                                                  }
                                           )
        nodes_2_n6p_b60 = load_experiments(20, **{DatabaseManager.CL_RESPDROID_DEVICE:
                                                      "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
                                                  DatabaseManager.CL_RESPDROID_IMG_BASE: "\'" + "b.60" + "\'"
                                                  }
                                           )
        nodes_2_n6p_c80 = load_experiments(20, **{DatabaseManager.CL_RESPDROID_DEVICE:
                                                      "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
                                                  DatabaseManager.CL_RESPDROID_IMG_BASE: "\'" + "c.80" + "\'"
                                                  }
                                           )
        nodes_2_n6p_b1100 = load_experiments(20, **{DatabaseManager.CL_RESPDROID_DEVICE:
                                                        "\'" + DeviceInfo.DEVICE_NEXUS_6P + "\'",
                                                    DatabaseManager.CL_RESPDROID_IMG_BASE: "\'" + "b1.100" + "\'"
                                                    }

                                             )
        # N4:
        nodes_2_n4_a20 = load_experiments(20, **{DatabaseManager.CL_RESPDROID_DEVICE:
                                                     "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
                                                 DatabaseManager.CL_RESPDROID_IMG_BASE: "\'" + "a.20" + "\'"
                                                 }
                                          )
        nodes_2_n4_b40 = load_experiments(20, **{DatabaseManager.CL_RESPDROID_DEVICE:
                                                     "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
                                                 DatabaseManager.CL_RESPDROID_IMG_BASE: "\'" + "b.40" + "\'"
                                                 }
                                          )
        nodes_2_n4_b60 = load_experiments(20, **{DatabaseManager.CL_RESPDROID_DEVICE:
                                                     "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
                                                 DatabaseManager.CL_RESPDROID_IMG_BASE: "\'" + "b.60" + "\'"
                                                 }
                                          )
        nodes_2_n4_c80 = load_experiments(20, **{DatabaseManager.CL_RESPDROID_DEVICE:
                                                     "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
                                                 DatabaseManager.CL_RESPDROID_IMG_BASE: "\'" + "c.80" + "\'"
                                                 }
                                          )
        nodes_2_n4_b1_100 = load_experiments(20, **{DatabaseManager.CL_RESPDROID_DEVICE:
                                                        "\'" + DeviceInfo.DEVICE_NEXUS_4 + "\'",
                                                    DatabaseManager.CL_RESPDROID_IMG_BASE: "\'" + "b1.100" + "\'"
                                                    }

                                             )
        n4s = [get_average_in_one_node(nodes_2_n4_b1_100), get_average_in_one_node(nodes_2_n4_b40),
               get_average_in_one_node(nodes_2_n4_c80), get_average_in_one_node(nodes_2_n4_a20),
               get_average_in_one_node(nodes_2_n4_b60)
               ]
        n6ps = [get_average_in_one_node(nodes_2_n6p_b1100),
                get_average_in_one_node(nodes_2_n6p_b40),
                get_average_in_one_node(nodes_2_n6p_c80),
                get_average_in_one_node(nodes_2_n6p_a20),
                get_average_in_one_node(nodes_2_n6p_b60)
                ]
        # only averages count
        nodes = [n4s, n6ps]
        return nodes