Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
block mutation of read-only array in series #14359
Conversation
|
regarding the travis failure: do you cache the compilation accross the runs? I noticed that I needed to ensure that the |
|
Here's the PR where caching was added/modified I don't really know how it works, but it doesn't seem to check |
|
Working on this in #14363 |
| @@ -79,3 +79,6 @@ Performance Improvements | ||
| Bug Fixes | ||
| ~~~~~~~~~ | ||
| + | ||
| +- Bug in ``Series.__setitem__`` which allowed mutating arrays read-only arrays |
| @@ -59,6 +59,10 @@ cdef inline object get_value_at(ndarray arr, object loc): | ||
| cdef inline set_value_at(ndarray arr, object loc, object value): | ||
| cdef: | ||
| Py_ssize_t i, sz | ||
| + | ||
| + if not cnp.PyArray_ISWRITEABLE(arr): |
jreback
Oct 6, 2016
Contributor
I think this needs to be in the dependency chain in setup.py (for all cython extesnsion, though you could make more fine-grained if you want)
| @@ -59,6 +59,10 @@ cdef inline object get_value_at(ndarray arr, object loc): | ||
| cdef inline set_value_at(ndarray arr, object loc, object value): | ||
| cdef: | ||
| Py_ssize_t i, sz | ||
| + | ||
| + if not cnp.PyArray_ISWRITEABLE(arr): |
jreback
Oct 6, 2016
Contributor
This might actuallly be a performance hit. This routines is called in a lot of places. can you do some simple tests.
jreback
Oct 6, 2016
Contributor
I might put this at a higher level with a single check per-array (and not on an individual set, even though that is technically more correct).
llllllllll
Oct 6, 2016
Contributor
Sure, I will profile this to see. There is a lot of python code happening in __setitem__ so I think that will drown the hit here. This is just a macro that does a bitwise and on the flags so the real cost is dereferencing the array, but we need to do that later in the function anyways.
llllllllll
Oct 6, 2016
Contributor
It looks like this may actually be slowing things down slightly. I will see if I can make up that time somewhere else. If we cache at a per-array level then what should be do if someone changes the flags on the underlying array between setitem calls?
llllllllll
Oct 6, 2016
Contributor
Okay, I profiled __setitem__ to see if I could make back the time I was adding to the write, I think I have come up with something reasonable here. My changes remove a getattr and a builtin lookup which were measurable amounts of the call times. I confimed that with cProfile and line_profile and tested my changes with perf.
master
........................................
Metadata:
- aslr: Full randomization
- boot_time: 2016-10-03T11:28:53
- cpu_config: 0-3=driver:intel_pstate, intel_pstate:turbo, governor:powersave; idle:intel_idle
- cpu_count: 4
- cpu_model_name: Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz
- hostname: funami
- loops: 2^15
- name: timeit
- perf_version: 0.7.12
- platform: Linux-4.7.5-1-ARCH-x86_64-with-arch
- python_cflags: -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
- python_executable: /home/yui/.virtualenvs/databazaar/bin/python
- python_implementation: cpython
- python_version: 3.4.3 (64-bit) revision b4cbecbc0781
- timeit_setup: 'import pandas as pd;s = pd.Series([1, 2, 3])'
- timeit_stmt: 's[0] = 1'
- timer: clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns
Run 1: warmup (36): 579 us (+13803%), 37.9 us (+812%), 18.1 us (+334%), 13.6 us (+227%), 10.9 us (+161%), 10.2 us (+145%), 8.81 us (+112%), 14.7 us (+253%), 6.76 us (+62%), 4.40 us (+6%), 4.21 us, 4.25 us, 4.44 us (+7%), 6.34 us (+52%), 4.01 us, 6.79 us (+63%), 4.37 us (+5%), 4.11 us, 4.64 us (+12%), 4.21 us, 4.08 us, 4.04 us, 4.11 us, 4.13 us, 4.08 us, 4.06 us, 4.09 us, 4.15 us, 4.12 us, 4.07 us, 4.13 us, 4.08 us, 4.09 us, 4.07 us, 4.10 us, 4.09 us; samples (50): 4.37 us (+5%), 4.72 us (+13%), 4.63 us (+11%), 4.13 us, 4.19 us, 4.11 us, 4.08 us, 4.06 us, 4.06 us, 4.08 us, 4.33 us, 4.74 us (+14%), 4.64 us (+12%), 4.15 us, 4.08 us, 4.07 us, 4.10 us, 4.16 us, 4.06 us, 4.10 us, 4.12 us, 4.15 us, 4.18 us, 4.12 us, 4.09 us, 4.12 us, 4.09 us, 4.20 us, 4.23 us, 4.17 us, 4.12 us, 4.19 us, 4.15 us, 4.19 us, 4.24 us, 4.18 us, 4.11 us, 4.05 us, 4.15 us, 4.05 us, 4.10 us, 4.08 us, 4.07 us, 4.07 us, 4.11 us, 4.09 us, 4.09 us, 4.07 us, 4.06 us, 4.13 us
Run 2: warmup (20): 3.98 us, 4.06 us, 4.10 us, 4.06 us, 4.09 us, 4.02 us, 4.07 us, 4.06 us, 4.06 us, 4.04 us, 4.08 us, 4.02 us, 4.07 us, 4.05 us, 4.07 us, 4.07 us, 4.07 us, 4.05 us, 4.00 us, 4.04 us; samples (50): 4.08 us, 4.04 us, 4.09 us, 4.10 us, 4.06 us, 4.07 us, 4.12 us, 4.12 us, 4.06 us, 4.08 us, 4.08 us, 4.10 us, 4.07 us, 4.07 us, 4.07 us, 4.04 us, 4.05 us, 4.10 us, 4.06 us, 4.01 us, 4.06 us, 4.07 us, 4.10 us, 4.11 us, 4.12 us, 4.11 us, 4.08 us, 4.12 us, 4.14 us, 4.14 us, 4.16 us, 4.13 us, 4.06 us, 4.07 us, 4.05 us, 4.08 us, 4.05 us, 4.06 us, 4.03 us, 4.05 us, 3.99 us, 4.06 us, 4.01 us, 4.04 us, 4.07 us, 4.13 us, 4.04 us, 4.04 us, 4.09 us, 4.03 us
Run 3: warmup (20): 4.06 us, 4.10 us, 4.19 us, 4.14 us, 4.12 us, 4.16 us, 4.07 us, 4.08 us, 4.17 us, 4.12 us, 4.11 us, 4.13 us, 4.12 us, 4.12 us, 4.09 us, 4.09 us, 4.10 us, 4.20 us, 4.10 us, 4.10 us; samples (50): 4.09 us, 4.09 us, 4.11 us, 4.10 us, 4.08 us, 4.10 us, 4.10 us, 4.08 us, 4.06 us, 4.12 us, 4.16 us, 4.12 us, 4.12 us, 4.19 us, 4.17 us, 4.13 us, 4.12 us, 4.14 us, 4.12 us, 4.08 us, 4.06 us, 4.14 us, 4.08 us, 4.10 us, 4.15 us, 4.14 us, 4.11 us, 4.19 us, 4.12 us, 4.16 us, 4.14 us, 4.13 us, 4.11 us, 4.09 us, 4.10 us, 4.14 us, 4.20 us, 4.10 us, 4.11 us, 4.10 us, 4.09 us, 4.11 us, 4.12 us, 4.08 us, 4.07 us, 4.07 us, 4.10 us, 4.08 us, 4.07 us, 4.11 us
Run 4: warmup (20): 3.99 us, 4.02 us, 4.07 us, 4.54 us (+9%), 5.09 us (+22%), 4.58 us (+10%), 3.99 us, 4.02 us, 3.96 us, 4.01 us, 4.03 us, 4.02 us, 4.01 us, 4.02 us, 4.02 us, 4.02 us, 4.13 us, 4.04 us, 4.72 us (+13%), 4.03 us; samples (50): 3.96 us, 4.01 us, 4.00 us, 3.97 us, 3.99 us, 4.01 us, 3.99 us, 3.98 us, 4.20 us, 4.01 us, 3.99 us, 4.00 us, 4.12 us, 4.00 us, 4.01 us, 3.97 us, 3.96 us, 4.04 us, 4.01 us, 4.02 us, 4.06 us, 4.00 us, 4.09 us, 4.79 us (+15%), 5.80 us (+39%), 6.24 us (+50%), 5.94 us (+43%), 5.88 us (+41%), 6.07 us (+46%), 5.93 us (+43%), 5.54 us (+33%), 5.78 us (+39%), 5.03 us (+21%), 4.87 us (+17%), 5.47 us (+31%), 6.10 us (+47%), 5.62 us (+35%), 4.84 us (+16%), 4.84 us (+16%), 4.72 us (+14%), 4.49 us (+8%), 5.38 us (+29%), 4.73 us (+14%), 4.88 us (+17%), 4.87 us (+17%), 4.98 us (+20%), 4.97 us (+19%), 5.20 us (+25%), 4.90 us (+18%), 5.97 us (+43%)
Run 5: warmup (20): 6.90 us (+66%), 5.43 us (+30%), 5.60 us (+35%), 5.76 us (+38%), 5.98 us (+44%), 5.64 us (+36%), 5.16 us (+24%), 4.36 us, 4.58 us (+10%), 4.41 us (+6%), 4.38 us (+5%), 4.32 us, 4.33 us, 4.34 us, 4.31 us, 4.37 us (+5%), 4.42 us (+6%), 4.33 us, 4.64 us (+12%), 5.09 us (+22%); samples (50): 4.55 us (+9%), 4.32 us, 4.30 us, 4.31 us, 4.33 us, 4.31 us, 4.19 us, 4.17 us, 4.31 us, 4.48 us (+8%), 4.29 us, 4.43 us (+7%), 4.33 us, 4.33 us, 4.31 us, 4.33 us, 4.40 us (+6%), 4.33 us, 4.75 us (+14%), 4.38 us (+5%), 4.31 us, 4.44 us (+7%), 4.36 us, 4.45 us (+7%), 4.33 us, 4.34 us, 4.28 us, 4.30 us, 4.46 us (+7%), 4.37 us (+5%), 4.32 us, 4.36 us, 4.33 us, 4.33 us, 4.37 us (+5%), 4.34 us, 4.16 us, 4.21 us, 4.25 us, 4.29 us, 4.22 us, 4.32 us, 4.36 us, 4.22 us, 4.18 us, 4.27 us, 4.24 us, 4.19 us, 4.12 us, 4.17 us
Run 6: warmup (20): 4.23 us, 4.25 us, 4.28 us, 4.21 us, 4.23 us, 4.23 us, 4.21 us, 4.25 us, 4.25 us, 4.24 us, 4.27 us, 4.20 us, 4.21 us, 4.25 us, 4.31 us, 4.21 us, 4.25 us, 4.21 us, 4.47 us (+8%), 4.27 us; samples (50): 4.26 us, 4.21 us, 4.87 us (+17%), 5.10 us (+22%), 4.32 us, 4.25 us, 4.22 us, 4.22 us, 4.21 us, 4.32 us, 4.19 us, 4.20 us, 4.27 us, 4.22 us, 4.26 us, 4.19 us, 4.18 us, 4.23 us, 4.20 us, 4.19 us, 4.22 us, 4.22 us, 4.26 us, 4.19 us, 4.23 us, 4.22 us, 4.18 us, 4.19 us, 4.19 us, 4.18 us, 4.21 us, 4.20 us, 4.17 us, 4.15 us, 4.17 us, 4.16 us, 4.20 us, 4.21 us, 4.23 us, 4.17 us, 4.21 us, 4.11 us, 4.18 us, 4.22 us, 4.16 us, 4.17 us, 4.15 us, 4.16 us, 4.17 us, 4.16 us
Run 7: warmup (20): 4.13 us, 4.12 us, 4.15 us, 4.24 us, 4.05 us, 4.70 us (+13%), 4.07 us, 4.07 us, 4.07 us, 4.04 us, 4.07 us, 4.09 us, 4.05 us, 4.10 us, 4.20 us, 4.09 us, 4.08 us, 4.13 us, 4.08 us, 4.07 us; samples (50): 4.08 us, 4.10 us, 4.07 us, 4.08 us, 4.07 us, 4.07 us, 4.10 us, 4.12 us, 4.13 us, 4.14 us, 4.05 us, 4.12 us, 4.11 us, 4.07 us, 4.14 us, 4.11 us, 4.11 us, 4.11 us, 4.12 us, 4.11 us, 4.70 us (+13%), 4.13 us, 4.09 us, 4.07 us, 4.21 us, 4.17 us, 4.19 us, 4.16 us, 4.15 us, 4.20 us, 4.19 us, 4.17 us, 4.17 us, 4.20 us, 4.18 us, 4.19 us, 4.15 us, 4.13 us, 4.12 us, 4.16 us, 4.10 us, 4.10 us, 4.11 us, 4.19 us, 4.53 us (+9%), 4.59 us (+10%), 4.10 us, 4.13 us, 4.08 us, 4.08 us
Run 8: warmup (20): 3.95 us (-5%), 4.01 us, 3.96 us, 3.91 us (-6%), 3.93 us (-6%), 3.90 us (-6%), 3.98 us, 3.93 us (-6%), 3.90 us (-6%), 3.92 us (-6%), 3.88 us (-7%), 3.94 us (-5%), 3.97 us, 3.93 us (-6%), 3.91 us (-6%), 3.91 us (-6%), 3.91 us (-6%), 3.96 us, 3.95 us (-5%), 3.94 us (-5%); samples (50): 3.98 us, 3.93 us (-6%), 3.93 us (-6%), 3.93 us (-6%), 3.89 us (-6%), 3.93 us (-6%), 3.95 us, 3.93 us (-6%), 3.88 us (-7%), 3.93 us (-6%), 3.94 us (-5%), 3.91 us (-6%), 3.92 us (-6%), 3.93 us (-6%), 3.97 us, 3.96 us, 3.99 us, 3.99 us, 3.94 us (-5%), 3.92 us (-6%), 3.99 us, 3.91 us (-6%), 3.95 us, 3.96 us, 3.96 us, 4.24 us, 3.99 us, 3.98 us, 3.96 us, 3.94 us (-5%), 3.95 us, 3.94 us (-5%), 3.96 us, 3.95 us (-5%), 3.96 us, 3.94 us (-5%), 3.93 us (-5%), 3.94 us (-5%), 3.90 us (-6%), 3.93 us (-6%), 4.36 us, 4.29 us, 3.91 us (-6%), 3.92 us (-6%), 4.02 us, 3.89 us (-6%), 3.92 us (-6%), 3.89 us (-7%), 3.86 us (-7%), 3.90 us (-6%)
Run 9: warmup (20): 4.09 us, 4.26 us, 4.38 us (+5%), 4.87 us (+17%), 4.72 us (+13%), 4.66 us (+12%), 4.67 us (+12%), 4.97 us (+19%), 5.02 us (+21%), 4.77 us (+15%), 4.73 us (+14%), 4.70 us (+13%), 4.79 us (+15%), 4.25 us, 4.19 us, 4.16 us, 4.29 us, 4.21 us, 4.20 us, 4.12 us; samples (50): 4.16 us, 4.72 us (+13%), 4.07 us, 4.15 us, 4.07 us, 4.11 us, 4.09 us, 4.44 us (+7%), 4.32 us, 4.12 us, 4.11 us, 4.09 us, 4.12 us, 4.03 us, 4.13 us, 4.20 us, 4.47 us (+7%), 4.17 us, 4.01 us, 4.07 us, 4.06 us, 4.06 us, 4.07 us, 4.12 us, 4.04 us, 4.35 us, 4.03 us, 4.11 us, 4.10 us, 4.21 us, 4.08 us, 4.05 us, 4.07 us, 4.05 us, 4.11 us, 4.07 us, 4.09 us, 4.03 us, 4.11 us, 4.08 us, 4.03 us, 4.08 us, 4.13 us, 4.11 us, 4.05 us, 4.06 us, 4.02 us, 4.12 us, 4.07 us, 4.10 us
Run 10: warmup (20): 4.06 us, 4.14 us, 4.18 us, 4.14 us, 4.11 us, 4.21 us, 4.15 us, 4.13 us, 4.10 us, 4.16 us, 4.16 us, 4.18 us, 4.18 us, 4.22 us, 4.24 us, 4.16 us, 4.20 us, 4.09 us, 4.11 us, 4.11 us; samples (50): 4.09 us, 4.12 us, 4.12 us, 4.10 us, 4.07 us, 4.12 us, 4.04 us, 4.12 us, 4.10 us, 4.11 us, 4.12 us, 4.08 us, 4.08 us, 4.15 us, 4.13 us, 4.07 us, 4.10 us, 4.12 us, 4.10 us, 4.12 us, 4.10 us, 4.17 us, 4.12 us, 4.11 us, 4.12 us, 4.15 us, 4.11 us, 4.13 us, 4.15 us, 4.14 us, 4.13 us, 4.13 us, 4.15 us, 4.14 us, 4.10 us, 4.07 us, 4.08 us, 4.09 us, 4.07 us, 4.07 us, 4.09 us, 4.09 us, 4.12 us, 4.10 us, 4.13 us, 4.09 us, 4.07 us, 4.06 us, 4.07 us, 4.07 us
Run 11: warmup (20): 3.88 us (-7%), 3.97 us, 4.02 us, 4.00 us, 4.03 us, 4.01 us, 4.02 us, 4.03 us, 5.91 us (+42%), 6.05 us (+45%), 5.71 us (+37%), 4.88 us (+17%), 5.08 us (+22%), 5.01 us (+20%), 5.24 us (+26%), 5.06 us (+22%), 5.07 us (+22%), 5.20 us (+25%), 5.20 us (+25%), 5.31 us (+28%); samples (50): 5.07 us (+22%), 5.15 us (+24%), 5.21 us (+25%), 5.15 us (+24%), 5.11 us (+23%), 4.90 us (+18%), 5.17 us (+24%), 5.52 us (+33%), 5.22 us (+25%), 5.31 us (+27%), 5.64 us (+36%), 5.26 us (+26%), 8.55 us (+105%), 6.71 us (+61%), 4.04 us, 4.32 us, 4.31 us, 4.19 us, 4.12 us, 4.08 us, 4.12 us, 4.30 us, 4.12 us, 4.17 us, 4.10 us, 4.08 us, 4.15 us, 4.08 us, 4.44 us (+7%), 4.52 us (+9%), 4.16 us, 4.09 us, 3.99 us, 3.97 us, 3.97 us, 4.01 us, 4.06 us, 3.95 us (-5%), 3.95 us (-5%), 3.99 us, 3.98 us, 3.98 us, 3.97 us, 3.96 us, 3.94 us (-5%), 3.91 us (-6%), 3.96 us, 3.93 us (-6%), 3.91 us (-6%), 3.94 us (-5%)
Run 12: warmup (20): 3.94 us (-5%), 4.06 us, 4.04 us, 4.05 us, 4.02 us, 4.09 us, 4.06 us, 4.02 us, 4.05 us, 4.00 us, 4.05 us, 4.51 us (+8%), 4.44 us (+7%), 4.05 us, 4.31 us, 4.57 us (+10%), 4.49 us (+8%), 4.23 us, 4.05 us, 4.00 us; samples (50): 4.06 us, 4.04 us, 4.00 us, 4.01 us, 4.04 us, 3.98 us, 4.01 us, 3.98 us, 4.07 us, 3.98 us, 4.00 us, 4.04 us, 4.00 us, 4.03 us, 3.99 us, 4.03 us, 3.96 us, 4.02 us, 3.98 us, 4.05 us, 4.01 us, 4.01 us, 3.98 us, 4.04 us, 3.97 us, 3.98 us, 4.06 us, 3.98 us, 4.03 us, 4.01 us, 4.07 us, 4.06 us, 4.05 us, 4.07 us, 4.01 us, 3.96 us, 4.04 us, 4.03 us, 4.08 us, 4.05 us, 4.01 us, 3.98 us, 4.01 us, 4.04 us, 4.01 us, 4.08 us, 4.03 us, 4.00 us, 4.02 us, 4.03 us
Run 13: warmup (20): 4.11 us, 4.22 us, 4.19 us, 4.20 us, 4.20 us, 4.17 us, 4.18 us, 4.19 us, 4.21 us, 4.14 us, 4.14 us, 4.19 us, 4.18 us, 4.21 us, 4.17 us, 4.17 us, 4.19 us, 4.16 us, 4.14 us, 4.12 us; samples (50): 4.17 us, 4.12 us, 4.10 us, 4.07 us, 4.07 us, 4.12 us, 4.16 us, 4.11 us, 4.08 us, 4.12 us, 4.14 us, 4.15 us, 4.16 us, 4.17 us, 4.17 us, 4.18 us, 4.15 us, 4.20 us, 4.11 us, 4.09 us, 4.10 us, 4.14 us, 4.16 us, 4.17 us, 4.16 us, 4.18 us, 4.10 us, 4.11 us, 4.09 us, 4.11 us, 4.08 us, 4.10 us, 4.10 us, 4.13 us, 4.14 us, 4.19 us, 4.20 us, 4.08 us, 4.21 us, 4.06 us, 4.07 us, 4.16 us, 4.16 us, 4.13 us, 4.18 us, 4.20 us, 4.18 us, 4.11 us, 4.12 us, 4.11 us
Run 14: warmup (20): 4.42 us (+6%), 4.45 us (+7%), 4.49 us (+8%), 4.47 us (+7%), 4.40 us (+6%), 4.46 us (+7%), 4.47 us (+7%), 4.45 us (+7%), 4.43 us (+7%), 4.41 us (+6%), 4.45 us (+7%), 4.47 us (+7%), 4.40 us (+6%), 4.43 us (+6%), 4.42 us (+6%), 4.49 us (+8%), 4.44 us (+7%), 4.40 us (+6%), 4.40 us (+6%), 4.37 us (+5%); samples (50): 4.38 us (+5%), 4.40 us (+6%), 4.34 us, 4.31 us, 4.41 us (+6%), 4.32 us, 4.41 us (+6%), 4.31 us, 4.29 us, 4.34 us, 4.37 us (+5%), 4.30 us, 4.30 us, 4.42 us (+6%), 4.42 us (+6%), 4.37 us (+5%), 4.41 us (+6%), 4.43 us (+6%), 4.38 us (+5%), 4.41 us (+6%), 4.43 us (+6%), 4.48 us (+8%), 4.45 us (+7%), 4.45 us (+7%), 4.47 us (+7%), 4.45 us (+7%), 4.37 us (+5%), 5.25 us (+26%), 5.45 us (+31%), 4.43 us (+6%), 4.54 us (+9%), 4.63 us (+11%), 4.38 us (+5%), 4.42 us (+6%), 4.43 us (+7%), 4.42 us (+6%), 4.44 us (+7%), 4.40 us (+6%), 4.41 us (+6%), 4.54 us (+9%), 4.42 us (+6%), 4.35 us, 4.42 us (+6%), 4.52 us (+9%), 4.46 us (+7%), 4.43 us (+7%), 4.44 us (+7%), 4.97 us (+19%), 4.43 us (+6%), 4.29 us
Run 15: warmup (20): 4.24 us, 4.25 us, 4.18 us, 4.22 us, 4.17 us, 4.25 us, 4.21 us, 4.30 us, 4.30 us, 4.29 us, 4.24 us, 4.40 us (+6%), 4.23 us, 4.28 us, 4.32 us, 4.28 us, 4.40 us (+6%), 4.30 us, 4.38 us (+5%), 4.27 us; samples (50): 4.29 us, 4.26 us, 4.30 us, 4.33 us, 4.24 us, 4.25 us, 4.26 us, 4.29 us, 4.29 us, 4.29 us, 4.38 us (+5%), 4.32 us, 4.32 us, 4.38 us (+5%), 4.28 us, 4.26 us, 4.30 us, 4.22 us, 4.26 us, 4.35 us, 4.28 us, 4.23 us, 4.23 us, 4.22 us, 4.27 us, 4.31 us, 4.25 us, 4.28 us, 4.27 us, 4.31 us, 4.30 us, 4.32 us, 4.28 us, 4.20 us, 4.26 us, 4.30 us, 4.20 us, 4.21 us, 4.19 us, 4.21 us, 4.24 us, 4.19 us, 4.26 us, 4.29 us, 4.25 us, 4.33 us, 4.28 us, 4.31 us, 4.41 us (+6%), 4.29 us
Run 16: warmup (20): 4.01 us, 4.10 us, 4.08 us, 4.07 us, 4.09 us, 4.09 us, 4.05 us, 4.13 us, 4.07 us, 4.06 us, 4.06 us, 4.00 us, 4.08 us, 4.10 us, 4.06 us, 4.08 us, 4.07 us, 4.24 us, 4.10 us, 4.08 us; samples (50): 4.06 us, 4.11 us, 4.08 us, 4.06 us, 4.08 us, 4.18 us, 4.15 us, 4.01 us, 4.05 us, 4.04 us, 4.05 us, 4.07 us, 4.05 us, 4.07 us, 4.12 us, 4.10 us, 4.06 us, 4.12 us, 4.05 us, 4.02 us, 4.05 us, 4.02 us, 4.09 us, 4.12 us, 4.17 us, 4.15 us, 4.17 us, 4.18 us, 4.23 us, 4.20 us, 4.16 us, 4.10 us, 4.10 us, 4.10 us, 4.21 us, 4.10 us, 4.11 us, 4.00 us, 3.98 us, 4.04 us, 3.98 us, 4.00 us, 4.10 us, 4.14 us, 4.05 us, 4.02 us, 4.00 us, 3.99 us, 3.97 us, 4.05 us
Run 17: warmup (20): 3.96 us, 4.08 us, 4.13 us, 4.13 us, 4.08 us, 4.13 us, 4.18 us, 4.12 us, 4.07 us, 4.13 us, 4.09 us, 4.19 us, 4.10 us, 4.13 us, 4.12 us, 4.10 us, 4.09 us, 4.09 us, 4.02 us, 4.03 us; samples (50): 4.05 us, 4.09 us, 4.06 us, 4.09 us, 4.10 us, 4.11 us, 4.15 us, 4.31 us, 4.14 us, 4.08 us, 4.07 us, 4.08 us, 4.41 us (+6%), 4.84 us (+16%), 4.92 us (+18%), 4.99 us (+20%), 4.07 us, 4.09 us, 4.06 us, 4.30 us, 4.98 us (+20%), 4.56 us (+10%), 4.21 us, 4.07 us, 4.04 us, 4.24 us, 6.99 us (+68%), 5.76 us (+38%), 5.55 us (+33%), 5.10 us (+22%), 5.21 us (+25%), 5.33 us (+28%), 5.16 us (+24%), 5.52 us (+33%), 6.22 us (+49%), 5.94 us (+43%), 5.71 us (+37%), 5.18 us (+24%), 5.26 us (+26%), 5.28 us (+27%), 5.17 us (+24%), 5.45 us (+31%), 5.23 us (+26%), 4.97 us (+19%), 5.39 us (+30%), 5.30 us (+27%), 5.15 us (+24%), 5.27 us (+27%), 5.44 us (+31%), 5.55 us (+33%)
Run 18: warmup (20): 5.94 us (+43%), 5.10 us (+23%), 5.29 us (+27%), 6.49 us (+56%), 5.07 us (+22%), 5.17 us (+24%), 5.20 us (+25%), 4.98 us (+20%), 4.63 us (+11%), 4.22 us, 4.24 us, 4.20 us, 4.21 us, 4.21 us, 4.21 us, 4.20 us, 4.20 us, 4.21 us, 4.19 us, 4.20 us; samples (50): 4.42 us (+6%), 5.17 us (+24%), 4.26 us, 4.19 us, 4.21 us, 4.22 us, 4.16 us, 4.17 us, 4.18 us, 4.18 us, 4.22 us, 4.21 us, 4.17 us, 4.19 us, 4.20 us, 4.15 us, 4.06 us, 4.19 us, 4.21 us, 4.21 us, 4.19 us, 4.19 us, 4.18 us, 4.17 us, 4.20 us, 4.19 us, 4.17 us, 4.25 us, 4.23 us, 4.97 us (+19%), 5.33 us (+28%), 4.20 us, 4.20 us, 4.21 us, 4.19 us, 4.19 us, 4.20 us, 4.19 us, 4.12 us, 4.20 us, 4.11 us, 4.22 us, 4.26 us, 4.20 us, 4.20 us, 4.16 us, 4.15 us, 4.14 us, 4.12 us, 4.15 us
Run 19: warmup (20): 3.95 us (-5%), 5.68 us (+36%), 4.10 us, 4.24 us, 3.99 us, 3.95 us, 3.97 us, 4.02 us, 3.98 us, 3.92 us (-6%), 3.96 us, 3.96 us, 3.93 us (-6%), 3.93 us (-5%), 3.92 us (-6%), 3.95 us (-5%), 3.96 us, 3.95 us (-5%), 3.91 us (-6%), 3.91 us (-6%); samples (50): 3.92 us (-6%), 3.90 us (-6%), 3.89 us (-6%), 3.88 us (-7%), 3.88 us (-7%), 3.91 us (-6%), 3.89 us (-6%), 3.90 us (-6%), 4.98 us (+20%), 3.97 us, 3.98 us, 3.92 us (-6%), 3.90 us (-6%), 3.90 us (-6%), 3.93 us (-6%), 3.99 us, 3.95 us (-5%), 4.18 us, 3.93 us (-5%), 4.43 us (+6%), 4.70 us (+13%), 4.24 us, 4.22 us, 4.29 us, 4.24 us, 4.26 us, 4.27 us, 4.02 us, 4.30 us, 4.07 us, 3.96 us, 4.13 us, 4.94 us (+19%), 4.33 us, 4.01 us, 4.00 us, 4.19 us, 4.58 us (+10%), 4.05 us, 4.00 us, 4.00 us, 3.96 us, 4.10 us, 4.10 us, 4.08 us, 4.14 us, 4.01 us, 4.62 us (+11%), 4.10 us, 4.12 us
Run 20: warmup (20): 5.35 us (+29%), 4.13 us, 4.78 us (+15%), 4.23 us, 4.19 us, 4.60 us (+11%), 4.22 us, 4.28 us, 4.09 us, 3.98 us, 3.94 us (-5%), 3.94 us (-5%), 3.95 us (-5%), 3.97 us, 3.95 us (-5%), 3.98 us, 3.94 us (-5%), 3.96 us, 4.00 us, 3.94 us (-5%); samples (50): 3.97 us, 3.95 us (-5%), 3.94 us (-5%), 3.98 us, 3.93 us (-5%), 4.00 us, 4.09 us, 3.93 us (-6%), 3.91 us (-6%), 3.96 us, 3.94 us (-5%), 3.93 us (-6%), 5.96 us (+43%), 5.13 us (+23%), 3.92 us (-6%), 3.95 us (-5%), 3.97 us, 4.00 us, 3.95 us (-5%), 4.00 us, 3.97 us, 3.98 us, 3.93 us (-5%), 3.98 us, 3.96 us, 3.97 us, 4.01 us, 3.99 us, 3.97 us, 3.98 us, 3.91 us (-6%), 3.87 us (-7%), 3.87 us (-7%), 3.89 us (-7%), 3.87 us (-7%), 3.88 us (-7%), 3.97 us, 3.91 us (-6%), 3.89 us (-7%), 3.88 us (-7%), 3.88 us (-7%), 3.87 us (-7%), 5.58 us (+34%), 5.65 us (+36%), 3.86 us (-7%), 3.93 us (-6%), 3.89 us (-6%), 3.87 us (-7%), 3.87 us (-7%), 3.90 us (-6%)
Run 21: warmup (20): 4.02 us, 4.12 us, 4.11 us, 4.09 us, 4.06 us, 4.10 us, 4.08 us, 4.05 us, 4.01 us, 4.04 us, 4.07 us, 4.13 us, 4.08 us, 4.16 us, 4.09 us, 4.07 us, 4.09 us, 4.10 us, 4.08 us, 4.07 us; samples (50): 4.06 us, 4.10 us, 4.12 us, 4.10 us, 4.13 us, 4.15 us, 4.12 us, 4.12 us, 4.36 us, 4.69 us (+13%), 4.35 us, 4.08 us, 4.44 us (+7%), 4.15 us, 4.06 us, 4.04 us, 4.09 us, 4.09 us, 4.29 us, 4.09 us, 4.06 us, 4.08 us, 4.09 us, 4.08 us, 4.10 us, 4.11 us, 4.07 us, 4.06 us, 4.05 us, 4.05 us, 4.11 us, 4.12 us, 4.03 us, 4.03 us, 4.07 us, 4.10 us, 4.02 us, 4.05 us, 4.00 us, 4.00 us, 4.00 us, 4.00 us, 4.02 us, 4.02 us, 3.99 us, 4.01 us, 4.07 us, 4.04 us, 4.03 us, 3.98 us
Run 22: warmup (20): 4.09 us, 4.13 us, 4.12 us, 4.60 us (+10%), 4.77 us (+15%), 5.14 us (+23%), 4.78 us (+15%), 4.96 us (+19%), 5.02 us (+21%), 5.42 us (+30%), 4.65 us (+12%), 4.70 us (+13%), 4.73 us (+14%), 4.10 us, 4.18 us, 4.08 us, 4.15 us, 4.52 us (+9%), 4.15 us, 4.52 us (+9%); samples (50): 4.08 us, 4.45 us (+7%), 4.12 us, 4.08 us, 4.23 us, 4.17 us, 4.10 us, 4.32 us, 4.15 us, 4.10 us, 4.09 us, 4.12 us, 4.12 us, 4.09 us, 4.12 us, 4.14 us, 4.11 us, 4.10 us, 4.15 us, 4.09 us, 4.12 us, 4.13 us, 4.10 us, 4.10 us, 4.10 us, 4.14 us, 4.07 us, 4.12 us, 4.09 us, 4.14 us, 4.13 us, 4.12 us, 4.10 us, 4.13 us, 4.12 us, 4.09 us, 4.11 us, 4.10 us, 4.09 us, 4.08 us, 4.05 us, 4.06 us, 4.08 us, 4.10 us, 4.09 us, 4.13 us, 4.05 us, 4.08 us, 4.09 us, 4.08 us
Run 23: warmup (20): 4.08 us, 4.11 us, 4.20 us, 4.15 us, 4.36 us, 4.33 us, 4.21 us, 4.07 us, 4.07 us, 4.07 us, 4.10 us, 4.12 us, 4.06 us, 4.17 us, 4.12 us, 4.09 us, 4.11 us, 4.02 us, 4.00 us, 4.01 us; samples (50): 3.99 us, 4.07 us, 4.01 us, 4.02 us, 4.06 us, 4.01 us, 4.06 us, 4.06 us, 4.16 us, 4.15 us, 4.12 us, 4.05 us, 4.05 us, 4.11 us, 4.17 us, 4.24 us, 4.14 us, 4.11 us, 4.11 us, 4.07 us, 4.10 us, 4.10 us, 4.08 us, 4.10 us, 4.12 us, 4.09 us, 4.08 us, 4.07 us, 4.09 us, 4.06 us, 4.08 us, 4.10 us, 4.11 us, 4.10 us, 4.14 us, 4.06 us, 4.12 us, 4.06 us, 4.03 us, 4.08 us, 4.06 us, 4.07 us, 4.10 us, 4.06 us, 4.09 us, 4.11 us, 4.08 us, 4.09 us, 4.10 us, 4.06 us
Run 24: warmup (20): 4.14 us, 4.13 us, 4.23 us, 4.15 us, 4.17 us, 4.20 us, 4.21 us, 4.17 us, 4.17 us, 4.25 us, 4.21 us, 4.71 us (+13%), 5.30 us (+27%), 5.08 us (+22%), 5.15 us (+24%), 6.00 us (+44%), 5.31 us (+28%), 4.85 us (+16%), 5.92 us (+42%), 6.52 us (+57%); samples (50): 5.60 us (+35%), 4.90 us (+18%), 5.00 us (+20%), 5.43 us (+31%), 5.86 us (+41%), 5.12 us (+23%), 4.95 us (+19%), 5.08 us (+22%), 4.97 us (+19%), 5.10 us (+23%), 5.34 us (+28%), 5.39 us (+30%), 6.41 us (+54%), 5.16 us (+24%), 5.29 us (+27%), 5.56 us (+34%), 4.37 us, 4.33 us, 4.32 us, 4.34 us, 4.34 us, 4.36 us, 4.97 us (+19%), 4.46 us (+7%), 4.33 us, 4.36 us, 4.39 us (+5%), 4.33 us, 4.91 us (+18%), 4.33 us, 4.28 us, 4.18 us, 4.21 us, 4.35 us, 4.25 us, 4.45 us (+7%), 4.16 us, 4.17 us, 4.17 us, 4.19 us, 4.19 us, 4.16 us, 4.15 us, 4.24 us, 4.24 us, 4.18 us, 4.24 us, 4.13 us, 4.28 us, 4.18 us
Run 25: warmup (20): 4.09 us, 4.14 us, 4.10 us, 4.11 us, 4.13 us, 4.12 us, 4.10 us, 4.10 us, 4.12 us, 4.08 us, 4.08 us, 4.10 us, 4.12 us, 4.09 us, 4.13 us, 4.11 us, 4.08 us, 4.09 us, 4.05 us, 4.08 us; samples (50): 4.10 us, 4.07 us, 4.11 us, 4.10 us, 4.12 us, 4.11 us, 4.11 us, 4.15 us, 4.07 us, 4.10 us, 4.08 us, 4.08 us, 4.05 us, 4.05 us, 4.06 us, 4.09 us, 4.12 us, 4.11 us, 4.10 us, 4.12 us, 4.11 us, 4.10 us, 4.13 us, 4.69 us (+13%), 6.03 us (+45%), 4.66 us (+12%), 4.16 us, 4.14 us, 4.12 us, 4.13 us, 4.10 us, 4.12 us, 4.09 us, 4.08 us, 4.09 us, 4.11 us, 5.98 us (+44%), 6.57 us (+58%), 5.00 us (+20%), 4.15 us, 4.08 us, 4.12 us, 4.13 us, 4.14 us, 4.13 us, 4.09 us, 4.06 us, 4.08 us, 4.08 us, 4.10 us
Run 26: warmup (20): 4.19 us, 4.23 us, 4.22 us, 4.23 us, 4.24 us, 4.21 us, 4.41 us (+6%), 4.49 us (+8%), 4.21 us, 4.23 us, 4.26 us, 4.24 us, 4.19 us, 4.25 us, 4.19 us, 4.22 us, 4.18 us, 4.25 us, 4.17 us, 4.13 us; samples (50): 4.15 us, 4.17 us, 4.14 us, 4.22 us, 4.15 us, 4.21 us, 4.17 us, 4.20 us, 4.22 us, 4.19 us, 4.17 us, 4.17 us, 4.15 us, 4.24 us, 4.20 us, 4.20 us, 4.18 us, 4.24 us, 4.18 us, 4.25 us, 5.86 us (+41%), 6.70 us (+61%), 5.53 us (+33%), 4.16 us, 4.19 us, 4.19 us, 4.19 us, 4.24 us, 4.17 us, 4.18 us, 4.18 us, 4.25 us, 4.21 us, 4.22 us, 4.21 us, 4.16 us, 4.19 us, 4.16 us, 4.17 us, 4.12 us, 4.15 us, 4.18 us, 4.18 us, 4.18 us, 4.23 us, 4.16 us, 4.29 us, 4.16 us, 4.20 us, 4.20 us
Run 27: warmup (20): 4.53 us (+9%), 4.38 us (+5%), 4.21 us, 4.22 us, 4.10 us, 4.09 us, 4.12 us, 4.07 us, 4.12 us, 4.09 us, 4.09 us, 4.43 us (+6%), 4.44 us (+7%), 4.15 us, 4.17 us, 4.15 us, 4.12 us, 4.35 us, 4.51 us (+8%), 4.32 us; samples (50): 4.12 us, 4.09 us, 4.19 us, 4.25 us, 4.13 us, 4.15 us, 4.17 us, 4.18 us, 4.16 us, 4.16 us, 4.16 us, 4.35 us, 4.24 us, 4.90 us (+18%), 4.15 us, 4.16 us, 4.10 us, 4.21 us, 5.43 us (+31%), 6.56 us (+58%), 4.56 us (+9%), 4.16 us, 4.15 us, 4.19 us, 4.14 us, 4.14 us, 4.10 us, 4.17 us, 4.15 us, 4.22 us, 4.26 us, 4.21 us, 6.23 us (+50%), 6.26 us (+50%), 4.14 us, 4.26 us, 4.18 us, 4.17 us, 4.13 us, 4.08 us, 4.06 us, 4.06 us, 4.09 us, 4.02 us, 4.13 us, 4.11 us, 4.11 us, 4.12 us, 4.09 us, 4.07 us
Run 28: warmup (20): 4.18 us, 4.21 us, 4.23 us, 4.25 us, 4.42 us (+6%), 4.29 us, 4.30 us, 4.26 us, 4.30 us, 4.31 us, 4.30 us, 4.25 us, 4.20 us, 4.19 us, 4.19 us, 4.21 us, 4.42 us (+6%), 4.22 us, 4.53 us (+9%), 4.16 us; samples (50): 4.22 us, 4.19 us, 4.18 us, 4.17 us, 4.24 us, 4.83 us (+16%), 4.47 us (+7%), 4.18 us, 4.18 us, 4.22 us, 4.22 us, 4.14 us, 4.65 us (+12%), 4.16 us, 4.18 us, 4.17 us, 4.18 us, 4.15 us, 4.17 us, 4.17 us, 4.16 us, 4.16 us, 4.16 us, 4.17 us, 4.13 us, 4.21 us, 4.16 us, 4.24 us, 4.10 us, 4.71 us (+13%), 4.94 us (+19%), 4.33 us, 4.26 us, 4.32 us, 4.16 us, 4.10 us, 4.18 us, 4.28 us, 4.15 us, 4.12 us, 4.15 us, 4.12 us, 4.10 us, 4.16 us, 4.28 us, 4.26 us, 4.15 us, 4.12 us, 4.47 us (+7%), 4.69 us (+13%)
Run 29: warmup (20): 4.05 us, 4.11 us, 4.05 us, 4.02 us, 4.01 us, 4.00 us, 4.05 us, 4.07 us, 4.07 us, 4.07 us, 4.23 us, 4.04 us, 4.03 us, 4.06 us, 4.07 us, 4.09 us, 4.04 us, 4.05 us, 4.08 us, 4.05 us; samples (50): 4.05 us, 4.01 us, 4.06 us, 4.06 us, 4.06 us, 4.05 us, 4.04 us, 4.06 us, 4.03 us, 4.08 us, 4.04 us, 4.05 us, 4.05 us, 4.00 us, 4.07 us, 4.01 us, 4.00 us, 3.97 us, 4.04 us, 3.97 us, 3.97 us, 3.94 us (-5%), 4.16 us, 4.26 us, 4.17 us, 3.99 us, 4.03 us, 4.11 us, 4.10 us, 4.10 us, 4.18 us, 4.06 us, 4.02 us, 4.03 us, 4.04 us, 4.04 us, 3.95 us (-5%), 3.94 us (-5%), 3.95 us (-5%), 3.94 us (-5%), 3.98 us, 3.94 us (-5%), 3.94 us (-5%), 3.97 us, 4.01 us, 3.94 us (-5%), 4.00 us, 4.03 us, 3.98 us, 4.00 us
Run 30: warmup (20): 4.16 us, 4.20 us, 4.16 us, 4.26 us, 4.15 us, 4.16 us, 4.20 us, 4.27 us, 4.15 us, 4.20 us, 4.15 us, 4.16 us, 4.12 us, 4.14 us, 4.24 us, 4.26 us, 4.20 us, 4.30 us, 4.96 us (+19%), 4.41 us (+6%); samples (50): 4.23 us, 4.16 us, 4.21 us, 4.25 us, 4.32 us, 5.44 us (+31%), 5.21 us (+25%), 5.07 us (+22%), 7.74 us (+86%), 4.20 us, 4.16 us, 4.24 us, 4.22 us, 4.27 us, 4.16 us, 4.18 us, 4.14 us, 4.10 us, 4.09 us, 4.18 us, 4.19 us, 4.23 us, 4.17 us, 4.77 us (+15%), 5.01 us (+20%), 7.23 us (+74%), 5.17 us (+24%), 4.98 us (+20%), 5.61 us (+35%), 6.96 us (+67%), 6.23 us (+50%), 5.05 us (+21%), 5.18 us (+25%), 5.10 us (+23%), 6.35 us (+53%), 5.06 us (+22%), 5.23 us (+26%), 5.07 us (+22%), 5.07 us (+22%), 5.32 us (+28%), 5.12 us (+23%), 5.26 us (+26%), 5.17 us (+24%), 6.21 us (+49%), 5.41 us (+30%), 5.07 us (+22%), 6.64 us (+60%), 6.62 us (+59%), 5.30 us (+27%), 5.25 us (+26%)
Run 31: warmup (20): 5.82 us (+40%), 5.96 us (+43%), 5.49 us (+32%), 5.65 us (+36%), 5.76 us (+38%), 4.75 us (+14%), 4.46 us (+7%), 4.41 us (+6%), 4.37 us, 4.37 us (+5%), 4.41 us (+6%), 4.39 us (+6%), 4.40 us (+6%), 4.42 us (+6%), 4.35 us, 4.42 us (+6%), 4.35 us, 4.34 us, 4.29 us, 4.47 us (+7%); samples (50): 4.29 us, 4.31 us, 4.39 us (+5%), 4.92 us (+18%), 4.53 us (+9%), 4.41 us (+6%), 4.37 us (+5%), 4.44 us (+7%), 4.46 us (+7%), 4.71 us (+13%), 4.97 us (+19%), 4.39 us (+6%), 4.31 us, 4.31 us, 4.25 us, 4.28 us, 5.03 us (+21%), 4.39 us (+5%), 4.27 us, 4.34 us, 4.32 us, 4.32 us, 4.51 us (+8%), 4.45 us (+7%), 5.08 us (+22%), 4.71 us (+13%), 4.64 us (+11%), 4.32 us, 4.36 us, 8.54 us (+105%), 8.24 us (+98%), 6.47 us (+55%), 4.90 us (+18%), 4.53 us (+9%), 4.50 us (+8%), 4.32 us, 4.47 us (+7%), 4.35 us, 4.43 us (+6%), 5.37 us (+29%), 4.61 us (+11%), 4.38 us (+5%), 4.32 us, 5.23 us (+26%), 5.66 us (+36%), 7.15 us (+72%), 9.15 us (+120%), 5.28 us (+27%), 8.12 us (+95%), 8.83 us (+112%)
Run 32: warmup (20): 5.00 us (+20%), 4.65 us (+12%), 4.31 us, 4.30 us, 5.78 us (+39%), 4.48 us (+8%), 4.74 us (+14%), 4.84 us (+16%), 4.42 us (+6%), 4.66 us (+12%), 4.33 us, 4.24 us, 4.17 us, 4.24 us, 6.27 us (+51%), 5.14 us (+24%), 4.96 us (+19%), 4.65 us (+12%), 5.72 us (+37%), 5.40 us (+30%); samples (50): 5.17 us (+24%), 8.48 us (+104%), 8.12 us (+95%), 4.50 us (+8%), 4.34 us, 4.16 us, 4.18 us, 4.13 us, 4.21 us, 4.20 us, 4.16 us, 4.24 us, 4.16 us, 4.21 us, 4.23 us, 4.15 us, 4.20 us, 4.25 us, 4.18 us, 4.24 us, 4.17 us, 4.28 us, 4.18 us, 4.21 us, 4.25 us, 4.23 us, 4.18 us, 4.34 us, 4.27 us, 4.32 us, 4.15 us, 4.19 us, 4.14 us, 4.18 us, 4.14 us, 4.16 us, 4.21 us, 4.15 us, 4.15 us, 4.18 us, 4.17 us, 4.18 us, 4.08 us, 4.91 us (+18%), 6.70 us (+61%), 5.54 us (+33%), 4.15 us, 4.11 us, 4.15 us, 4.14 us
Run 33: warmup (20): 4.85 us (+17%), 4.83 us (+16%), 4.88 us (+17%), 4.98 us (+20%), 4.94 us (+19%), 4.79 us (+15%), 4.87 us (+17%), 4.78 us (+15%), 4.73 us (+14%), 5.14 us (+23%), 4.82 us (+16%), 4.79 us (+15%), 4.76 us (+14%), 4.77 us (+15%), 4.84 us (+16%), 4.76 us (+14%), 4.67 us (+12%), 4.78 us (+15%), 4.82 us (+16%), 4.86 us (+17%); samples (50): 4.81 us (+16%), 4.85 us (+17%), 4.90 us (+18%), 4.86 us (+17%), 4.91 us (+18%), 5.03 us (+21%), 5.07 us (+22%), 4.74 us (+14%), 4.76 us (+14%), 4.85 us (+16%), 4.73 us (+14%), 4.76 us (+14%), 4.70 us (+13%), 4.79 us (+15%), 4.72 us (+14%), 4.69 us (+13%), 4.71 us (+13%), 4.72 us (+13%), 4.73 us (+14%), 4.68 us (+12%), 4.74 us (+14%), 4.76 us (+14%), 4.76 us (+14%), 4.71 us (+13%), 4.73 us (+14%), 4.73 us (+14%), 4.73 us (+14%), 4.70 us (+13%), 4.68 us (+12%), 4.68 us (+12%), 4.91 us (+18%), 4.88 us (+17%), 4.76 us (+14%), 4.73 us (+14%), 4.70 us (+13%), 4.70 us (+13%), 5.08 us (+22%), 4.69 us (+13%), 4.69 us (+13%), 4.67 us (+12%), 4.65 us (+12%), 4.68 us (+13%), 4.66 us (+12%), 4.72 us (+13%), 4.96 us (+19%), 4.66 us (+12%), 4.71 us (+13%), 4.77 us (+15%), 4.78 us (+15%), 4.71 us (+13%)
Run 34: warmup (20): 4.78 us (+15%), 4.94 us (+19%), 4.85 us (+17%), 4.79 us (+15%), 5.00 us (+20%), 4.84 us (+16%), 5.25 us (+26%), 5.12 us (+23%), 4.86 us (+17%), 4.93 us (+18%), 4.91 us (+18%), 4.80 us (+15%), 4.85 us (+17%), 4.94 us (+19%), 4.75 us (+14%), 4.79 us (+15%), 4.72 us (+13%), 4.73 us (+14%), 4.72 us (+13%), 4.69 us (+13%); samples (50): 4.70 us (+13%), 4.83 us (+16%), 4.67 us (+12%), 4.68 us (+13%), 4.77 us (+15%), 5.28 us (+27%), 5.01 us (+20%), 4.70 us (+13%), 4.69 us (+13%), 4.75 us (+14%), 4.68 us (+12%), 4.73 us (+14%), 4.71 us (+13%), 4.68 us (+12%), 4.70 us (+13%), 4.80 us (+15%), 4.71 us (+13%), 4.73 us (+14%), 4.74 us (+14%), 4.65 us (+12%), 4.72 us (+14%), 4.72 us (+13%), 4.77 us (+15%), 4.75 us (+14%), 4.83 us (+16%), 4.71 us (+13%), 4.78 us (+15%), 4.69 us (+13%), 4.76 us (+14%), 4.76 us (+14%), 4.75 us (+14%), 4.84 us (+16%), 4.78 us (+15%), 4.73 us (+14%), 4.74 us (+14%), 4.72 us (+14%), 4.78 us (+15%), 4.70 us (+13%), 4.72 us (+13%), 4.70 us (+13%), 4.75 us (+14%), 4.72 us (+13%), 4.75 us (+14%), 4.74 us (+14%), 4.75 us (+14%), 4.72 us (+13%), 4.70 us (+13%), 4.71 us (+13%), 4.71 us (+13%), 4.72 us (+13%)
Run 35: warmup (20): 3.95 us (-5%), 4.15 us, 4.48 us (+8%), 4.64 us (+12%), 4.17 us, 4.17 us, 4.24 us, 4.14 us, 4.27 us, 4.66 us (+12%), 4.06 us, 3.98 us, 3.90 us (-6%), 4.06 us, 5.36 us (+29%), 4.50 us (+8%), 3.98 us, 4.13 us, 4.00 us, 3.97 us; samples (50): 3.94 us (-5%), 3.93 us (-6%), 4.00 us, 4.02 us, 4.06 us, 3.99 us, 4.03 us, 4.00 us, 4.01 us, 4.01 us, 4.03 us, 3.99 us, 4.00 us, 4.07 us, 4.05 us, 4.02 us, 4.04 us, 3.96 us, 3.99 us, 4.00 us, 3.99 us, 4.01 us, 3.99 us, 3.96 us, 3.99 us, 3.95 us (-5%), 3.93 us (-6%), 3.92 us (-6%), 4.01 us, 4.00 us, 3.93 us (-6%), 3.98 us, 3.95 us, 3.99 us, 3.93 us (-6%), 4.02 us, 4.37 us (+5%), 4.10 us, 4.15 us, 4.11 us, 4.08 us, 4.14 us, 4.06 us, 4.12 us, 4.31 us, 4.11 us, 4.03 us, 4.01 us, 4.00 us, 4.04 us
Run 36: warmup (20): 4.89 us (+17%), 4.21 us, 4.29 us, 4.26 us, 4.25 us, 4.21 us, 4.26 us, 4.22 us, 4.17 us, 4.19 us, 4.16 us, 4.20 us, 4.14 us, 4.55 us (+9%), 4.63 us (+11%), 4.33 us, 4.20 us, 4.15 us, 4.15 us, 4.13 us; samples (50): 4.19 us, 5.19 us (+25%), 4.43 us (+6%), 4.37 us, 4.21 us, 4.18 us, 4.17 us, 4.09 us, 4.23 us, 4.25 us, 4.14 us, 4.33 us, 4.60 us (+10%), 4.18 us, 4.23 us, 4.30 us, 4.28 us, 4.15 us, 5.12 us (+23%), 5.57 us (+34%), 6.00 us (+44%), 5.58 us (+34%), 6.27 us (+51%), 7.99 us (+92%), 5.60 us (+35%), 6.21 us (+49%), 6.34 us (+52%), 5.02 us (+21%), 6.13 us (+47%), 4.96 us (+19%), 5.16 us (+24%), 5.15 us (+24%), 5.00 us (+20%), 4.98 us (+20%), 5.10 us (+23%), 5.50 us (+32%), 6.25 us (+50%), 5.10 us (+23%), 4.94 us (+19%), 5.11 us (+23%), 7.11 us (+71%), 5.35 us (+29%), 5.29 us (+27%), 4.94 us (+19%), 5.26 us (+26%), 6.18 us (+49%), 5.52 us (+33%), 5.01 us (+20%), 5.11 us (+23%), 5.13 us (+23%)
Run 37: warmup (20): 5.23 us (+26%), 4.72 us (+13%), 4.23 us, 4.16 us, 4.18 us, 4.17 us, 4.16 us, 4.22 us, 4.20 us, 4.22 us, 4.24 us, 4.80 us (+15%), 4.47 us (+7%), 4.24 us, 4.85 us (+17%), 4.26 us, 4.40 us (+6%), 4.25 us, 4.26 us, 4.15 us; samples (50): 4.12 us, 4.16 us, 4.15 us, 4.13 us, 4.12 us, 4.15 us, 4.12 us, 4.13 us, 4.11 us, 4.09 us, 4.11 us, 4.16 us, 4.15 us, 4.09 us, 4.07 us, 4.10 us, 4.14 us, 4.18 us, 4.16 us, 4.16 us, 4.11 us, 4.17 us, 4.18 us, 4.19 us, 4.23 us, 4.12 us, 4.18 us, 4.13 us, 4.19 us, 4.39 us (+5%), 4.18 us, 4.17 us, 4.29 us, 4.95 us (+19%), 4.44 us (+7%), 4.20 us, 4.43 us (+7%), 4.48 us (+8%), 4.17 us, 4.19 us, 4.17 us, 4.23 us, 4.30 us, 4.25 us, 4.24 us, 4.22 us, 4.28 us, 4.29 us, 4.27 us, 4.20 us
Run 38: warmup (20): 4.28 us, 4.34 us, 4.33 us, 4.31 us, 4.33 us, 4.29 us, 4.38 us (+5%), 4.29 us, 4.22 us, 4.28 us, 4.31 us, 4.44 us (+7%), 4.75 us (+14%), 4.46 us (+7%), 4.29 us, 4.34 us, 4.52 us (+9%), 4.30 us, 4.28 us, 4.30 us; samples (50): 4.26 us, 4.27 us, 4.47 us (+7%), 4.28 us, 4.27 us, 4.28 us, 4.28 us, 4.33 us, 4.22 us, 4.30 us, 4.29 us, 4.27 us, 4.28 us, 4.30 us, 4.28 us, 4.52 us (+9%), 4.26 us, 4.31 us, 4.28 us, 4.30 us, 4.28 us, 4.34 us, 4.30 us, 4.31 us, 4.34 us, 4.34 us, 4.34 us, 4.37 us (+5%), 4.39 us (+6%), 4.34 us, 4.37 us (+5%), 4.87 us (+17%), 4.29 us, 4.27 us, 4.26 us, 4.29 us, 4.28 us, 4.36 us, 4.28 us, 4.28 us, 4.30 us, 4.28 us, 4.28 us, 4.25 us, 4.22 us, 4.22 us, 4.23 us, 4.23 us, 4.20 us, 4.20 us
Run 39: warmup (20): 4.37 us (+5%), 4.45 us (+7%), 4.41 us (+6%), 4.46 us (+7%), 4.45 us (+7%), 4.48 us (+8%), 4.44 us (+7%), 4.38 us (+5%), 4.42 us (+6%), 4.45 us (+7%), 4.48 us (+8%), 4.46 us (+7%), 4.44 us (+7%), 4.44 us (+7%), 4.41 us (+6%), 4.48 us (+8%), 4.44 us (+7%), 4.49 us (+8%), 4.37 us (+5%), 4.40 us (+6%); samples (50): 4.43 us (+6%), 4.50 us (+8%), 4.45 us (+7%), 4.49 us (+8%), 4.50 us (+8%), 4.49 us (+8%), 4.52 us (+9%), 4.49 us (+8%), 4.45 us (+7%), 4.42 us (+6%), 4.45 us (+7%), 4.45 us (+7%), 4.44 us (+7%), 4.41 us (+6%), 4.45 us (+7%), 4.44 us (+7%), 4.40 us (+6%), 4.41 us (+6%), 4.42 us (+6%), 4.47 us (+8%), 4.45 us (+7%), 4.45 us (+7%), 4.42 us (+6%), 4.38 us (+5%), 4.46 us (+7%), 4.48 us (+8%), 4.45 us (+7%), 4.38 us (+5%), 4.41 us (+6%), 4.44 us (+7%), 4.44 us (+7%), 4.47 us (+7%), 4.50 us (+8%), 4.44 us (+7%), 4.46 us (+7%), 4.46 us (+7%), 4.46 us (+7%), 4.36 us, 4.41 us (+6%), 4.47 us (+7%), 4.42 us (+6%), 4.35 us, 4.40 us (+6%), 4.39 us (+6%), 4.34 us, 4.39 us (+6%), 4.41 us (+6%), 4.40 us (+6%), 4.42 us (+6%), 4.37 us
Run 40: warmup (20): 3.91 us (-6%), 3.96 us, 3.97 us, 3.97 us, 3.94 us (-5%), 3.96 us, 4.00 us, 3.97 us, 3.96 us, 3.99 us, 3.97 us, 3.95 us, 3.96 us, 3.96 us, 3.92 us (-6%), 3.96 us, 3.93 us (-6%), 3.96 us, 4.04 us, 4.13 us; samples (50): 4.08 us, 3.98 us, 3.94 us (-5%), 4.00 us, 4.08 us, 4.03 us, 4.01 us, 3.99 us, 4.13 us, 4.15 us, 5.44 us (+31%), 4.15 us, 4.31 us, 5.36 us (+29%), 4.42 us (+6%), 4.07 us, 4.19 us, 4.95 us (+19%), 4.83 us (+16%), 4.69 us (+13%), 4.91 us (+18%), 4.67 us (+12%), 4.27 us, 4.44 us (+7%), 4.14 us, 4.30 us, 4.06 us, 4.22 us, 4.09 us, 4.87 us (+17%), 4.86 us (+17%), 4.53 us (+9%), 4.21 us, 4.27 us, 4.04 us, 4.01 us, 4.00 us, 3.98 us, 3.98 us, 4.04 us, 3.98 us, 4.02 us, 3.97 us, 4.02 us, 4.02 us, 4.01 us, 4.04 us, 3.98 us, 3.96 us, 4.65 us (+12%)
3.70 us: 119 #######
3.97 us: 1156 #################################################################
4.23 us: 371 #####################
4.50 us: 116 #######
4.76 us: 77 ####
5.02 us: 64 ####
5.29 us: 32 ##
5.55 us: 15 #
5.82 us: 12 #
6.08 us: 14 #
6.35 us: 4 |
6.61 us: 5 |
6.88 us: 3 |
7.14 us: 2 |
7.40 us: 0 |
7.67 us: 1 |
7.93 us: 3 |
8.20 us: 1 |
8.46 us: 3 |
8.73 us: 1 |
8.99 us: 1 |
WARNING: the benchmark seems unstable, the standard deviation is high (stdev/median: 13%)
Try to rerun the benchmark with more runs, samples and/or loops
Median +- std dev: 4.16 us +- 0.53 us
with changes
........................................
Metadata:
- aslr: Full randomization
- boot_time: 2016-10-03T11:28:53
- cpu_config: 0-3=driver:intel_pstate, intel_pstate:turbo, governor:powersave; idle:intel_idle
- cpu_count: 4
- cpu_model_name: Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz
- hostname: funami
- loops: 2^15
- name: timeit
- perf_version: 0.7.12
- platform: Linux-4.7.5-1-ARCH-x86_64-with-arch
- python_cflags: -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
- python_executable: /home/yui/.virtualenvs/databazaar/bin/python
- python_implementation: cpython
- python_version: 3.4.3 (64-bit) revision b4cbecbc0781
- timeit_setup: 'import pandas as pd;s = pd.Series([1, 2, 3])'
- timeit_stmt: 's[0] = 1'
- timer: clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns
Run 1: warmup (36): 1.04 ms (+26664%), 26.9 us (+596%), 14.8 us (+283%), 10.6 us (+174%), 8.62 us (+123%), 7.60 us (+97%), 7.21 us (+86%), 7.11 us (+84%), 6.85 us (+77%), 7.09 us (+83%), 6.98 us (+80%), 6.64 us (+72%), 3.75 us, 3.63 us (-6%), 3.66 us (-5%), 3.71 us, 3.74 us, 3.83 us, 3.79 us, 3.65 us (-6%), 3.72 us, 3.70 us, 3.71 us, 3.73 us, 3.73 us, 3.66 us (-5%), 3.83 us, 4.85 us (+25%), 3.73 us, 3.74 us, 4.29 us (+11%), 3.71 us, 3.77 us, 3.75 us, 3.74 us, 3.67 us (-5%); samples (50): 3.67 us (-5%), 3.64 us (-6%), 3.65 us (-6%), 3.65 us (-6%), 3.73 us, 4.11 us (+6%), 4.20 us (+9%), 3.68 us, 4.48 us (+16%), 4.63 us (+20%), 3.79 us, 3.63 us (-6%), 3.73 us, 3.64 us (-6%), 3.63 us (-6%), 3.63 us (-6%), 3.64 us (-6%), 3.72 us, 3.70 us, 3.70 us, 3.82 us, 3.83 us, 3.79 us, 3.74 us, 3.63 us (-6%), 3.69 us, 3.79 us, 3.83 us, 3.75 us, 3.89 us, 3.73 us, 3.75 us, 3.77 us, 4.33 us (+12%), 4.78 us (+23%), 4.14 us (+7%), 4.85 us (+25%), 4.02 us, 3.98 us, 3.96 us, 3.83 us, 3.72 us, 3.73 us, 3.76 us, 3.73 us, 3.77 us, 3.68 us, 3.68 us, 4.08 us (+6%), 3.73 us
Run 2: warmup (20): 4.53 us (+17%), 4.47 us (+16%), 4.45 us (+15%), 4.44 us (+15%), 4.30 us (+11%), 4.36 us (+13%), 4.32 us (+12%), 4.31 us (+11%), 4.25 us (+10%), 4.26 us (+10%), 4.35 us (+12%), 4.34 us (+12%), 4.31 us (+11%), 4.31 us (+11%), 4.42 us (+14%), 4.41 us (+14%), 4.34 us (+12%), 4.32 us (+12%), 4.41 us (+14%), 4.34 us (+12%); samples (50): 4.57 us (+18%), 4.36 us (+13%), 4.30 us (+11%), 4.29 us (+11%), 4.40 us (+14%), 4.38 us (+13%), 4.31 us (+11%), 4.21 us (+9%), 4.36 us (+13%), 4.83 us (+25%), 4.37 us (+13%), 4.35 us (+13%), 4.43 us (+15%), 4.40 us (+14%), 4.41 us (+14%), 4.41 us (+14%), 4.53 us (+17%), 4.39 us (+13%), 4.98 us (+29%), 5.35 us (+38%), 6.78 us (+75%), 5.24 us (+36%), 5.14 us (+33%), 4.31 us (+11%), 4.32 us (+12%), 4.27 us (+10%), 4.34 us (+12%), 4.33 us (+12%), 4.36 us (+13%), 4.40 us (+14%), 4.45 us (+15%), 4.57 us (+18%), 5.20 us (+35%), 4.31 us (+11%), 4.49 us (+16%), 5.58 us (+44%), 6.60 us (+71%), 6.91 us (+79%), 6.67 us (+72%), 5.98 us (+55%), 5.44 us (+41%), 5.60 us (+45%), 5.56 us (+44%), 5.58 us (+44%), 6.68 us (+73%), 6.60 us (+71%), 6.24 us (+61%), 4.78 us (+24%), 6.12 us (+58%), 8.45 us (+118%)
Run 3: warmup (20): 6.46 us (+67%), 4.96 us (+28%), 4.88 us (+26%), 4.73 us (+22%), 4.28 us (+11%), 4.33 us (+12%), 4.29 us (+11%), 4.98 us (+29%), 7.88 us (+104%), 5.76 us (+49%), 5.82 us (+50%), 4.56 us (+18%), 4.71 us (+22%), 8.21 us (+112%), 8.16 us (+111%), 6.01 us (+56%), 6.12 us (+58%), 4.57 us (+18%), 3.90 us, 3.82 us; samples (50): 3.85 us, 3.80 us, 3.79 us, 3.81 us, 3.79 us, 3.80 us, 3.85 us, 3.83 us, 3.91 us, 4.41 us (+14%), 4.11 us (+6%), 3.91 us, 3.91 us, 3.77 us, 3.83 us, 3.82 us, 3.81 us, 3.96 us, 3.84 us, 3.84 us, 3.92 us, 3.85 us, 3.84 us, 3.84 us, 3.86 us, 3.86 us, 3.85 us, 3.82 us, 3.82 us, 3.84 us, 3.83 us, 3.89 us, 3.94 us, 3.84 us, 3.82 us, 3.87 us, 4.95 us (+28%), 4.62 us (+19%), 3.87 us, 3.85 us, 4.75 us (+23%), 7.72 us (+100%), 4.54 us (+17%), 4.41 us (+14%), 4.28 us (+11%), 4.02 us, 3.94 us, 3.90 us, 3.89 us, 3.84 us
Run 4: warmup (20): 4.04 us, 4.11 us (+6%), 4.01 us, 4.02 us, 4.02 us, 3.98 us, 4.03 us, 4.02 us, 3.96 us, 3.96 us, 3.96 us, 3.95 us, 3.96 us, 3.94 us, 3.92 us, 3.95 us, 3.96 us, 3.92 us, 3.93 us, 3.95 us; samples (50): 3.92 us, 3.95 us, 3.99 us, 3.92 us, 3.92 us, 3.96 us, 4.04 us, 3.96 us, 3.97 us, 3.93 us, 3.96 us, 3.94 us, 3.97 us, 3.92 us, 3.93 us, 3.90 us, 3.95 us, 3.95 us, 3.95 us, 3.95 us, 3.99 us, 4.03 us, 4.01 us, 3.97 us, 3.95 us, 3.96 us, 3.99 us, 4.06 us, 4.07 us (+5%), 3.96 us, 3.89 us, 3.93 us, 3.93 us, 3.93 us, 3.88 us, 3.92 us, 3.94 us, 3.95 us, 3.86 us, 3.88 us, 4.45 us (+15%), 4.32 us (+12%), 4.17 us (+8%), 4.26 us (+10%), 4.01 us, 3.92 us, 3.92 us, 3.95 us, 3.89 us, 3.93 us
Run 5: warmup (20): 3.96 us, 3.75 us, 4.10 us (+6%), 5.04 us (+30%), 3.77 us, 3.71 us, 3.99 us, 4.08 us (+5%), 3.76 us, 3.73 us, 3.73 us, 3.75 us, 3.68 us, 3.70 us, 3.71 us, 3.69 us, 3.72 us, 3.72 us, 3.73 us, 3.70 us; samples (50): 3.72 us, 3.72 us, 3.77 us, 3.69 us, 3.72 us, 3.68 us, 3.75 us, 3.82 us, 3.75 us, 3.75 us, 3.73 us, 3.76 us, 3.78 us, 3.74 us, 3.71 us, 3.76 us, 3.72 us, 3.71 us, 3.70 us, 3.69 us, 3.66 us (-5%), 3.73 us, 3.74 us, 3.69 us, 3.69 us, 3.68 us, 3.68 us, 3.69 us, 3.71 us, 3.69 us, 3.70 us, 3.70 us, 3.70 us, 3.69 us, 3.67 us (-5%), 3.67 us (-5%), 3.73 us, 3.68 us, 3.68 us, 3.71 us, 3.77 us, 3.69 us, 3.67 us (-5%), 3.70 us, 3.70 us, 3.72 us, 3.68 us, 3.72 us, 3.78 us, 3.72 us
Run 6: warmup (20): 3.79 us, 3.81 us, 3.83 us, 3.82 us, 3.83 us, 4.03 us, 3.84 us, 3.81 us, 3.96 us, 4.11 us (+6%), 4.34 us (+12%), 4.21 us (+9%), 4.14 us (+7%), 4.19 us (+8%), 4.02 us, 4.07 us (+5%), 3.90 us, 3.89 us, 3.87 us, 3.89 us; samples (50): 3.81 us, 3.81 us, 3.85 us, 3.88 us, 3.84 us, 4.09 us (+6%), 4.30 us (+11%), 4.41 us (+14%), 4.12 us (+6%), 4.18 us (+8%), 4.06 us (+5%), 4.75 us (+23%), 5.03 us (+30%), 3.83 us, 4.94 us (+28%), 3.82 us, 3.88 us, 3.84 us, 3.83 us, 3.85 us, 3.82 us, 3.83 us, 3.81 us, 3.86 us, 3.88 us, 4.20 us (+8%), 3.87 us, 3.81 us, 3.85 us, 3.84 us, 3.82 us, 3.83 us, 3.81 us, 3.88 us, 3.85 us, 3.84 us, 3.89 us, 4.04 us, 3.90 us, 3.80 us, 3.82 us, 3.80 us, 3.77 us, 3.77 us, 3.79 us, 4.14 us (+7%), 3.93 us, 3.80 us, 3.86 us, 3.79 us
Run 7: warmup (20): 3.67 us (-5%), 3.79 us, 3.75 us, 3.76 us, 3.76 us, 3.86 us, 3.77 us, 3.79 us, 3.84 us, 3.78 us, 3.75 us, 3.80 us, 3.76 us, 3.77 us, 3.74 us, 3.74 us, 4.38 us (+13%), 5.60 us (+45%), 3.69 us, 3.71 us; samples (50): 3.74 us, 3.72 us, 3.68 us, 3.72 us, 5.38 us (+39%), 5.94 us (+54%), 5.90 us (+52%), 3.72 us, 3.76 us, 3.75 us, 4.12 us (+7%), 5.96 us (+54%), 5.15 us (+33%), 3.70 us, 3.88 us, 3.77 us, 3.74 us, 3.77 us, 3.86 us, 3.74 us, 3.72 us, 3.73 us, 3.72 us, 3.76 us, 4.02 us, 4.36 us (+13%), 4.09 us (+6%), 3.87 us, 3.78 us, 3.75 us, 3.74 us, 3.74 us, 3.70 us, 3.74 us, 3.73 us, 3.87 us, 3.74 us, 3.75 us, 3.73 us, 3.73 us, 3.74 us, 3.75 us, 3.76 us, 3.73 us, 3.73 us, 3.74 us, 3.78 us, 3.77 us, 3.74 us, 3.75 us
Run 8: warmup (20): 3.69 us, 3.74 us, 3.73 us, 3.75 us, 3.75 us, 3.71 us, 3.74 us, 3.76 us, 3.70 us, 3.69 us, 3.70 us, 3.74 us, 3.74 us, 3.70 us, 3.72 us, 3.72 us, 3.78 us, 3.75 us, 3.74 us, 3.74 us; samples (50): 3.72 us, 3.77 us, 3.70 us, 3.75 us, 3.72 us, 3.74 us, 3.72 us, 3.77 us, 3.74 us, 3.78 us, 3.77 us, 3.77 us, 3.73 us, 3.77 us, 3.73 us, 3.73 us, 3.74 us, 3.72 us, 3.72 us, 3.74 us, 3.74 us, 3.75 us, 3.76 us, 3.75 us, 3.73 us, 3.74 us, 3.74 us, 3.72 us, 3.73 us, 3.73 us, 3.70 us, 3.69 us, 3.77 us, 3.72 us, 3.72 us, 3.68 us, 3.71 us, 3.71 us, 3.68 us, 3.73 us, 3.70 us, 3.71 us, 3.71 us, 3.74 us, 3.73 us, 3.72 us, 3.74 us, 3.71 us, 3.74 us, 3.70 us
Run 9: warmup (20): 3.92 us, 3.90 us, 3.94 us, 4.01 us, 3.93 us, 3.89 us, 3.96 us, 3.90 us, 3.88 us, 3.90 us, 3.96 us, 4.18 us (+8%), 3.88 us, 3.94 us, 3.88 us, 3.88 us, 4.12 us (+6%), 3.86 us, 3.87 us, 4.00 us; samples (50): 3.89 us, 3.90 us, 3.92 us, 4.00 us, 4.69 us (+21%), 3.90 us, 3.85 us, 3.86 us, 3.92 us, 3.90 us, 3.93 us, 3.91 us, 3.92 us, 3.93 us, 3.93 us, 4.18 us (+8%), 3.87 us, 3.92 us, 4.01 us, 3.98 us, 3.91 us, 3.99 us, 3.97 us, 4.31 us (+11%), 4.00 us, 3.98 us, 5.13 us (+33%), 6.13 us (+58%), 6.07 us (+57%), 5.33 us (+38%), 5.94 us (+54%), 5.90 us (+52%), 5.11 us (+32%), 5.02 us (+30%), 5.09 us (+32%), 4.93 us (+27%), 4.89 us (+26%), 5.04 us (+30%), 5.02 us (+30%), 5.17 us (+34%), 4.98 us (+29%), 4.81 us (+24%), 4.99 us (+29%), 4.96 us (+28%), 5.54 us (+43%), 5.90 us (+53%), 5.78 us (+49%), 6.18 us (+60%), 5.09 us (+31%), 5.07 us (+31%)
Run 10: warmup (20): 6.41 us (+66%), 6.36 us (+64%), 6.70 us (+73%), 6.65 us (+72%), 5.99 us (+55%), 5.48 us (+42%), 6.16 us (+59%), 6.14 us (+59%), 4.08 us (+6%), 4.00 us, 4.01 us, 4.06 us, 4.13 us (+7%), 4.12 us (+7%), 4.03 us, 4.08 us (+5%), 4.05 us, 4.11 us (+6%), 4.04 us, 4.16 us (+7%); samples (50): 4.01 us, 3.98 us, 4.04 us, 3.99 us, 3.97 us, 3.94 us, 4.00 us, 5.32 us (+37%), 4.82 us (+25%), 3.96 us, 3.96 us, 4.02 us, 4.05 us, 4.11 us (+6%), 3.97 us, 4.06 us (+5%), 4.05 us, 4.01 us, 3.98 us, 4.08 us (+5%), 3.99 us, 4.02 us, 4.08 us (+5%), 4.07 us (+5%), 3.98 us, 4.04 us, 4.03 us, 5.59 us (+45%), 4.98 us (+29%), 3.99 us, 4.05 us, 4.05 us, 4.00 us, 3.98 us, 4.01 us, 3.99 us, 4.00 us, 4.02 us, 4.05 us, 3.99 us, 3.95 us, 4.33 us (+12%), 6.48 us (+68%), 4.07 us (+5%), 4.06 us, 4.04 us, 4.04 us, 3.99 us, 3.96 us, 4.01 us
Run 11: warmup (20): 3.78 us, 3.78 us, 3.75 us, 4.67 us (+21%), 5.66 us (+46%), 3.80 us, 3.80 us, 3.77 us, 3.78 us, 3.75 us, 3.80 us, 3.77 us, 3.75 us, 3.77 us, 3.76 us, 3.77 us, 3.78 us, 3.78 us, 3.78 us, 3.74 us; samples (50): 3.75 us, 3.76 us, 3.74 us, 3.76 us, 3.77 us, 3.78 us, 3.71 us, 3.76 us, 3.74 us, 3.80 us, 3.73 us, 3.77 us, 3.76 us, 3.77 us, 3.78 us, 3.82 us, 3.75 us, 3.78 us, 3.77 us, 3.74 us, 3.73 us, 3.79 us, 3.78 us, 3.73 us, 3.78 us, 3.77 us, 3.78 us, 3.75 us, 3.74 us, 3.80 us, 3.80 us, 5.09 us (+32%), 5.45 us (+41%), 3.74 us, 3.77 us, 3.75 us, 3.75 us, 3.78 us, 3.74 us, 3.73 us, 3.72 us, 3.76 us, 3.72 us, 3.75 us, 3.75 us, 3.72 us, 3.97 us, 6.03 us (+56%), 4.36 us (+13%), 3.77 us
Run 12: warmup (20): 3.73 us, 3.80 us, 3.80 us, 3.79 us, 3.79 us, 3.81 us, 3.80 us, 3.80 us, 3.77 us, 3.81 us, 3.77 us, 3.82 us, 3.84 us, 3.80 us, 3.80 us, 3.81 us, 3.83 us, 3.77 us, 3.76 us, 3.81 us; samples (50): 3.85 us, 4.06 us, 4.17 us (+8%), 3.84 us, 3.80 us, 3.78 us, 3.76 us, 3.83 us, 3.78 us, 3.80 us, 3.81 us, 3.80 us, 4.07 us (+5%), 3.83 us, 3.83 us, 3.81 us, 3.83 us, 4.80 us (+24%), 4.29 us (+11%), 3.80 us, 4.14 us (+7%), 3.78 us, 4.82 us (+25%), 4.24 us (+10%), 3.81 us, 3.76 us, 3.78 us, 4.61 us (+19%), 4.61 us (+19%), 3.81 us, 3.82 us, 3.82 us, 4.05 us, 3.93 us, 3.78 us, 3.73 us, 3.73 us, 3.74 us, 3.72 us, 3.79 us, 3.82 us, 3.73 us, 3.79 us, 3.80 us, 3.76 us, 3.74 us, 3.74 us, 3.78 us, 3.79 us, 3.75 us
Run 13: warmup (20): 3.70 us, 3.71 us, 3.78 us, 3.76 us, 3.74 us, 3.76 us, 3.73 us, 3.75 us, 3.72 us, 3.73 us, 3.73 us, 3.72 us, 3.83 us, 3.76 us, 3.71 us, 3.74 us, 3.74 us, 3.74 us, 3.73 us, 3.72 us; samples (50): 3.73 us, 3.72 us, 3.75 us, 3.72 us, 3.73 us, 3.77 us, 3.73 us, 3.76 us, 3.76 us, 3.73 us, 3.73 us, 3.77 us, 3.76 us, 3.81 us, 3.78 us, 3.76 us, 3.73 us, 3.77 us, 3.72 us, 3.74 us, 3.74 us, 3.78 us, 3.77 us, 3.76 us, 3.76 us, 3.76 us, 3.81 us, 3.78 us, 3.73 us, 3.77 us, 3.77 us, 4.23 us (+9%), 3.78 us, 3.78 us, 3.77 us, 3.76 us, 3.77 us, 3.73 us, 3.71 us, 3.74 us, 3.67 us (-5%), 3.70 us, 3.74 us, 3.72 us, 3.72 us, 3.73 us, 3.73 us, 3.76 us, 3.71 us, 3.73 us
Run 14: warmup (20): 3.76 us, 3.76 us, 3.74 us, 3.74 us, 3.71 us, 3.71 us, 3.73 us, 3.75 us, 3.76 us, 3.70 us, 3.71 us, 3.72 us, 3.68 us, 3.76 us, 3.66 us (-5%), 3.70 us, 3.67 us (-5%), 3.69 us, 3.74 us, 3.68 us; samples (50): 3.69 us, 3.77 us, 3.71 us, 3.70 us, 3.71 us, 3.71 us, 3.73 us, 3.71 us, 3.80 us, 3.73 us, 3.72 us, 3.76 us, 3.72 us, 3.76 us, 3.73 us, 3.73 us, 3.77 us, 3.76 us, 3.77 us, 3.73 us, 3.72 us, 3.81 us, 3.70 us, 3.74 us, 3.76 us, 3.74 us, 3.79 us, 3.74 us, 3.76 us, 3.71 us, 3.75 us, 3.75 us, 3.68 us, 3.72 us, 3.68 us, 3.70 us, 3.72 us, 3.71 us, 3.69 us, 3.69 us, 3.69 us, 3.76 us, 3.71 us, 3.70 us, 3.71 us, 3.70 us, 3.74 us, 3.70 us, 3.71 us, 3.72 us
Run 15: warmup (20): 3.73 us, 3.83 us, 3.78 us, 3.86 us, 3.83 us, 3.81 us, 3.80 us, 3.88 us, 3.81 us, 3.79 us, 3.76 us, 3.80 us, 3.73 us, 3.80 us, 3.74 us, 3.80 us, 3.77 us, 3.68 us, 3.78 us, 3.74 us; samples (50): 3.72 us, 3.74 us, 3.70 us, 3.70 us, 3.73 us, 3.69 us, 3.74 us, 3.72 us, 3.71 us, 3.78 us, 3.76 us, 3.79 us, 3.70 us, 3.74 us, 3.76 us, 3.71 us, 3.78 us, 3.75 us, 3.72 us, 3.80 us, 3.71 us, 3.74 us, 3.75 us, 3.76 us, 3.77 us, 3.71 us, 3.75 us, 3.75 us, 3.72 us, 3.74 us, 3.78 us, 3.83 us, 3.74 us, 3.72 us, 3.74 us, 3.75 us, 3.74 us, 3.68 us, 3.68 us, 3.73 us, 3.70 us, 3.72 us, 3.77 us, 3.81 us, 3.76 us, 3.68 us, 3.71 us, 3.72 us, 3.70 us, 3.70 us
Run 16: warmup (20): 4.29 us (+11%), 4.58 us (+19%), 4.49 us (+16%), 4.34 us (+12%), 4.39 us (+13%), 4.40 us (+14%), 4.36 us (+13%), 4.35 us (+12%), 4.31 us (+12%), 4.33 us (+12%), 4.32 us (+12%), 4.36 us (+13%), 4.37 us (+13%), 4.33 us (+12%), 4.31 us (+12%), 4.33 us (+12%), 4.54 us (+17%), 4.28 us (+11%), 4.33 us (+12%), 4.31 us (+11%); samples (50): 4.32 us (+12%), 4.34 us (+12%), 4.31 us (+11%), 5.14 us (+33%), 4.38 us (+13%), 4.31 us (+12%), 4.29 us (+11%), 4.28 us (+11%), 4.27 us (+10%), 4.27 us (+10%), 4.29 us (+11%), 4.31 us (+12%), 4.32 us (+12%), 4.32 us (+12%), 4.27 us (+10%), 4.29 us (+11%), 4.29 us (+11%), 4.33 us (+12%), 4.51 us (+17%), 6.48 us (+67%), 6.42 us (+66%), 6.27 us (+62%), 6.18 us (+60%), 6.46 us (+67%), 5.97 us (+54%), 5.67 us (+47%), 5.12 us (+32%), 4.58 us (+18%), 4.48 us (+16%), 4.67 us (+21%), 5.02 us (+30%), 5.00 us (+29%), 4.96 us (+28%), 5.17 us (+34%), 5.30 us (+37%), 4.95 us (+28%), 4.97 us (+28%), 4.90 us (+27%), 4.95 us (+28%), 5.23 us (+35%), 4.44 us (+15%), 5.21 us (+35%), 4.42 us (+14%), 4.48 us (+16%), 5.01 us (+30%), 5.52 us (+43%), 5.17 us (+34%), 5.24 us (+35%), 6.49 us (+68%), 6.70 us (+73%)
Run 17: warmup (20): 3.95 us, 4.40 us (+14%), 3.87 us, 3.86 us, 3.76 us, 3.75 us, 3.71 us, 3.69 us, 3.74 us, 3.72 us, 3.75 us, 3.69 us, 3.76 us, 3.72 us, 3.75 us, 3.71 us, 3.74 us, 3.75 us, 3.69 us, 3.71 us; samples (50): 3.72 us, 3.71 us, 3.68 us, 3.70 us, 3.67 us (-5%), 3.76 us, 3.77 us, 3.73 us, 3.74 us, 3.74 us, 3.73 us, 3.73 us, 3.78 us, 3.80 us, 3.79 us, 3.81 us, 3.79 us, 3.75 us, 3.79 us, 3.81 us, 3.86 us, 3.82 us, 3.78 us, 3.76 us, 3.76 us, 3.81 us, 3.72 us, 3.71 us, 3.69 us, 3.71 us, 3.71 us, 3.71 us, 3.68 us, 3.68 us, 3.69 us, 3.70 us, 3.75 us, 3.72 us, 3.70 us, 3.71 us, 3.69 us, 3.74 us, 3.73 us, 3.72 us, 3.70 us, 3.71 us, 3.71 us, 3.72 us, 3.68 us, 3.72 us
Run 18: warmup (20): 3.94 us, 3.96 us, 4.08 us (+5%), 4.07 us (+5%), 4.01 us, 4.06 us (+5%), 4.06 us, 4.01 us, 4.02 us, 3.99 us, 4.00 us, 4.04 us, 3.99 us, 4.03 us, 4.81 us (+24%), 3.98 us, 4.04 us, 3.99 us, 4.02 us, 4.00 us; samples (50): 3.99 us, 4.04 us, 3.99 us, 4.00 us, 4.00 us, 4.02 us, 4.12 us (+6%), 4.02 us, 4.03 us, 5.03 us (+30%), 3.98 us, 4.01 us, 4.00 us, 4.00 us, 4.05 us, 3.97 us, 4.03 us, 4.02 us, 3.97 us, 4.87 us (+26%), 3.97 us, 4.04 us, 3.97 us, 4.27 us (+11%), 4.06 us, 4.06 us, 4.08 us (+5%), 4.01 us, 4.02 us, 4.04 us, 4.00 us, 4.11 us (+6%), 4.08 us (+5%), 4.04 us, 4.07 us (+5%), 4.17 us (+8%), 4.18 us (+8%), 3.98 us, 4.28 us (+11%), 4.69 us (+21%), 3.95 us, 4.02 us, 3.98 us, 3.98 us, 3.97 us, 3.98 us, 4.01 us, 3.98 us, 3.96 us, 3.95 us
Run 19: warmup (20): 4.14 us (+7%), 4.59 us (+19%), 3.86 us, 3.85 us, 3.89 us, 3.84 us, 3.92 us, 3.82 us, 3.80 us, 3.92 us, 3.87 us, 3.86 us, 3.87 us, 3.95 us, 3.88 us, 3.83 us, 4.94 us (+28%), 3.85 us, 3.83 us, 3.92 us; samples (50): 3.89 us, 3.90 us, 3.89 us, 3.96 us, 3.85 us, 3.89 us, 3.83 us, 3.90 us, 3.86 us, 3.89 us, 3.84 us, 4.21 us (+9%), 3.82 us, 3.85 us, 3.86 us, 3.93 us, 3.86 us, 3.88 us, 3.82 us, 3.82 us, 3.80 us, 3.85 us, 4.81 us (+24%), 3.82 us, 4.04 us, 4.36 us (+13%), 4.82 us (+25%), 4.51 us (+17%), 3.87 us, 3.89 us, 3.97 us, 3.86 us, 3.89 us, 4.79 us (+24%), 4.59 us (+19%), 3.90 us, 3.90 us, 3.85 us, 3.83 us, 3.87 us, 3.89 us, 3.86 us, 3.92 us, 3.92 us, 3.82 us, 3.84 us, 3.81 us, 3.84 us, 3.96 us, 3.82 us
Run 20: warmup (20): 3.89 us, 3.88 us, 3.84 us, 3.81 us, 3.79 us, 3.82 us, 3.77 us, 3.77 us, 3.78 us, 3.80 us, 3.78 us, 3.77 us, 3.76 us, 3.79 us, 3.77 us, 3.74 us, 3.77 us, 3.75 us, 3.74 us, 3.78 us; samples (50): 3.75 us, 3.77 us, 3.75 us, 3.77 us, 3.77 us, 3.76 us, 3.76 us, 3.81 us, 3.81 us, 3.83 us, 3.80 us, 3.82 us, 3.77 us, 3.76 us, 3.74 us, 3.80 us, 3.76 us, 3.80 us, 3.76 us, 3.75 us, 3.80 us, 3.77 us, 3.74 us, 3.78 us, 3.76 us, 3.77 us, 3.81 us, 3.74 us, 3.75 us, 3.77 us, 3.75 us, 3.79 us, 3.80 us, 3.74 us, 3.74 us, 3.79 us, 3.83 us, 3.79 us, 3.78 us, 3.79 us, 3.79 us, 3.77 us, 3.76 us, 3.76 us, 3.79 us, 3.83 us, 3.76 us, 3.74 us, 3.77 us, 3.78 us
Run 21: warmup (20): 4.01 us, 4.10 us (+6%), 4.02 us, 4.03 us, 4.07 us (+5%), 4.06 us, 4.04 us, 4.04 us, 4.05 us, 3.98 us, 3.97 us, 4.03 us, 4.00 us, 4.00 us, 4.02 us, 4.00 us, 4.00 us, 4.01 us, 4.01 us, 3.94 us; samples (50): 4.00 us, 4.00 us, 4.00 us, 4.05 us, 4.00 us, 3.99 us, 4.13 us (+7%), 4.01 us, 3.97 us, 3.99 us, 4.03 us, 4.01 us, 3.97 us, 4.03 us, 4.06 us (+5%), 4.06 us, 4.02 us, 4.05 us, 4.01 us, 4.03 us, 4.23 us (+9%), 4.45 us (+15%), 4.49 us (+16%), 4.16 us (+8%), 4.13 us (+7%), 4.07 us (+5%), 3.97 us, 3.96 us, 3.94 us, 4.24 us (+10%), 4.06 us, 4.00 us, 3.98 us, 4.09 us (+6%), 3.94 us, 4.05 us, 3.97 us, 3.97 us, 3.92 us, 3.93 us, 4.01 us, 3.97 us, 3.99 us, 3.97 us, 3.96 us, 4.17 us (+8%), 3.97 us, 4.01 us, 4.06 us, 3.99 us
Run 22: warmup (20): 4.07 us (+5%), 4.05 us, 4.09 us (+6%), 4.22 us (+9%), 4.02 us, 4.17 us (+8%), 4.18 us (+8%), 4.53 us (+17%), 5.20 us (+34%), 4.02 us, 4.04 us, 4.10 us (+6%), 4.05 us, 4.04 us, 4.02 us, 4.05 us, 4.09 us (+6%), 4.09 us (+6%), 4.02 us, 4.01 us; samples (50): 4.01 us, 4.10 us (+6%), 4.06 us, 3.97 us, 3.98 us, 4.08 us (+5%), 4.07 us (+5%), 4.05 us, 4.04 us, 4.06 us, 4.08 us (+5%), 4.08 us (+5%), 3.99 us, 4.05 us, 4.08 us (+5%), 4.07 us (+5%), 4.05 us, 4.03 us, 4.04 us, 3.99 us, 3.97 us, 4.00 us, 4.01 us, 4.03 us, 4.12 us (+7%), 4.07 us (+5%), 4.03 us, 4.01 us, 4.05 us, 4.12 us (+7%), 4.00 us, 5.51 us (+42%), 4.14 us (+7%), 4.10 us (+6%), 4.08 us (+5%), 4.01 us, 4.14 us (+7%), 4.00 us, 4.00 us, 4.06 us (+5%), 4.08 us (+5%), 4.01 us, 4.03 us, 4.10 us (+6%), 4.00 us, 4.06 us (+5%), 4.20 us (+9%), 4.05 us, 4.01 us, 4.05 us
Run 23: warmup (20): 3.94 us, 3.99 us, 3.98 us, 4.00 us, 3.99 us, 4.01 us, 3.97 us, 4.05 us, 3.99 us, 3.99 us, 3.99 us, 3.99 us, 3.99 us, 4.01 us, 4.01 us, 4.03 us, 4.00 us, 4.00 us, 3.96 us, 3.93 us; samples (50): 3.93 us, 3.94 us, 3.97 us, 3.96 us, 3.95 us, 3.95 us, 3.95 us, 3.95 us, 6.29 us (+63%), 6.04 us (+56%), 4.51 us (+17%), 6.12 us (+58%), 6.09 us (+57%), 6.34 us (+64%), 6.77 us (+75%), 5.96 us (+54%), 6.38 us (+65%), 7.50 us (+94%), 8.22 us (+112%), 6.06 us (+57%), 6.12 us (+58%), 6.97 us (+80%), 6.13 us (+58%), 5.72 us (+48%), 6.41 us (+66%), 6.50 us (+68%), 6.40 us (+65%), 5.80 us (+50%), 7.34 us (+90%), 6.54 us (+69%), 6.44 us (+67%), 8.51 us (+120%), 6.14 us (+59%), 4.52 us (+17%), 4.33 us (+12%), 4.97 us (+29%), 4.59 us (+19%), 4.21 us (+9%), 4.27 us (+10%), 4.14 us (+7%), 4.23 us (+9%), 4.19 us (+8%), 4.02 us, 4.73 us (+22%), 4.00 us, 4.00 us, 4.03 us, 4.02 us, 4.00 us, 4.01 us
Run 24: warmup (20): 3.73 us, 3.80 us, 3.79 us, 3.77 us, 3.76 us, 3.80 us, 3.87 us, 3.78 us, 3.72 us, 3.75 us, 3.76 us, 3.76 us, 3.74 us, 3.76 us, 3.74 us, 3.78 us, 3.76 us, 3.77 us, 3.75 us, 3.83 us; samples (50): 3.74 us, 3.75 us, 3.76 us, 3.76 us, 3.78 us, 4.66 us (+20%), 4.31 us (+11%), 3.78 us, 4.41 us (+14%), 5.06 us (+31%), 3.91 us, 4.40 us (+14%), 3.89 us, 4.49 us (+16%), 3.99 us, 3.84 us, 3.75 us, 4.44 us (+15%), 4.40 us (+14%), 4.58 us (+18%), 4.41 us (+14%), 4.42 us (+14%), 6.83 us (+76%), 4.38 us (+13%), 3.87 us, 3.91 us, 3.88 us, 4.59 us (+19%), 4.30 us (+11%), 4.58 us (+18%), 4.06 us (+5%), 3.85 us, 3.81 us, 3.79 us, 3.84 us, 3.84 us, 3.83 us, 3.80 us, 3.76 us, 3.78 us, 3.72 us, 3.75 us, 3.73 us, 4.67 us (+21%), 3.73 us, 3.74 us, 3.74 us, 3.76 us, 3.79 us, 3.75 us
Run 25: warmup (20): 3.73 us, 3.75 us, 3.74 us, 3.79 us, 3.73 us, 3.73 us, 3.75 us, 3.76 us, 3.74 us, 3.74 us, 3.74 us, 3.76 us, 3.74 us, 3.76 us, 3.73 us, 3.78 us, 3.71 us, 3.73 us, 3.72 us, 3.74 us; samples (50): 3.77 us, 3.72 us, 3.72 us, 3.73 us, 3.74 us, 3.75 us, 3.74 us, 3.77 us, 3.75 us, 3.79 us, 3.76 us, 3.77 us, 3.73 us, 3.73 us, 3.78 us, 3.79 us, 3.78 us, 3.78 us, 3.76 us, 3.74 us, 3.77 us, 3.76 us, 3.73 us, 3.75 us, 3.76 us, 3.74 us, 3.77 us, 3.79 us, 3.76 us, 3.75 us, 3.78 us, 3.76 us, 3.78 us, 3.77 us, 3.75 us, 3.79 us, 3.79 us, 3.77 us, 3.74 us, 3.72 us, 3.73 us, 3.78 us, 3.71 us, 3.74 us, 3.74 us, 3.72 us, 3.70 us, 3.75 us, 3.72 us, 3.76 us
Run 26: warmup (20): 4.23 us (+9%), 4.33 us (+12%), 4.35 us (+12%), 4.30 us (+11%), 4.30 us (+11%), 4.31 us (+11%), 4.29 us (+11%), 4.30 us (+11%), 4.27 us (+10%), 4.33 us (+12%), 4.28 us (+11%), 4.27 us (+11%), 4.28 us (+11%), 4.30 us (+11%), 4.30 us (+11%), 4.34 us (+12%), 4.27 us (+11%), 4.31 us (+11%), 4.25 us (+10%), 4.30 us (+11%); samples (50): 4.31 us (+11%), 4.30 us (+11%), 4.31 us (+11%), 4.29 us (+11%), 4.28 us (+11%), 4.28 us (+11%), 4.26 us (+10%), 4.27 us (+10%), 4.34 us (+12%), 4.28 us (+11%), 4.32 us (+12%), 4.26 us (+10%), 4.26 us (+10%), 4.24 us (+10%), 4.26 us (+10%), 4.34 us (+12%), 4.29 us (+11%), 4.28 us (+11%), 4.28 us (+11%), 4.27 us (+11%), 4.32 us (+12%), 4.33 us (+12%), 4.27 us (+10%), 4.30 us (+11%), 4.22 us (+9%), 4.28 us (+11%), 4.31 us (+11%), 4.30 us (+11%), 4.30 us (+11%), 5.48 us (+42%), 6.22 us (+61%), 4.33 us (+12%), 4.37 us (+13%), 4.29 us (+11%), 4.29 us (+11%), 4.28 us (+11%), 4.28 us (+11%), 4.25 us (+10%), 4.23 us (+9%), 4.23 us (+9%), 4.26 us (+10%), 4.27 us (+10%), 4.25 us (+10%), 4.21 us (+9%), 4.83 us (+25%), 6.66 us (+72%), 6.63 us (+71%), 6.76 us (+75%), 6.68 us (+73%), 4.26 us (+10%)
Run 27: warmup (20): 3.75 us, 3.83 us, 3.78 us, 3.73 us, 3.79 us, 3.75 us, 3.78 us, 3.76 us, 3.77 us, 3.72 us, 3.76 us, 3.77 us, 3.75 us, 3.76 us, 4.08 us (+5%), 4.60 us (+19%), 4.25 us (+10%), 3.77 us, 3.89 us, 3.78 us; samples (50): 3.79 us, 3.78 us, 3.78 us, 3.78 us, 3.80 us, 3.76 us, 3.91 us, 3.90 us, 3.96 us, 3.80 us, 3.81 us, 3.82 us, 3.80 us, 3.81 us, 3.83 us, 3.87 us, 5.96 us (+54%), 5.97 us (+54%), 4.94 us (+28%), 3.78 us, 3.77 us, 3.78 us, 3.78 us, 3.76 us, 4.80 us (+24%), 5.61 us (+45%), 3.76 us, 3.74 us, 3.77 us, 4.04 us, 5.98 us (+55%), 5.52 us (+43%), 3.73 us, 3.73 us, 3.75 us, 3.78 us, 3.80 us, 3.76 us, 3.74 us, 3.76 us, 3.75 us, 3.72 us, 3.73 us, 3.77 us, 3.75 us, 3.81 us, 3.77 us, 3.73 us, 3.79 us, 3.74 us
Run 28: warmup (20): 3.75 us, 3.86 us, 3.81 us, 3.79 us, 3.74 us, 3.75 us, 3.76 us, 3.78 us, 3.74 us, 3.77 us, 3.74 us, 3.73 us, 3.73 us, 3.76 us, 3.71 us, 3.76 us, 3.75 us, 3.74 us, 3.91 us, 3.79 us; samples (50): 3.73 us, 3.74 us, 3.78 us, 3.72 us, 5.63 us (+46%), 5.95 us (+54%), 5.32 us (+38%), 3.76 us, 3.77 us, 3.77 us, 3.75 us, 3.80 us, 3.77 us, 3.78 us, 3.75 us, 3.78 us, 3.75 us, 3.75 us, 3.73 us, 3.77 us, 3.72 us, 3.72 us, 3.77 us, 3.74 us, 3.74 us, 3.74 us, 3.85 us, 3.76 us, 3.77 us, 3.74 us, 3.73 us, 3.78 us, 3.76 us, 3.71 us, 3.73 us, 3.74 us, 3.74 us, 3.74 us, 3.75 us, 3.75 us, 3.76 us, 3.77 us, 3.77 us, 3.75 us, 3.77 us, 3.72 us, 3.74 us, 3.75 us, 3.81 us, 3.75 us
Run 29: warmup (20): 3.84 us, 3.90 us, 3.93 us, 3.96 us, 3.96 us, 3.91 us, 3.90 us, 3.87 us, 3.85 us, 3.88 us, 3.93 us, 3.89 us, 3.93 us, 3.91 us, 3.88 us, 3.90 us, 3.87 us, 3.87 us, 3.86 us, 3.92 us; samples (50): 3.90 us, 3.94 us, 4.89 us (+27%), 4.41 us (+14%), 3.90 us, 3.95 us, 3.85 us, 3.88 us, 3.91 us, 3.92 us, 3.90 us, 3.97 us, 4.18 us (+8%), 4.76 us (+23%), 3.93 us, 3.92 us, 3.92 us, 3.93 us, 3.85 us, 3.94 us, 3.91 us, 3.90 us, 3.94 us, 3.95 us, 3.99 us, 3.90 us, 3.90 us, 3.90 us, 3.84 us, 4.74 us (+23%), 4.12 us (+7%), 4.01 us, 3.88 us, 3.85 us, 3.87 us, 3.94 us, 3.88 us, 3.90 us, 3.88 us, 3.87 us, 3.87 us, 3.88 us, 3.86 us, 4.84 us (+25%), 3.92 us, 4.04 us, 3.94 us, 3.96 us, 3.90 us, 3.87 us
Run 30: warmup (20): 3.87 us, 3.85 us, 3.78 us, 3.74 us, 3.77 us, 3.78 us, 3.82 us, 3.85 us, 4.82 us (+25%), 4.43 us (+14%), 4.00 us, 3.90 us, 3.89 us, 3.86 us, 3.85 us, 3.88 us, 3.85 us, 3.85 us, 3.96 us, 3.87 us; samples (50): 3.89 us, 3.84 us, 3.86 us, 3.85 us, 4.14 us (+7%), 3.87 us, 3.77 us, 3.87 us, 3.87 us, 3.86 us, 3.85 us, 3.86 us, 3.88 us, 3.87 us, 3.83 us, 3.88 us, 3.90 us, 3.87 us, 3.85 us, 3.88 us, 4.01 us, 4.42 us (+14%), 6.62 us (+71%), 4.36 us (+13%), 3.92 us, 3.87 us, 3.89 us, 4.98 us (+29%), 4.65 us (+20%), 4.65 us (+20%), 4.43 us (+15%), 4.42 us (+14%), 4.76 us (+23%), 4.67 us (+21%), 3.89 us, 3.73 us, 3.69 us, 3.75 us, 4.62 us (+19%), 4.82 us (+25%), 3.83 us, 3.86 us, 3.77 us, 4.56 us (+18%), 3.76 us, 3.87 us, 3.84 us, 3.83 us, 4.00 us, 3.98 us
Run 31: warmup (20): 4.29 us (+11%), 4.05 us, 4.04 us, 4.67 us (+21%), 3.95 us, 3.95 us, 3.87 us, 3.88 us, 3.85 us, 3.83 us, 3.89 us, 4.09 us (+6%), 3.87 us, 3.86 us, 3.91 us, 3.86 us, 3.88 us, 3.86 us, 3.89 us, 3.84 us; samples (50): 3.87 us, 3.92 us, 3.84 us, 3.87 us, 3.84 us, 3.86 us, 3.84 us, 3.86 us, 3.81 us, 3.81 us, 5.09 us (+32%), 3.94 us, 3.83 us, 3.85 us, 3.89 us, 3.83 us, 3.90 us, 3.85 us, 3.89 us, 3.86 us, 3.85 us, 3.82 us, 3.86 us, 3.83 us, 3.82 us, 3.79 us, 3.79 us, 3.80 us, 3.89 us, 3.86 us, 3.85 us, 3.91 us, 3.84 us, 3.89 us, 3.80 us, 3.93 us, 4.03 us, 3.93 us, 3.92 us, 3.90 us, 3.90 us, 3.81 us, 3.83 us, 3.87 us, 3.81 us, 3.85 us, 3.93 us, 3.87 us, 3.82 us, 4.30 us (+11%)
Run 32: warmup (20): 3.90 us, 3.92 us, 3.94 us, 3.88 us, 3.88 us, 3.89 us, 3.82 us, 3.86 us, 3.89 us, 3.87 us, 3.85 us, 3.89 us, 3.86 us, 3.84 us, 3.82 us, 3.87 us, 3.86 us, 3.89 us, 3.87 us, 3.88 us; samples (50): 3.88 us, 3.88 us, 3.84 us, 3.89 us, 3.82 us, 3.89 us, 3.80 us, 3.92 us, 3.87 us, 3.88 us, 3.88 us, 3.88 us, 3.86 us, 3.90 us, 3.91 us, 3.88 us, 3.94 us, 3.95 us, 3.95 us, 3.92 us, 3.90 us, 3.87 us, 3.94 us, 3.88 us, 3.92 us, 3.87 us, 3.90 us, 3.95 us, 3.88 us, 3.87 us, 3.90 us, 3.89 us, 3.90 us, 3.84 us, 3.88 us, 3.89 us, 3.88 us, 3.87 us, 3.92 us, 3.88 us, 3.86 us, 3.83 us, 3.88 us, 3.85 us, 3.88 us, 3.88 us, 3.88 us, 3.85 us, 3.93 us, 3.85 us
Run 33: warmup (20): 4.10 us (+6%), 3.86 us, 3.90 us, 4.01 us, 4.02 us, 3.93 us, 5.40 us (+39%), 5.31 us (+37%), 4.17 us (+8%), 3.92 us, 3.88 us, 3.86 us, 3.90 us, 3.84 us, 3.87 us, 3.92 us, 3.88 us, 3.86 us, 3.92 us, 3.89 us; samples (50): 3.89 us, 4.87 us (+26%), 3.85 us, 3.90 us, 3.88 us, 3.88 us, 4.05 us, 4.26 us (+10%), 3.89 us, 3.88 us, 4.12 us (+6%), 4.51 us (+17%), 4.09 us (+6%), 4.77 us (+23%), 3.90 us, 3.88 us, 3.96 us, 3.98 us, 3.87 us, 3.90 us, 3.85 us, 3.97 us, 3.88 us, 3.84 us, 3.99 us, 3.85 us, 3.84 us, 4.96 us (+28%), 4.87 us (+26%), 3.91 us, 3.91 us, 4.16 us (+7%), 5.23 us (+35%), 3.86 us, 3.85 us, 4.39 us (+14%), 8.08 us (+109%), 5.39 us (+39%), 3.92 us, 4.30 us (+11%), 3.80 us, 3.89 us, 4.70 us (+21%), 4.49 us (+16%), 3.94 us, 3.81 us, 3.90 us, 4.17 us (+8%), 4.25 us (+10%), 3.82 us
Run 34: warmup (20): 3.92 us, 4.20 us (+9%), 4.29 us (+11%), 3.99 us, 4.03 us, 4.74 us (+23%), 3.92 us, 3.96 us, 3.94 us, 3.93 us, 3.97 us, 3.99 us, 3.92 us, 3.90 us, 3.88 us, 3.97 us, 3.92 us, 3.89 us, 3.89 us, 3.82 us; samples (50): 4.44 us (+15%), 4.44 us (+15%), 3.85 us, 3.83 us, 3.88 us, 3.90 us, 3.86 us, 3.87 us, 4.04 us, 4.63 us (+20%), 4.08 us (+6%), 3.89 us, 4.21 us (+9%), 4.33 us (+12%), 4.09 us (+6%), 4.32 us (+12%), 4.34 us (+12%), 4.05 us, 3.91 us, 4.13 us (+7%), 4.33 us (+12%), 4.07 us (+5%), 3.92 us, 3.91 us, 3.96 us, 3.94 us, 3.95 us, 3.98 us, 3.97 us, 3.97 us, 3.93 us, 3.91 us, 3.91 us, 3.90 us, 3.88 us, 3.96 us, 3.92 us, 3.87 us, 3.84 us, 3.88 us, 3.86 us, 3.92 us, 3.89 us, 3.90 us, 3.85 us, 3.84 us, 3.85 us, 3.93 us, 3.94 us, 3.90 us
Run 35: warmup (20): 3.78 us, 3.88 us, 3.89 us, 3.91 us, 3.91 us, 3.93 us, 3.91 us, 3.89 us, 3.87 us, 3.90 us, 3.90 us, 3.94 us, 3.89 us, 3.87 us, 3.87 us, 3.90 us, 3.93 us, 3.86 us, 3.88 us, 4.01 us; samples (50): 3.88 us, 3.81 us, 3.86 us, 3.87 us, 3.86 us, 3.85 us, 3.87 us, 3.86 us, 3.82 us, 3.81 us, 3.85 us, 3.84 us, 3.85 us, 3.84 us, 3.84 us, 3.88 us, 3.86 us, 3.89 us, 3.82 us, 3.84 us, 3.90 us, 3.82 us, 3.86 us, 3.84 us, 3.86 us, 3.85 us, 3.89 us, 3.85 us, 3.88 us, 3.85 us, 3.87 us, 3.87 us, 3.87 us, 3.83 us, 3.92 us, 3.89 us, 3.93 us, 3.84 us, 3.87 us, 3.90 us, 3.84 us, 3.83 us, 3.86 us, 3.91 us, 3.91 us, 3.86 us, 3.90 us, 3.86 us, 3.86 us, 3.81 us
Run 36: warmup (20): 3.89 us, 3.91 us, 3.96 us, 3.92 us, 3.99 us, 3.97 us, 3.93 us, 4.16 us (+8%), 4.41 us (+14%), 4.77 us (+23%), 3.91 us, 3.89 us, 3.87 us, 3.99 us, 3.92 us, 3.99 us, 3.95 us, 3.89 us, 3.90 us, 3.86 us; samples (50): 3.85 us, 3.90 us, 3.91 us, 3.89 us, 3.88 us, 3.91 us, 3.94 us, 3.93 us, 3.94 us, 3.90 us, 3.86 us, 3.93 us, 3.87 us, 3.90 us, 3.85 us, 3.93 us, 3.99 us, 4.00 us, 3.93 us, 3.95 us, 3.89 us, 3.86 us, 3.84 us, 3.87 us, 3.86 us, 3.89 us, 3.91 us, 3.87 us, 3.87 us, 3.89 us, 3.90 us, 3.92 us, 3.87 us, 3.89 us, 3.87 us, 3.92 us, 3.89 us, 3.87 us, 3.84 us, 3.86 us, 3.87 us, 4.33 us (+12%), 4.24 us (+10%), 4.34 us (+12%), 4.01 us, 3.85 us, 3.85 us, 4.16 us (+8%), 4.62 us (+20%), 4.54 us (+17%)
Run 37: warmup (20): 3.70 us, 3.88 us, 3.87 us, 3.90 us, 3.89 us, 3.87 us, 3.90 us, 4.10 us (+6%), 4.29 us (+11%), 3.88 us, 3.97 us, 3.87 us, 4.00 us, 4.04 us, 3.98 us, 3.95 us, 3.89 us, 3.90 us, 3.96 us, 3.91 us; samples (50): 3.90 us, 3.91 us, 3.85 us, 3.87 us, 3.87 us, 3.89 us, 3.97 us, 3.84 us, 3.98 us, 3.90 us, 3.91 us, 3.88 us, 3.84 us, 3.91 us, 3.98 us, 3.88 us, 3.91 us, 3.91 us, 3.93 us, 3.92 us, 3.91 us, 3.95 us, 3.93 us, 3.89 us, 3.88 us, 3.89 us, 3.90 us, 3.90 us, 3.90 us, 4.01 us, 3.88 us, 3.88 us, 3.80 us, 3.84 us, 3.83 us, 3.79 us, 3.80 us, 3.77 us, 3.77 us, 3.86 us, 3.76 us, 3.74 us, 3.76 us, 3.78 us, 3.75 us, 3.77 us, 3.75 us, 3.75 us, 3.74 us, 3.73 us
Run 38: warmup (20): 3.90 us, 3.98 us, 3.92 us, 4.00 us, 3.94 us, 4.30 us (+11%), 3.96 us, 4.00 us, 3.95 us, 4.11 us (+6%), 4.76 us (+23%), 4.50 us (+16%), 4.75 us (+23%), 4.53 us (+17%), 4.60 us (+19%), 4.75 us (+23%), 4.79 us (+24%), 4.57 us (+18%), 4.52 us (+17%), 4.45 us (+15%); samples (50): 4.47 us (+16%), 4.46 us (+15%), 4.88 us (+26%), 4.49 us (+16%), 4.54 us (+17%), 4.02 us, 3.96 us, 3.89 us, 4.07 us (+5%), 4.09 us (+6%), 4.06 us, 5.36 us (+38%), 3.91 us, 4.09 us (+6%), 4.45 us (+15%), 4.02 us, 3.90 us, 3.96 us, 3.90 us, 3.93 us, 4.37 us (+13%), 4.20 us (+8%), 4.24 us (+10%), 5.13 us (+33%), 5.43 us (+41%), 4.18 us (+8%), 4.01 us, 4.16 us (+7%), 3.96 us, 3.97 us, 3.91 us, 4.01 us, 4.00 us, 4.09 us (+6%), 4.01 us, 3.93 us, 3.97 us, 3.89 us, 3.91 us, 3.87 us, 3.91 us, 5.40 us (+40%), 6.18 us (+60%), 5.44 us (+41%), 3.94 us, 3.92 us, 3.84 us, 3.87 us, 3.86 us, 3.97 us
Run 39: warmup (20): 3.79 us, 3.80 us, 3.81 us, 3.78 us, 3.79 us, 4.32 us (+12%), 3.72 us, 3.72 us, 3.70 us, 3.72 us, 3.71 us, 3.74 us, 3.73 us, 3.75 us, 3.74 us, 3.76 us, 3.75 us, 3.80 us, 3.71 us, 3.75 us; samples (50): 3.73 us, 3.72 us, 3.72 us, 3.71 us, 3.75 us, 3.75 us, 3.74 us, 3.75 us, 3.78 us, 3.82 us, 3.78 us, 3.75 us, 3.78 us, 3.75 us, 3.82 us, 3.79 us, 3.78 us, 3.75 us, 3.74 us, 3.74 us, 3.72 us, 3.72 us, 3.76 us, 3.72 us, 3.73 us, 3.77 us, 3.74 us, 3.74 us, 3.77 us, 3.75 us, 3.78 us, 3.75 us, 3.72 us, 3.72 us, 3.75 us, 3.76 us, 3.72 us, 3.72 us, 3.76 us, 3.78 us, 3.74 us, 3.78 us, 3.73 us, 3.72 us, 3.78 us, 3.75 us, 3.84 us, 4.90 us (+27%), 4.40 us (+14%), 3.85 us
Run 40: warmup (20): 3.82 us, 3.99 us, 3.71 us, 3.72 us, 3.73 us, 3.75 us, 3.78 us, 3.71 us, 3.66 us (-5%), 3.72 us, 3.69 us, 3.72 us, 3.69 us, 3.71 us, 3.66 us (-5%), 3.69 us, 3.68 us, 3.68 us, 3.71 us, 3.74 us; samples (50): 3.70 us, 3.73 us, 3.71 us, 3.75 us, 3.73 us, 3.67 us (-5%), 4.49 us (+16%), 3.82 us, 3.82 us, 3.81 us, 3.76 us, 3.79 us, 3.78 us, 3.80 us, 3.83 us, 3.82 us, 3.77 us, 3.99 us, 3.77 us, 3.79 us, 3.74 us, 3.84 us, 3.78 us, 3.78 us, 3.75 us, 3.88 us, 4.18 us (+8%), 3.86 us, 3.74 us, 3.76 us, 3.80 us, 3.79 us, 3.80 us, 3.74 us, 3.75 us, 3.70 us, 3.73 us, 3.77 us, 4.63 us (+20%), 4.16 us (+8%), 4.01 us, 3.82 us, 3.75 us, 3.78 us, 4.26 us (+10%), 4.33 us (+12%), 3.81 us, 3.82 us, 3.83 us, 3.76 us
3.42 us: 10 #
3.66 us: 1165 #################################################################
3.90 us: 440 #########################
4.15 us: 140 ########
4.39 us: 66 ####
4.64 us: 34 ##
4.88 us: 37 ##
5.12 us: 20 #
5.37 us: 17 #
5.61 us: 6 |
5.86 us: 18 #
6.10 us: 14 #
6.34 us: 11 #
6.59 us: 13 #
6.83 us: 2 |
7.08 us: 0 |
7.32 us: 2 |
7.56 us: 1 |
7.81 us: 0 |
8.05 us: 2 |
8.29 us: 2 |
WARNING: the benchmark seems unstable, the standard deviation is high (stdev/median: 15%)
Try to rerun the benchmark with more runs, samples and/or loops
Median +- std dev: 3.87 us +- 0.57 us
jreback
Oct 7, 2016
Contributor
I didn't mean a single top-level set-item was really an issue. rather IIRC the low-level routine that actaully sets a single value is being called in-cython multiple times.
jreback
added the
Indexing
label
Oct 6, 2016
codecov-io
commented
Oct 6, 2016
•
Current coverage is 85.25% (diff: 100%)@@ master #14359 diff @@
==========================================
Files 140 140
Lines 50655 50655
Methods 0 0
Messages 0 0
Branches 0 0
==========================================
Hits 43185 43185
Misses 7470 7470
Partials 0 0
|
| @@ -0,0 +1,84 @@ | ||
| +.. _whatsnew_0191: |
| """ | ||
| Evaluate possibly callable input using obj and kwargs if it is callable, | ||
| otherwise return as it is | ||
| """ | ||
| - if callable(maybe_callable): | ||
| + if __callable(maybe_callable): |
| @@ -711,67 +711,69 @@ def _get_values(self, indexer): | ||
| except Exception: | ||
| return self._values[indexer] | ||
| - def __setitem__(self, key, value): | ||
| - key = com._apply_if_callable(key, self) |
jreback
Oct 7, 2016
Contributor
why do you need to do it this way? this makes things even more complicated
jreback
referenced
this pull request
in pandas-dev/pandas2
Oct 7, 2016
Open
lazy array attributes #27
|
Sorry about the misunderstanding around setitem vs the inner function. I will undo the micro optimizations in python and create a safe/unsafe version of the cython function. The places where we are doing things in a loop can do a check once and delegate to the unsafe version where the spot calls can use the checked version. |
|
rebased to fix conflict in whatsnew |
| @@ -997,7 +1001,9 @@ cpdef ndarray[object] astype_str(ndarray arr): | ||
| ndarray[object] result = np.empty(n, dtype=object) | ||
| for i in range(n): |
jreback
Oct 24, 2016
Contributor
this should simply be checked once for the array (and don't call the unsafe function)
llllllllll
Oct 24, 2016
Contributor
We don't need an explicit check because we created this array with np.empty so it is mutable. The unsafe version of the function is the one that doesn't do the writeable check so this does what you describe unless I am missing something.
llllllllll
Oct 24, 2016
Contributor
On this line, it is always readonly. The only places where we call this in a loop are with known writeable arrays created by empty. In those cases we are going through the exact same code path as before, the function was just renamed to set_value_at_unsafe. In the other case, we were only doing scalar assignments so there was no looping. Those pay a very slight penalty to check the flags but in almost all cases it will return true. Also the main cost of that is dereferencing the array object but we do that in the expected case anyways.
| @@ -986,7 +988,9 @@ cpdef ndarray[object] astype_unicode(ndarray arr): | ||
| ndarray[object] result = np.empty(n, dtype=object) | ||
| for i in range(n): | ||
| - util.set_value_at(result, i, unicode(arr[i])) | ||
| + # we can use the unsafe version because we know `result` is mutable | ||
| + # since it was created from `np.empty` |
jreback
added this to the
0.19.1
milestone
Oct 24, 2016
jreback
closed this
in 5cf6d94
Oct 24, 2016
|
thanks! maybe make an issue on pandas2 repo about this (IIRC you made a comment already), so that this is not forgotton. |
|
Thank you! I think this is not an issue in pandas2 because series is backed with a pandas.Array instead of an ndarray. |
jorisvandenbossche
added a commit
to jorisvandenbossche/pandas
that referenced
this pull request
Nov 2, 2016
|
|
llllllllll + jorisvandenbossche |
4419907
|
amolkahat
added a commit
to amolkahat/pandas
that referenced
this pull request
Nov 26, 2016
|
|
llllllllll + amolkahat |
09d4670
|
llllllllll commentedOct 5, 2016
git diff upstream/master | flake8 --diffreproduction case:
In the case I was running into I was passing a
numpy.memmapwhich is a subclass ofndarraybut was over a read only memory segment so attempting the setitem was causing a segfault. The new behavior matches the numpy behavior: