Back

Explore Courses Blog Tutorials Interview Questions
0 votes
3 views
in Data Science by (18.4k points)

I am working on a jupyter notebook, I am trying to measure the performance of the code by using the  %%timeit -o. Once done I am extracting the value to measured that time and error. Then storing them separately.

I used the res = _  this will return the string 

<TimeitResult : 248 ms ± 27.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)>

Then I tried to use the regular expression to parse. The code is as follows:

timeitResult = res

errorPattern = '±(.*)ms'

measurePattern = ':(.*)s'

error_search = re.search(errorPattern, timeitResult , re.IGNORECASE)

if error_search:

    error= error_search.group(1)

measure_search = re.search(measurePattern , timeitResult , re.IGNORECASE)

if measure_search :

    measure = measure_search .group(1)

print(float(error), float(measure))

I am only getting the error not the value link this:

(27.7, 27.7)

Can anyone help me solve it?

1 Answer

0 votes
by (36.8k points)

To get the TimeitResult you need to parse the string. Use the -o flag:

In [2]: %%timeit -o  

   ...: x = 10 

   ...:  

   ...:                                        

12.3 ns ± 2.05 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)

Out[2]: <TimeitResult : 12.3 ns ± 2.05 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)>

In [3]: _                                                                          

Out[3]: <TimeitResult : 12.3 ns ± 2.05 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)>

In [4]: result = _                                                                          

In [5]: result.best                                                                         

Out[5]: 1.0763427159999991e-08

In [7]: vars(result)                                     

Out[7]: 

{'loops': 100000000,

 'repeat': 7,

 'best': 1.0466937350001899e-08,

 'worst': 1.0813086899997871e-08,

 'all_runs': [1.0537269180003932,

  1.081308689999787,

  1.053099127999758,

  1.0665047210000012,

  1.04669373500019,

  1.0689385099999527,

  1.0753222759999517],

 'compile_time': 0.00016100000000007775,

 '_precision': 3,

 'timings': [1.0537269180003931e-08,

  1.0813086899997871e-08,

  1.0530991279997579e-08,

  1.0665047210000011e-08,

  1.0466937350001899e-08,

  1.0689385099999526e-08,

  1.0753222759999516e-08]}

In [9]: result.average                                  

Out[9]: 1.0636562825714333e-08

In [10]: result.stdev                                  

Out[10]: 1.1841164471696355e-10

If you are a beginner and want to know more about Data Science the do check out the Data Science course

Browse Categories

...