timer.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:ComplexityEstimator 作者: marwin1991 项目源码 文件源码
def measure_time(self):
        logger = init_logger("measure_time")
        logger.info("Begin measure time")
        loaded_module = SourceFileLoader(
            self.module_name,
            self.path_to_module).load_module()
        all_functions = inspect.getmembers(loaded_module, inspect.isfunction)

        fun_names = []
        for i in all_functions:
            fun_names.append(i[0])

        if self.function_to_measure.split("(")[0] not in fun_names:
            logger.info("ArgFunNameError raised because "
                        "of no function with this name")
            logger.debug(self.function_to_measure.split("(")[0])
            logger.debug(all_functions)
            raise ArgFunNameError

        returns_values_list = []
        init_struct_code_copy = self.init_struct_code
        for i in range(0, self.repeats):
            setup = "from {0} import {1}; {2}"\
                .format(self.module_name, self.function_to_measure.split("(")[0],
                        init_struct_code_copy)

            @exit_after(self.timeout)
            def __inside_measure():

                returns_values_list.append(
                    timeit.timeit(self.function_to_measure, setup=setup,
                                  number=1))
            __inside_measure()
            logger.debug(init_struct_code_copy)
            logger.info("Times loop: " + str(i))
            init_struct_code_copy = add_step(init_struct_code_copy, self.step)
        logger.info(returns_values_list)
        logger.info("End measure time")
        return returns_values_list
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号