Skip to content

ENH: Support dateutil timezones. GH4688. #6968

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 4, 2014

Conversation

dbew
Copy link
Contributor

@dbew dbew commented Apr 25, 2014

closes #4688

This PR should provide support for dateutil timezones. It was discussed quite a bit in #4689.

The discussion there ended two months back with "we should incorporate this if it can be made seamless". I think I've managed that now so it would be great to get some feedback on the changes in this PR.

Everything that works with pytz timezones should work with dateutil timezones and you shouldn't notice any difference in behaviour when you change between them. There are two exceptions which I'm looking at now: saving data to ujson and pytables.

The changes I've made just allow pandas to treat dateutil timezones exactly the same as pytz timezones (from the user perspective) - just extending conversion logic to deal with both where appropriate. This has made a few methods a bit more complicated but relatively few changes were required.

All of the significant changes are in tslib.pyx. Almost all of the other changes are adding test cases for the dateutil timezones. The test suites pass locally.

Let me know if you have any questions or if there's anything that needs doing before the PR can be accepted.

@jreback
Copy link
Contributor

jreback commented Apr 25, 2014

can you provide a vbench and its results (there maybe already something in there), but if not, pls add; essentially working with Timestamp/DatetimeIndex with a timezone for pytz & dateutil would be useful

@dbew
Copy link
Contributor Author

dbew commented Apr 28, 2014

I've tried running the vbench tests but they fail part way through with an error about checksums not being unique (output below). This happens with the current pandas master and my branch. It looks like there are duplicate tests in the test suite.

Packages installed are:
GitPython - 0.3.2.RC1
affinity - 0.1.0
psutil - 2.1.0
SQLAlchemy - 0.9.4

Error was:

sqlalchemy.exc.IntegrityError: (IntegrityError) column checksum is not unique u'INSERT INTO benchmarks (checksum, name, description) VALUES (?, ?, ?)' ('ea1993ef61c3cc4e871d2cce3c5d983c', 'eval_frame_chained_cmp_python', None)

I hacked around in eval.py a bit and got past this error (by unduplicating tests by commenting out setup = common_setup) but then get a different error:

*** Running benchmarks for baseline [4614ac8]
Traceback (most recent call last):
  File "/users/is/dbew/src/pandas/vb_suite/test_perf.py", line 616, in <module>
    main()
  File "/users/is/dbew/src/pandas/vb_suite/test_perf.py", line 523, in main
    profile_comparative(benchmarks)
  File "/users/is/dbew/src/pandas/vb_suite/test_perf.py", line 242, in profile_comparative
    runner._run_and_write_results(h_baseline)
  File "/users/is/dbew/pyenvs/tspandas/lib/python2.7/site-packages/vbench/runner.py", line 124, in _run_and_write_results
    n_active_benchmarks, results = self._run_revision(rev)
  File "/users/is/dbew/pyenvs/tspandas/lib/python2.7/site-packages/vbench/runner.py", line 157, in _run_revision
    need_to_run = self._get_benchmarks_for_rev(rev)
  File "/users/is/dbew/pyenvs/tspandas/lib/python2.7/site-packages/vbench/runner.py", line 214, in _get_benchmarks_for_rev
    timestamp = self.repo.timestamps[rev]
  File "/users/is/dbew/src/pandas/pandas/core/series.py", line 480, in __getitem__
    result = self.index.get_value(self, key)
  File "/users/is/dbew/src/pandas/pandas/core/index.py", line 1173, in get_value
    raise e1
KeyError: '4614ac8'

I'm not sure where to go to fix this (and I'm wary of changing the tests too much!). Any suggestions?

@jreback
Copy link
Contributor

jreback commented Apr 28, 2014

are you sure you are rebase to master?

you are running test_perf.sh -b master -t HEAD ?

@dbew
Copy link
Contributor Author

dbew commented Apr 28, 2014

That's the command I was running. I was rebased to master when I submitted the PR. I'll be a little bit behind now. I've rebased to master and I still get the checksum/duplicate test error. If I comment out the setup = common_setup line in vb_suite/eval.py then things look better. It's been running for a while now and (fingers crossed) looks like it will succeed.

If being rebased to master is a requirement for running the vbench tests, it would be great to add it to the wiki page (https://github.com/pydata/pandas/wiki/Performance-Testing).

@jreback
Copy link
Contributor

jreback commented Apr 28, 2014

its not, I am just puzzled by your error.

@jreback
Copy link
Contributor

jreback commented Apr 28, 2014

@cpcloud did we have an issue with the eval.py vbench?

@dbew
Copy link
Contributor Author

dbew commented Apr 28, 2014

ah ok. Rebasing seems to have fixed things anyway. Results below.

I'm a bit surprised that some things were 2 * faster on the head than the base - possibly some uneven load on the node I was using. Ditto for the things that are 1.5 times slower..

*** Processing results...
*** 
Invoked with :
--ncalls: 3
--repeats: 3


-------------------------------------------------------------------------------
Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------
index_float64_mul                            |   1.9953 |   5.5653 |   0.3585 |
timestamp_ops_diff1                          |   8.7806 |  16.4630 |   0.5334 |
frame_add_st                                 |   5.2866 |   8.9513 |   0.5906 |
frame_mult_no_ne                             |   5.1429 |   8.3390 |   0.6167 |
frame_mult_st                                |   5.3670 |   8.6907 |   0.6176 |
frame_add                                    |   5.1514 |   8.1043 |   0.6356 |
frame_add_no_ne                              |   5.1620 |   7.9417 |   0.6500 |
frame_mult                                   |   5.5860 |   7.9067 |   0.7065 |
index_float64_div                            |   2.3973 |   3.3680 |   0.7118 |
timestamp_ops_diff2                          |  22.5526 |  30.6676 |   0.7354 |
melt_dataframe                               |   3.1570 |   4.2810 |   0.7374 |
groupby_last_float32                         |   4.7283 |   6.2920 |   0.7515 |
eval_frame_mult_python_one_thread            |  19.2231 |  25.3223 |   0.7591 |
groupby_first_float32                        |   4.6550 |   6.0060 |   0.7751 |
groupby_simple_compress_timing               |  39.1006 |  49.5526 |   0.7891 |
eval_frame_add_python                        |  20.2080 |  25.0476 |   0.8068 |
index_str_boolean_series_indexer             |  17.5340 |  21.7293 |   0.8069 |
frame_multi_and                              |  96.6717 | 118.7810 |   0.8139 |
frame_multi_and_st                           |  96.8130 | 118.5303 |   0.8168 |
indexing_dataframe_boolean                   |  47.9060 |  58.3877 |   0.8205 |
indexing_dataframe_boolean_st                |  49.8010 |  60.4183 |   0.8243 |
timestamp_series_compare                     |   3.2677 |   3.9586 |   0.8255 |
join_dataframe_integer_2key                  |   6.7584 |   8.1650 |   0.8277 |
frame_multi_and_no_ne                        | 107.6241 | 128.7649 |   0.8358 |
groupby_indices                              |   8.8313 |  10.5463 |   0.8374 |
packers_write_pickle                         |  81.6313 |  97.3893 |   0.8382 |
lib_fast_zip                                 |  10.1543 |  11.9693 |   0.8484 |
index_float64_construct                      |  56.2060 |  66.2383 |   0.8485 |
frame_fancy_lookup_all                       |  14.3453 |  16.8599 |   0.8509 |
indexing_dataframe_boolean_no_ne             |  48.9690 |  57.3624 |   0.8537 |
frame_ctor_list_of_dict                      |  96.1037 | 112.2804 |   0.8559 |
unstack_sparse_keyspace                      |   2.1680 |   2.5090 |   0.8641 |
frame_shift_axis_1                           |  43.9564 |  50.8153 |   0.8650 |
series_timestamp_compare                     |   3.2370 |   3.7393 |   0.8657 |
strings_contains_few_noregex                 |   2.7807 |   3.1947 |   0.8704 |
strings_startswith                           |   5.1313 |   5.8513 |   0.8769 |
strings_contains_many_noregex                |   2.8964 |   3.2996 |   0.8778 |
frame_ctor_dtindex_QuarterEnd(1)             |   1.8653 |   2.1180 |   0.8807 |
frame_reindex_upcast                         |  10.0940 |  11.4103 |   0.8846 |
strings_endswith                             |   5.1637 |   5.7960 |   0.8909 |
frame_ctor_nested_dict                       |  91.3500 | 102.2827 |   0.8931 |
frame_ctor_dtindex_BQuarterBegin(1)          |   1.8944 |   2.1196 |   0.8937 |
join_dataframe_index_single_key_small        |   7.4107 |   8.2793 |   0.8951 |
packers_write_pack                           |  19.5897 |  21.8493 |   0.8966 |
strings_match                                |   8.4483 |   9.3930 |   0.8994 |
packers_read_json_date_index                 | 195.2494 | 216.3324 |   0.9025 |
frame_interpolate                            | 110.9374 | 122.0270 |   0.9091 |
strings_join_split                           |  44.1917 |  48.5387 |   0.9104 |
frame_drop_duplicates_na                     |  19.7106 |  21.5237 |   0.9158 |
frame_reindex_both_axes_ix                   |  46.9763 |  51.2510 |   0.9166 |
lib_fast_zip_fillna                          |  17.8487 |  19.4446 |   0.9179 |
frame_ctor_dtindex_BMonthBegin(2)            |   1.8550 |   2.0200 |   0.9183 |
frame_fillna_inplace                         |  12.4234 |  13.5150 |   0.9192 |
eval_frame_chained_cmp_python_one_thread     |  85.7280 |  93.2273 |   0.9196 |
index_str_boolean_indexer                    |  19.0310 |  20.6760 |   0.9204 |
strings_strip                                |   5.5857 |   6.0520 |   0.9229 |
frame_object_equal                           |   5.1287 |   5.5460 |   0.9248 |
groupby_frame_cython_many_columns            |   5.3680 |   5.8033 |   0.9250 |
frame_ctor_nested_dict_int64                 | 123.3296 | 132.7023 |   0.9294 |
frame_mask_floats                            |  21.3384 |  22.8610 |   0.9334 |
index_int64_intersection                     |  31.6500 |  33.8820 |   0.9341 |
read_csv_vb                                  |  20.5286 |  21.9603 |   0.9348 |
strings_slice                                |   3.3886 |   3.6240 |   0.9351 |
strings_replace                              |  20.5081 |  21.9186 |   0.9356 |
index_float64_boolean_indexer                |   6.3004 |   6.7254 |   0.9368 |
stats_rank2d_axis0_average                   |  25.8540 |  27.5617 |   0.9380 |
frame_ctor_dtindex_YearEnd(1)                |   0.7373 |   0.7857 |   0.9384 |
frame_from_records_generator                 |  72.0653 |  76.6703 |   0.9399 |
frame_ctor_dtindex_Minute(2)                 |   1.3343 |   1.4183 |   0.9408 |
frame_sort_index_by_columns                  |  48.7880 |  51.8423 |   0.9411 |
packers_read_pickle                          |  60.8387 |  64.4303 |   0.9443 |
frame_ctor_dtindex_MonthEnd(2)               |   1.8394 |   1.9476 |   0.9444 |
series_align_int64_index                     |  29.6777 |  31.3073 |   0.9479 |
dtindex_from_series_ctor                     |   0.0193 |   0.0203 |   0.9492 |
frame_to_string_floats                       |  40.6387 |  42.7690 |   0.9502 |
frame_dropna_axis1_all                       | 328.4757 | 345.5430 |   0.9506 |
ctor_index_array_string                      |   0.0263 |   0.0277 |   0.9511 |
replace_replacena                            |   4.8477 |   5.0851 |   0.9533 |
read_csv_comment2                            |  18.4877 |  19.3777 |   0.9541 |
frame_isnull                                 |   3.8563 |   4.0417 |   0.9541 |
strings_get                                  |   3.7260 |   3.9050 |   0.9542 |
series_getitem_label_slice                   |   0.0960 |   0.1006 |   0.9542 |
index_int64_union                            |  83.0027 |  86.8150 |   0.9561 |
strings_count                                |   9.0820 |   9.4966 |   0.9563 |
strings_pad                                  |   5.4110 |   5.6570 |   0.9565 |
eval_frame_add_python_one_thread             |  23.0480 |  24.0954 |   0.9565 |
frame_constructor_ndarray                    |   0.1193 |   0.1246 |   0.9573 |
strings_title                                |   4.5033 |   4.7043 |   0.9573 |
index_from_series_ctor                       |   0.0307 |   0.0320 |   0.9578 |
series_align_left_monotonic                  |  14.7477 |  15.3894 |   0.9583 |
strings_lstrip                               |   5.1214 |   5.3376 |   0.9595 |
frame_shift_axis0                            |  22.0064 |  22.9143 |   0.9604 |
groupby_frame_singlekey_integer              |   3.3523 |   3.4893 |   0.9607 |
timeseries_to_datetime_iso8601               |   5.6003 |   5.8250 |   0.9614 |
groupby_transform                            | 226.0273 | 235.0620 |   0.9616 |
frame_drop_duplicates                        |  19.0317 |  19.7810 |   0.9621 |
stat_ops_frame_mean_float_axis_1             |   6.5137 |   6.7533 |   0.9645 |
groupby_frame_apply                          |  59.9020 |  61.9946 |   0.9662 |
replace_fillna                               |   4.4066 |   4.5570 |   0.9670 |
dataframe_resample_max_string                |   2.5733 |   2.6604 |   0.9673 |
eval_frame_and_python                        |  54.2864 |  56.0973 |   0.9677 |
stat_ops_level_frame_sum                     |   4.7561 |   4.9130 |   0.9681 |
groupby_multi_size                           |  30.0874 |  31.0584 |   0.9687 |
frame_object_unequal                         |   0.0100 |   0.0103 |   0.9692 |
datamatrix_getitem_scalar                    |   0.0126 |   0.0130 |   0.9695 |
frame_float_equal                            |  15.9620 |  16.4393 |   0.9710 |
frame_to_csv2                                | 123.0487 | 126.7003 |   0.9712 |
eval_frame_and_python_one_thread             |  52.9327 |  54.4980 |   0.9713 |
frame_mask_bools                             |  29.7403 |  30.5800 |   0.9725 |
series_getitem_pos_slice                     |   0.0820 |   0.0843 |   0.9727 |
indexing_dataframe_boolean_rows              |   0.4720 |   0.4850 |   0.9731 |
strings_center                               |   5.4577 |   5.6033 |   0.9740 |
series_value_counts_strings                  |   9.2594 |   9.5046 |   0.9742 |
period_setitem                               | 166.1894 | 170.4067 |   0.9753 |
stats_corr_spearman                          | 104.1414 | 106.7260 |   0.9758 |
groupby_series_simple_cython                 | 285.0246 | 291.6270 |   0.9774 |
frame_ctor_dtindex_CustomBusinessDay(1)      |   1.8604 |   1.9034 |   0.9774 |
frame_to_csv_date_formatting                 |  19.9323 |  20.3923 |   0.9774 |
frame_fillna_many_columns_pad                |  14.9657 |  15.3089 |   0.9776 |
groupby_multi_cython                         |  19.5580 |  19.9960 |   0.9781 |
frame_ctor_dtindex_BQuarterBegin(2)          |   0.7044 |   0.7196 |   0.9788 |
frame_apply_ref_by_name                      |  18.4900 |  18.8860 |   0.9790 |
reshape_unstack_simple                       |   4.2503 |   4.3406 |   0.9792 |
frame_ctor_dtindex_Day(1)                    |   1.3277 |   1.3553 |   0.9796 |
sort_level_one                               |   4.8783 |   4.9787 |   0.9798 |
index_float64_boolean_series_indexer         |   6.5590 |   6.6930 |   0.9800 |
strings_lower                                |   4.5153 |   4.6047 |   0.9806 |
strings_extract                              |  52.0624 |  53.0787 |   0.9809 |
frame_apply_user_func                        | 260.3103 | 265.1023 |   0.9819 |
strings_contains_many                        |   8.2290 |   8.3787 |   0.9821 |
frame_fancy_lookup                           |   5.3953 |   5.4893 |   0.9829 |
strings_contains_few                         |   7.5646 |   7.6950 |   0.9831 |
sparse_frame_constructor                     |  12.8647 |  13.0813 |   0.9834 |
join_dataframe_index_single_key_bigger_sort  |  17.9470 |  18.2483 |   0.9835 |
frame_get_numeric_data                       |   0.2004 |   0.2037 |   0.9836 |
frame_iteritems                              |  50.4746 |  51.2960 |   0.9840 |
frame_ctor_dtindex_CBMonthBegin(1)           |   3.2837 |   3.3353 |   0.9845 |
frame_interpolate_some_good                  |   2.7424 |   2.7850 |   0.9847 |
groupby_apply_dict_return                    |  53.9667 |  54.7557 |   0.9856 |
frame_ctor_dtindex_BusinessDay(1)            |   1.7227 |   1.7477 |   0.9857 |
strings_repeat                               |   5.6504 |   5.7317 |   0.9858 |
frame_xs_row                                 |   0.0687 |   0.0696 |   0.9863 |
stat_ops_frame_sum_float_axis_0              |   5.7510 |   5.8256 |   0.9872 |
frame_ctor_dtindex_YearEnd(2)                |   0.7067 |   0.7153 |   0.9879 |
packers_write_csv                            | 1687.6007 | 1707.6540 |   0.9883 |
series_constructor_ndarray                   |   0.0270 |   0.0273 |   0.9884 |
groupby_pivot_table                          |  22.0580 |  22.3014 |   0.9891 |
eval_frame_chained_cmp_python                |  91.8124 |  92.7603 |   0.9898 |
series_string_vector_slice                   | 231.0763 | 233.3353 |   0.9903 |
read_csv_standard                            |  11.6446 |  11.7574 |   0.9904 |
strings_upper                                |   4.3407 |   4.3823 |   0.9905 |
frame_iloc_big                               |   0.2793 |   0.2820 |   0.9907 |
groupby_multi_series_op                      |  17.6103 |  17.7677 |   0.9911 |
frame_dropna_axis1_any                       | 218.1180 | 219.8673 |   0.9920 |
read_csv_infer_datetime_format_ymd           |   2.9686 |   2.9913 |   0.9924 |
timeseries_custom_bday_incr_n                |   0.0417 |   0.0420 |   0.9924 |
timeseries_custom_bmonthend_incr_n           |   0.1806 |   0.1820 |   0.9926 |
timedelta_convert_string_seconds             | 245.8370 | 247.6426 |   0.9927 |
frame_insert_500_columns_end                 | 137.9886 | 138.9033 |   0.9934 |
timeseries_custom_bmonthend_incr             |   0.1636 |   0.1647 |   0.9937 |
frame_ctor_dtindex_Nano(1)                   |   1.6590 |   1.6693 |   0.9938 |
read_csv_thou_vb                             |  18.3896 |  18.4956 |   0.9943 |
write_csv_standard                           |  47.1207 |  47.3700 |   0.9947 |
frame_get_dtype_counts                       |   0.1350 |   0.1357 |   0.9953 |
series_align_irregular_string                |  83.6217 |  83.9940 |   0.9956 |
series_ctor_from_dict                        |   3.8386 |   3.8557 |   0.9956 |
frame_iteritems_cached                       |   0.8940 |   0.8980 |   0.9956 |
frame_nonunique_equal                        |   5.0700 |   5.0890 |   0.9963 |
frame_ctor_dtindex_YearBegin(2)              |   0.7033 |   0.7053 |   0.9972 |
frame_from_records_generator_nrows           |   1.1396 |   1.1423 |   0.9977 |
frame_ctor_dtindex_BQuarterEnd(1)            |   1.8794 |   1.8837 |   0.9977 |
strings_cat                                  |   1.4300 |   1.4327 |   0.9981 |
frame_getitem_single_column                  |  39.0877 |  39.1480 |   0.9985 |
panel_pct_change_minor                       | 6666.7944 | 6676.9559 |   0.9985 |
replace_large_dict                           | 24111.6477 | 24148.0513 |   0.9985 |
read_table_multiple_date_baseline            |  97.5920 |  97.7290 |   0.9986 |
packers_read_pack                            |  97.1883 |  97.3206 |   0.9986 |
frame_iloc_dups                              |   0.3823 |   0.3827 |   0.9990 |
frame_to_csv                                 | 147.8800 | 147.9677 |   0.9994 |
timeseries_period_downsample_mean            |  13.3500 |  13.3570 |   0.9995 |
frame_ctor_dtindex_BMonthEnd(2)              |   1.8524 |   1.8524 |   1.0000 |
frame_nonunique_unequal                      |   0.0110 |   0.0110 |   1.0000 |
join_dataframe_index_multi                   |  23.5303 |  23.5243 |   1.0003 |
frame_ctor_dtindex_MonthBegin(1)             |   1.8129 |   1.8117 |   1.0007 |
stat_ops_level_series_sum_multiple           |   9.5453 |   9.5376 |   1.0008 |
datetimeindex_add_offset                     |   0.3254 |   0.3250 |   1.0010 |
frame_assign_timeseries_index                |   0.8844 |   0.8833 |   1.0012 |
frame_apply_lambda_mean                      |   8.7566 |   8.7454 |   1.0013 |
frame_ctor_dtindex_BYearBegin(1)             |   0.7077 |   0.7067 |   1.0015 |
datetime_index_intersection                  |   0.4277 |   0.4270 |   1.0017 |
frame_apply_pass_thru                        |   6.6960 |   6.6840 |   1.0018 |
dataframe_resample_min_string                |   2.1480 |   2.1440 |   1.0019 |
frame_html_repr_trunc_mi                     |  57.2037 |  57.0916 |   1.0020 |
datetimeindex_normalize                      |   3.5396 |   3.5326 |   1.0020 |
series_value_counts_int64                    |   2.8319 |   2.8257 |   1.0022 |
frame_ctor_dtindex_CDay(1)                   |   1.8810 |   1.8760 |   1.0027 |
frame_insert_100_columns_begin               |  80.0610 |  79.8160 |   1.0031 |
stats_rank_pct_average                       |  33.7420 |  33.6357 |   1.0032 |
stat_ops_frame_mean_float_axis_0             |   5.8457 |   5.8260 |   1.0034 |
frame_repr_wide                              |  18.2863 |  18.2240 |   1.0034 |
frame_loc_dups                               |   1.0564 |   1.0526 |   1.0035 |
frame_ctor_dtindex_QuarterBegin(2)           |   0.7047 |   0.7021 |   1.0037 |
timeseries_slice_minutely                    |   0.1004 |   0.1000 |   1.0040 |
sort_level_zero                              |   4.9340 |   4.9133 |   1.0042 |
groupby_multi_different_functions            |  14.7230 |  14.6570 |   1.0045 |
packers_write_json_date_index                | 130.1154 | 129.4047 |   1.0055 |
timedelta_convert_string                     | 240.3323 | 238.7787 |   1.0065 |
dti_reset_index                              |   0.6297 |   0.6254 |   1.0069 |
reshape_stack_simple                         |   3.1380 |   3.1163 |   1.0070 |
stats_rank2d_axis1_average                   |  15.4777 |  15.3673 |   1.0072 |
frame_ctor_dtindex_MonthEnd(1)               |   1.8300 |   1.8167 |   1.0073 |
read_csv_infer_datetime_format_iso8601       |   2.4614 |   2.4433 |   1.0074 |
reindex_frame_level_reindex                  |   1.0386 |   1.0310 |   1.0074 |
timeseries_infer_freq                        |  10.7423 |  10.6620 |   1.0075 |
stats_rank_average                           |  33.1416 |  32.8877 |   1.0077 |
frame_ctor_dtindex_BDay(2)                   |   1.7720 |   1.7579 |   1.0080 |
dataframe_resample_max_numpy                 |   2.5887 |   2.5680 |   1.0080 |
frame_ctor_dtindex_Hour(2)                   |   1.3676 |   1.3567 |   1.0081 |
frame_reindex_both_axes                      |  51.3857 |  50.9680 |   1.0082 |
frame_ctor_dtindex_CDay(2)                   |   1.8326 |   1.8170 |   1.0086 |
dataframe_resample_mean_numpy                |   3.1699 |   3.1416 |   1.0090 |
timeseries_1min_5min_ohlc                    |   0.9280 |   0.9197 |   1.0091 |
frame_ctor_dtindex_CustomBusinessDay(2)      |   1.8313 |   1.8144 |   1.0093 |
frame_ctor_dtindex_CBMonthEnd(1)             |   3.9914 |   3.9543 |   1.0094 |
timeseries_to_datetime_YYYYMMDD              |  11.4703 |  11.3627 |   1.0095 |
frame_drop_dup_na_inplace                    |   3.0700 |   3.0410 |   1.0095 |
groupby_sum_booleans                         |   1.5473 |   1.5326 |   1.0095 |
groupby_last                                 |   4.7294 |   4.6833 |   1.0098 |
panel_pct_change_items                       | 6043.2860 | 5984.2366 |   1.0099 |
dataframe_resample_min_numpy                 |   2.1714 |   2.1493 |   1.0102 |
stats_rolling_mean                           |   1.5807 |   1.5647 |   1.0103 |
concat_empty_frames2                         |   1.1227 |   1.1113 |   1.0103 |
frame_reindex_axis1                          | 646.7133 | 639.5580 |   1.0112 |
append_frame_single_mixed                    |   1.8370 |   1.8163 |   1.0114 |
frame_drop_dup_inplace                       |   3.3203 |   3.2820 |   1.0117 |
datetimeindex_infer_dst                      |   4.0924 |   4.0437 |   1.0120 |
frame_ctor_dtindex_Micro(1)                  |   1.3293 |   1.3134 |   1.0122 |
timeseries_1min_5min_mean                    |   0.8493 |   0.8390 |   1.0123 |
frame_ctor_dtindex_MonthBegin(2)             |   1.8240 |   1.8016 |   1.0124 |
dataframe_resample_mean_string               |   3.2030 |   3.1637 |   1.0124 |
read_csv_infer_datetime_format_custom        |  12.5283 |  12.3717 |   1.0127 |
timedelta_convert_int                        |   0.2883 |   0.2847 |   1.0128 |
frame_html_repr_trunc_si                     |  44.9580 |  44.3664 |   1.0133 |
groupby_first                                |   4.5173 |   4.4560 |   1.0138 |
frame_ctor_dtindex_CBMonthBegin(2)           |   2.9077 |   2.8673 |   1.0141 |
frame_apply_axis_1                           | 121.7580 | 120.0610 |   1.0141 |
frame_ctor_dtindex_Second(1)                 |   1.3216 |   1.3023 |   1.0148 |
read_parse_dates_iso8601                     |   1.8183 |   1.7914 |   1.0150 |
frame_ctor_dtindex_BDay(1)                   |   1.7197 |   1.6933 |   1.0156 |
stats_rank_average_int                       |  22.6676 |  22.3196 |   1.0156 |
frame_ctor_dtindex_BYearEnd(1)               |   0.7117 |   0.7006 |   1.0158 |
frame_getitem_single_column2                 |  41.4877 |  40.8397 |   1.0159 |
frame_ctor_dtindex_YearBegin(1)              |   0.7203 |   0.7087 |   1.0165 |
groupby_multi_different_numpy_functions      |  14.8776 |  14.6296 |   1.0170 |
frame_ctor_dtindex_BMonthEnd(1)              |   1.8377 |   1.8063 |   1.0174 |
frame_dropna_axis0_any                       |  65.4663 |  64.3264 |   1.0177 |
frame_ctor_dtindex_BusinessDay(2)            |   1.7690 |   1.7380 |   1.0178 |
read_table_multiple_date                     | 217.1130 | 213.2933 |   1.0179 |
frame_dropna_axis0_all                       | 106.6650 | 104.7327 |   1.0184 |
frame_ctor_dtindex_Second(2)                 |   1.3301 |   1.3057 |   1.0187 |
stat_ops_series_std                          |   1.2403 |   1.2163 |   1.0197 |
join_dataframe_integer_key                   |   2.2031 |   2.1597 |   1.0201 |
merge_2intkey_sort                           |  48.2104 |  47.2504 |   1.0203 |
indexing_panel_subset                        |   1.3866 |   1.3587 |   1.0206 |
frame_apply_np_mean                          |   9.6290 |   9.4303 |   1.0211 |
frame_ctor_dtindex_Day(2)                    |   1.3370 |   1.3093 |   1.0211 |
frame_ctor_dtindex_Milli(2)                  |   1.3367 |   1.3087 |   1.0214 |
frame_interpolate_some_good_infer            |   4.9647 |   4.8600 |   1.0215 |
groupby_multi_python                         | 171.9500 | 168.1400 |   1.0227 |
stat_ops_level_series_sum                    |   3.4076 |   3.3253 |   1.0248 |
strings_len                                  |   3.4900 |   3.4020 |   1.0259 |
packers_read_csv                             | 177.4120 | 172.9314 |   1.0259 |
series_drop_duplicates_string                |   0.8386 |   0.8173 |   1.0261 |
sparse_series_to_frame                       | 161.3110 | 157.1720 |   1.0263 |
frame_ctor_dtindex_Minute(1)                 |   1.3564 |   1.3204 |   1.0273 |
frame_ctor_dtindex_Week(1)                   |   1.5876 |   1.5450 |   1.0276 |
frame_ctor_dtindex_BYearEnd(2)               |   0.7266 |   0.7070 |   1.0278 |
frame_xs_mi_ix                               |   0.5043 |   0.4900 |   1.0292 |
frame_repr_tall                              |  28.0213 |  27.2086 |   1.0299 |
reindex_frame_level_align                    |   1.0764 |   1.0450 |   1.0300 |
timeseries_custom_bday_incr                  |   0.0244 |   0.0237 |   1.0302 |
frame_to_html_mixed                          | 355.1573 | 344.5957 |   1.0306 |
frame_ctor_dtindex_BYearBegin(2)             |   0.7263 |   0.7047 |   1.0307 |
frame_reindex_columns                        |   0.4203 |   0.4077 |   1.0310 |
frame_boolean_row_select                     |   0.4070 |   0.3947 |   1.0312 |
frame_ctor_dtindex_Micro(2)                  |   1.3400 |   1.2993 |   1.0313 |
frame_ctor_dtindex_QuarterEnd(2)             |   0.7240 |   0.7013 |   1.0323 |
series_xs_mi_ix                              |   0.4617 |   0.4470 |   1.0327 |
groupby_frame_apply_overhead                 |  12.4576 |  12.0606 |   1.0329 |
timeseries_asof_single                       |   0.0517 |   0.0500 |   1.0334 |
stat_ops_frame_sum_float_axis_1              |   6.2683 |   6.0577 |   1.0348 |
stat_ops_frame_sum_int_axis_0                |   6.3940 |   6.1777 |   1.0350 |
concat_series_axis1                          | 149.2670 | 144.0970 |   1.0359 |
timeseries_asof_nan                          |   8.6093 |   8.3080 |   1.0363 |
frame_ctor_dtindex_Nano(2)                   |   1.6960 |   1.6363 |   1.0365 |
reindex_multiindex                           |   1.8130 |   1.7490 |   1.0366 |
indexing_dataframe_boolean_rows_object       |   0.7529 |   0.7260 |   1.0371 |
series_drop_duplicates_int                   |   0.9147 |   0.8817 |   1.0374 |
strings_findall                              |  11.7080 |  11.2773 |   1.0382 |
frame_to_csv_mixed                           | 255.3407 | 245.9053 |   1.0384 |
frame_from_series                            |   0.1477 |   0.1420 |   1.0397 |
timeseries_asof                              |   9.3141 |   8.9486 |   1.0408 |
frame_ctor_dtindex_Milli(1)                  |   1.3660 |   1.3117 |   1.0414 |
datetime_index_union                         |   0.0937 |   0.0900 |   1.0415 |
frame_dtypes                                 |   0.1434 |   0.1376 |   1.0416 |
panel_shift                                  | 454.3660 | 436.1170 |   1.0418 |
frame_ctor_dtindex_BMonthBegin(1)            |   1.9227 |   1.8430 |   1.0433 |
timeseries_large_lookup_value                |   0.0400 |   0.0383 |   1.0436 |
eval_frame_mult_python                       |  26.8696 |  25.6897 |   1.0459 |
reshape_pivot_time_series                    | 246.1733 | 234.3150 |   1.0506 |
frame_ctor_dtindex_QuarterBegin(1)           |   1.9030 |   1.8103 |   1.0512 |
frame_ctor_dtindex_Week(2)                   |   1.6140 |   1.5350 |   1.0515 |
dataframe_getitem_scalar                     |   0.0130 |   0.0123 |   1.0516 |
datetimeindex_unique                         |   0.1580 |   0.1500 |   1.0530 |
stat_ops_frame_mean_int_axis_0               |   6.5147 |   6.1851 |   1.0533 |
panel_pct_change_major                       | 6246.0247 | 5929.1674 |   1.0534 |
stat_ops_level_frame_sum_multiple            |  11.3093 |  10.7217 |   1.0548 |
merge_2intkey_nosort                         |  21.8900 |  20.7467 |   1.0551 |
frame_ctor_dtindex_Hour(1)                   |   1.3833 |   1.3107 |   1.0554 |
stat_ops_frame_sum_int_axis_1                |   6.7077 |   6.3147 |   1.0622 |
groupby_frame_median                         |   8.1857 |   7.6940 |   1.0639 |
timeseries_timestamp_downsample_mean         |   6.2390 |   5.8283 |   1.0705 |
stat_ops_frame_mean_int_axis_1               |   7.7223 |   7.2040 |   1.0719 |
frame_float_unequal                          |   0.0106 |   0.0099 |   1.0720 |
timeseries_sort_index                        |  10.2407 |   9.5297 |   1.0746 |
timeseries_add_irregular                     |  22.8906 |  21.2816 |   1.0756 |
match_strings                                |   0.5736 |   0.5280 |   1.0864 |
frame_reindex_axis0                          | 139.6887 | 127.7893 |   1.0931 |
strings_rstrip                               |   6.1407 |   5.2513 |   1.1694 |
frame_ctor_dtindex_CBMonthEnd(2)             |   4.7220 |   3.9756 |   1.1877 |
concat_small_frames                          |  37.6516 |  31.0627 |   1.2121 |
timeseries_timestamp_tzinfo_cons             |   0.0236 |   0.0187 |   1.2638 |
concat_empty_frames1                         |   1.4373 |   1.1267 |   1.2757 |
dti_reset_index_tz                           |  19.3223 |  14.7180 |   1.3128 |
append_frame_single_homogenous               |   1.7987 |   1.2830 |   1.4019 |
join_dataframe_index_single_key_bigger       |  12.3227 |   8.7370 |   1.4104 |
frame_ctor_dtindex_BQuarterEnd(2)            |   1.0760 |   0.7060 |   1.5241 |
-------------------------------------------------------------------------------
Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------

@jreback
Copy link
Contributor

jreback commented Apr 28, 2014

FYI, use triple-quotes around the text to format

take the vbench with a grain of salt....disk/cpu load can affect it.

I I find something that is consistenly worse/better then I would just run it individually (in ipython,
just run the direct code), to optimize/verify.

and things < 1ms are sort of randomish anyhow.

you can also run a subset of tests with -r <regex>

@jreback
Copy link
Contributor

jreback commented Apr 28, 2014

which of the tail tests (better or worse results) affected by this? (maybe rerun that as a subset)

@dbew
Copy link
Contributor Author

dbew commented Apr 28, 2014

I'll have a go tomorrow when I can run the tests locally and see if it's a bit more consistent.

Thanks for the tip on the text.

@jreback jreback added this to the 0.14.1 milestone Apr 28, 2014
@dbew
Copy link
Contributor Author

dbew commented May 2, 2014

I've run the tests locally, the results are much the same. The really slow one is an anomaly, I reran the tests and it was the same speed. read_store_table_mixed does seem to be an accurate result though.

*** Processing results...
*** 
Invoked with :
--ncalls: 3
--repeats: 3


-------------------------------------------------------------------------------
Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------
datetimeindex_converter                      |   1.0409 | 1054.6150 |   0.0010 |
timedelta_convert_int                        |   0.2560 | 101.7404 |   0.0025 |
frame_shift_axis0                            |  15.9233 |  97.7677 |   0.1629 |
timeseries_sort_index                        |  10.0977 |  23.3627 |   0.4322 |
frame_shift_axis_1                           |  34.8147 |  79.2703 |   0.4392 |
strings_lstrip                               |   4.5143 |   7.0144 |   0.6436 |
frame_from_records_generator_nrows           |   1.0140 |   1.2213 |   0.8302 |
frame_ctor_dtindex_CDay(1)                   |   1.5984 |   1.8583 |   0.8601 |
strings_center                               |   4.6984 |   5.4610 |   0.8604 |
frame_ctor_dtindex_CustomBusinessDay(2)      |   1.5953 |   1.8493 |   0.8627 |
frame_ctor_dtindex_CDay(2)                   |   1.5930 |   1.8407 |   0.8654 |
strings_match                                |   7.9904 |   9.2240 |   0.8663 |
frame_ctor_dtindex_CustomBusinessDay(1)      |   1.5983 |   1.8373 |   0.8699 |
frame_iloc_dups                              |   0.3017 |   0.3443 |   0.8763 |
stats_rank_average                           |  27.9030 |  31.2906 |   0.8917 |
strings_pad                                  |   4.6790 |   5.2364 |   0.8935 |
strings_rstrip                               |   4.3897 |   4.8947 |   0.8968 |
strings_strip                                |   4.9460 |   5.4757 |   0.9033 |
frame_fancy_lookup_all                       |  16.6863 |  18.3833 |   0.9077 |
strings_contains_many                        |   7.0077 |   7.6180 |   0.9199 |
strings_contains_few                         |   6.8297 |   7.4120 |   0.9214 |
strings_upper                                |   3.9027 |   4.2133 |   0.9263 |
series_string_vector_slice                   | 228.8633 | 247.0767 |   0.9263 |
strings_lower                                |   4.1236 |   4.4510 |   0.9264 |
strings_slice                                |   3.3860 |   3.6450 |   0.9289 |
strings_startswith                           |   5.5210 |   5.9144 |   0.9335 |
strings_repeat                               |   5.1239 |   5.4437 |   0.9413 |
strings_endswith                             |   5.5997 |   5.9193 |   0.9460 |
strings_get                                  |   3.5867 |   3.7880 |   0.9469 |
strings_join_split                           |  43.3904 |  45.8133 |   0.9471 |
timeseries_asof_single                       |   0.0433 |   0.0457 |   0.9478 |
strings_cat                                  |   1.3057 |   1.3766 |   0.9484 |
frame_iloc_big                               |   0.2444 |   0.2561 |   0.9544 |
packers_write_json_date_index                |  35.6096 |  37.1063 |   0.9597 |
query_store_table                            |   5.9327 |   6.1694 |   0.9616 |
packers_write_json                           |  26.7590 |  27.7973 |   0.9626 |
strings_count                                |   8.1590 |   8.4470 |   0.9659 |
timedelta_convert_string                     | 244.6030 | 253.1193 |   0.9664 |
frame_dtypes                                 |   0.2526 |   0.2607 |   0.9692 |
series_value_counts_strings                  |   9.1523 |   9.4387 |   0.9697 |
groupby_indices                              |   7.6713 |   7.9087 |   0.9700 |
strings_findall                              |   9.9219 |  10.2180 |   0.9710 |
lib_fast_zip                                 |  10.3393 |  10.6467 |   0.9711 |
series_getitem_pos_slice                     |   0.0687 |   0.0707 |   0.9719 |
timedelta_convert_string_seconds             | 248.2156 | 255.2703 |   0.9724 |
sparse_frame_constructor                     |  11.0970 |  11.4090 |   0.9727 |
frame_from_records_generator                 |  70.6619 |  72.6237 |   0.9730 |
frame_xs_row                                 |   0.0610 |   0.0626 |   0.9734 |
stat_ops_frame_mean_float_axis_0             |   5.2234 |   5.3631 |   0.9739 |
read_csv_standard                            |  10.7373 |  11.0217 |   0.9742 |
query_store_table_wide                       |  11.6373 |  11.9443 |   0.9743 |
timestamp_ops_diff2                          |  19.1614 |  19.6586 |   0.9747 |
strings_replace                              |  21.6100 |  22.1666 |   0.9749 |
groupby_multi_cython                         |  17.9017 |  18.3533 |   0.9754 |
frame_ctor_dtindex_YearEnd(1)                |   0.5316 |   0.5440 |   0.9772 |
timestamp_series_compare                     |   2.7907 |   2.8513 |   0.9787 |
frame_to_csv_mixed                           | 249.7117 | 255.0967 |   0.9789 |
frame_to_csv2                                | 117.8810 | 120.4160 |   0.9789 |
stats_rank_average_int                       |  22.9394 |  23.4264 |   0.9792 |
strings_contains_many_noregex                |   3.1320 |   3.1977 |   0.9795 |
timeseries_timestamp_downsample_mean         |   5.7313 |   5.8510 |   0.9795 |
frame_ctor_dtindex_BQuarterBegin(2)          |   0.5229 |   0.5337 |   0.9799 |
series_timestamp_compare                     |   2.8059 |   2.8613 |   0.9806 |
stat_ops_frame_mean_float_axis_1             |   5.2467 |   5.3473 |   0.9812 |
timeseries_large_lookup_value                |   0.0334 |   0.0340 |   0.9813 |
dtindex_from_series_ctor                     |   0.0170 |   0.0173 |   0.9817 |
dataframe_resample_mean_string               |   2.8410 |   2.8910 |   0.9827 |
strings_title                                |   4.3263 |   4.3996 |   0.9833 |
timeseries_slice_minutely                    |   0.0847 |   0.0860 |   0.9852 |
read_parse_dates_iso8601                     |   1.6353 |   1.6597 |   0.9853 |
dataframe_resample_mean_numpy                |   2.8837 |   2.9254 |   0.9857 |
frame_ctor_dtindex_BYearEnd(1)               |   0.5320 |   0.5393 |   0.9864 |
frame_ctor_dtindex_YearBegin(1)              |   0.5340 |   0.5413 |   0.9865 |
sort_level_one                               |   4.0557 |   4.1110 |   0.9865 |
strings_len                                  |   2.9844 |   3.0234 |   0.9871 |
read_csv_infer_datetime_format_iso8601       |   2.2457 |   2.2740 |   0.9875 |
strings_contains_few_noregex                 |   3.0406 |   3.0787 |   0.9876 |
dataframe_resample_max_numpy                 |   2.0476 |   2.0710 |   0.9887 |
frame_add                                    |   4.3790 |   4.4280 |   0.9889 |
frame_ctor_dtindex_BQuarterEnd(2)            |   0.5263 |   0.5321 |   0.9891 |
series_align_irregular_string                |  82.7163 |  83.6274 |   0.9891 |
stat_ops_frame_sum_int_axis_0                |   4.9057 |   4.9583 |   0.9894 |
frame_ctor_dtindex_QuarterBegin(2)           |   0.5263 |   0.5320 |   0.9894 |
dataframe_resample_max_string                |   2.0219 |   2.0427 |   0.9898 |
packers_read_hdf_store                       |   4.0007 |   4.0406 |   0.9901 |
groupby_simple_compress_timing               |  38.4030 |  38.7696 |   0.9905 |
timeseries_period_downsample_mean            |  12.8290 |  12.9503 |   0.9906 |
index_int64_intersection                     |  25.8303 |  26.0280 |   0.9924 |
frame_ctor_dtindex_YearBegin(2)              |   0.5307 |   0.5344 |   0.9932 |
frame_add_st                                 |   4.2894 |   4.3177 |   0.9934 |
index_str_boolean_series_indexer             |  12.8260 |  12.9050 |   0.9939 |
series_drop_duplicates_string                |   0.8107 |   0.8156 |   0.9940 |
plot_timeseries_period                       |  63.1906 |  63.5603 |   0.9942 |
write_store_table_mixed                      |  40.4610 |  40.6926 |   0.9943 |
stat_ops_series_std                          |   0.8543 |   0.8590 |   0.9945 |
reshape_pivot_time_series                    | 165.1697 | 166.0650 |   0.9946 |
read_csv_comment2                            |  17.1107 |  17.2009 |   0.9948 |
datetime_index_intersection                  |   0.3810 |   0.3830 |   0.9948 |
frame_ctor_dtindex_YearEnd(2)                |   0.5329 |   0.5356 |   0.9950 |
write_store_mixed                            |  14.9624 |  15.0333 |   0.9953 |
melt_dataframe                               |   2.3127 |   2.3236 |   0.9953 |
write_store                                  |   5.6510 |   5.6757 |   0.9956 |
frame_ctor_dtindex_BYearBegin(2)             |   0.5303 |   0.5326 |   0.9957 |
read_csv_infer_datetime_format_ymd           |   2.6964 |   2.7080 |   0.9957 |
packers_read_pickle                          |   0.7090 |   0.7120 |   0.9958 |
frame_ctor_dtindex_QuarterEnd(2)             |   0.5304 |   0.5326 |   0.9958 |
read_csv_thou_vb                             |  17.1623 |  17.2287 |   0.9961 |
timeseries_asof_nan                          |   8.7883 |   8.8213 |   0.9963 |
frame_ctor_dtindex_QuarterEnd(1)             |   1.5813 |   1.5860 |   0.9970 |
frame_ctor_dtindex_BYearEnd(2)               |   0.5376 |   0.5390 |   0.9975 |
datetimeindex_unique                         |   0.1420 |   0.1423 |   0.9978 |
stat_ops_frame_sum_float_axis_1              |   4.9463 |   4.9551 |   0.9982 |
frame_to_csv                                 | 151.5840 | 151.8404 |   0.9983 |
dataframe_resample_min_numpy                 |   2.0517 |   2.0543 |   0.9987 |
groupby_frame_apply                          |  60.6306 |  60.6940 |   0.9990 |
frame_interpolate_some_good                  |   2.5680 |   2.5706 |   0.9990 |
dataframe_resample_min_string                |   2.0250 |   2.0270 |   0.9990 |
read_csv_vb                                  |  20.3864 |  20.4047 |   0.9991 |
reindex_frame_level_reindex                  |   0.8074 |   0.8080 |   0.9992 |
write_store_table_panel                      |  45.8213 |  45.8570 |   0.9992 |
frame_mult                                   |   4.3720 |   4.3754 |   0.9992 |
frame_dropna_axis1_any                       | 185.5717 | 185.6907 |   0.9994 |
frame_multi_and                              |  37.4703 |  37.4897 |   0.9995 |
sparse_series_to_frame                       | 142.9380 | 142.9966 |   0.9996 |
frame_reindex_axis0                          |  83.9490 |  83.9657 |   0.9998 |
series_getitem_label_slice                   |   0.0790 |   0.0790 |   1.0000 |
stats_rolling_mean                           |   1.5477 |   1.5477 |   1.0000 |
series_align_int64_index                     |  30.2207 |  30.2137 |   1.0002 |
append_frame_single_mixed                    |   1.3827 |   1.3820 |   1.0005 |
frame_reindex_upcast                         |  10.5883 |  10.5817 |   1.0006 |
read_csv_infer_datetime_format_custom        |  12.5303 |  12.5203 |   1.0008 |
frame_nonunique_equal                        |   4.5937 |   4.5900 |   1.0008 |
frame_ctor_dtindex_Week(1)                   |   1.3570 |   1.3557 |   1.0009 |
write_store_table                            |  34.0040 |  33.9693 |   1.0010 |
frame_interpolate                            | 108.0631 | 107.9487 |   1.0011 |
frame_fillna_inplace                         |   9.8370 |   9.8260 |   1.0011 |
stat_ops_frame_sum_int_axis_1                |   5.1017 |   5.0957 |   1.0012 |
packers_write_hdf_table                      |  25.3723 |  25.3237 |   1.0019 |
indexing_panel_subset                        |   1.1477 |   1.1450 |   1.0023 |
stat_ops_level_frame_sum_multiple            |   9.7563 |   9.7330 |   1.0024 |
read_store_table_panel                       |  23.6561 |  23.5950 |   1.0026 |
frame_mask_bools                             |  15.3630 |  15.3163 |   1.0030 |
frame_dropna_axis1_all                       | 319.1180 | 318.0524 |   1.0034 |
timestamp_ops_diff1                          |   6.5420 |   6.5197 |   1.0034 |
datetimeindex_normalize                      |   3.0833 |   3.0727 |   1.0034 |
read_table_multiple_date                     | 199.3384 | 198.6194 |   1.0036 |
frame_multi_and_st                           |  37.5340 |  37.3960 |   1.0037 |
indexing_dataframe_boolean_rows              |   0.4733 |   0.4716 |   1.0037 |
frame_ctor_dtindex_BYearBegin(1)             |   0.5340 |   0.5320 |   1.0037 |
series_drop_duplicates_int                   |   0.8790 |   0.8754 |   1.0042 |
packers_write_csv                            | 616.8996 | 614.2346 |   1.0043 |
frame_to_csv_date_formatting                 |  20.5030 |  20.4127 |   1.0044 |
datetimeindex_infer_dst                      |   4.1150 |   4.0944 |   1.0050 |
stat_ops_frame_sum_float_axis_0              |   5.1577 |   5.1290 |   1.0056 |
stat_ops_frame_mean_int_axis_1               |   5.5340 |   5.5029 |   1.0056 |
timeseries_asof                              |   9.4083 |   9.3547 |   1.0057 |
join_dataframe_index_single_key_small        |   7.0637 |   7.0213 |   1.0060 |
frame_repr_wide                              |  19.9350 |  19.8127 |   1.0062 |
frame_reindex_axis1                          | 549.6536 | 546.2616 |   1.0062 |
groupby_multi_different_numpy_functions      |  13.9853 |  13.8984 |   1.0063 |
packers_write_pack                           |   1.9750 |   1.9627 |   1.0063 |
replace_fillna                               |   2.0940 |   2.0807 |   1.0064 |
write_store_table_wide                       |  83.5954 |  83.0537 |   1.0065 |
timeseries_add_irregular                     |  21.4920 |  21.3500 |   1.0067 |
frame_mask_floats                            |   5.3570 |   5.3200 |   1.0070 |
indexing_dataframe_boolean_no_ne             |  54.5087 |  54.1257 |   1.0071 |
frame_html_repr_trunc_si                     |  44.1527 |  43.8333 |   1.0073 |
indexing_dataframe_boolean                   |   8.9216 |   8.8540 |   1.0076 |
frame_drop_duplicates_na                     |  19.8650 |  19.7117 |   1.0078 |
frame_ctor_dtindex_MonthEnd(2)               |   1.5870 |   1.5743 |   1.0081 |
frame_ctor_dtindex_Minute(2)                 |   1.1800 |   1.1704 |   1.0082 |
timeseries_to_datetime_YYYYMMDD              |  11.6450 |  11.5493 |   1.0083 |
groupby_first                                |   4.2274 |   4.1916 |   1.0085 |
join_dataframe_integer_key                   |   2.1223 |   2.1044 |   1.0085 |
frame_mult_no_ne                             |   4.2210 |   4.1846 |   1.0087 |
stat_ops_level_frame_sum                     |   4.1293 |   4.0933 |   1.0088 |
frame_drop_dup_na_inplace                    |   2.9473 |   2.9207 |   1.0091 |
groupby_first_float32                        |   4.2140 |   4.1757 |   1.0092 |
groupby_last                                 |   4.3674 |   4.3274 |   1.0092 |
frame_ctor_dtindex_BQuarterBegin(1)          |   1.6216 |   1.6067 |   1.0093 |
frame_html_repr_trunc_mi                     |  57.0863 |  56.5410 |   1.0096 |
frame_apply_user_func                        | 137.4396 | 136.1006 |   1.0098 |
frame_ctor_dtindex_BMonthBegin(2)            |   1.6030 |   1.5873 |   1.0099 |
frame_apply_lambda_mean                      |   7.3343 |   7.2626 |   1.0099 |
stats_corr_spearman                          |  94.6993 |  93.7677 |   1.0099 |
frame_to_html_mixed                          | 340.1703 | 336.7563 |   1.0101 |
indexing_dataframe_boolean_st                |   8.8317 |   8.7410 |   1.0104 |
read_store                                   |   2.1727 |   2.1500 |   1.0106 |
read_store_mixed                             |   4.9823 |   4.9299 |   1.0106 |
frame_reindex_columns                        |   0.4150 |   0.4106 |   1.0106 |
frame_reindex_both_axes_ix                   |  36.7523 |  36.3634 |   1.0107 |
join_dataframe_index_single_key_bigger_sort  |  16.0000 |  15.8277 |   1.0109 |
read_table_multiple_date_baseline            |  89.7303 |  88.7410 |   1.0111 |
groupby_last_float32                         |   4.3170 |   4.2694 |   1.0112 |
frame_loc_dups                               |   0.9007 |   0.8907 |   1.0112 |
frame_fillna_many_columns_pad                |  13.0677 |  12.9183 |   1.0116 |
frame_multi_and_no_ne                        |  93.4497 |  92.3711 |   1.0117 |
concat_empty_frames1                         |   0.9170 |   0.9063 |   1.0118 |
stat_ops_level_series_sum                    |   3.1450 |   3.1073 |   1.0121 |
frame_add_no_ne                              |   4.2297 |   4.1786 |   1.0122 |
frame_dropna_axis0_all                       |  54.2043 |  53.5444 |   1.0123 |
stat_ops_level_series_sum_multiple           |   8.7690 |   8.6606 |   1.0125 |
frame_from_series                            |   0.0811 |   0.0800 |   1.0129 |
reindex_multiindex                           |   1.6566 |   1.6350 |   1.0132 |
sort_level_zero                              |   4.1594 |   4.1050 |   1.0132 |
append_frame_single_homogenous               |   1.0330 |   1.0193 |   1.0134 |
eval_frame_and_all_threads                   |  34.7629 |  34.3003 |   1.0135 |
frame_ctor_dtindex_MonthBegin(2)             |   1.5517 |   1.5310 |   1.0135 |
stat_ops_frame_mean_int_axis_0               |   4.9500 |   4.8840 |   1.0135 |
groupby_multi_python                         | 158.1093 | 155.9950 |   1.0136 |
eval_frame_and_python_one_thread             |  48.9903 |  48.3263 |   1.0137 |
read_store_table_wide                        |  11.1307 |  10.9797 |   1.0137 |
indexing_dataframe_boolean_rows_object       |   0.7257 |   0.7157 |   1.0140 |
merge_2intkey_sort                           |  44.6900 |  44.0714 |   1.0140 |
series_align_left_monotonic                  |  14.6430 |  14.4397 |   1.0141 |
index_from_series_ctor                       |   0.0281 |   0.0277 |   1.0144 |
frame_ctor_dtindex_BMonthBegin(1)            |   1.5957 |   1.5730 |   1.0144 |
frame_ctor_nested_dict                       |  81.9186 |  80.7037 |   1.0151 |
frame_drop_duplicates                        |  20.0319 |  19.7330 |   1.0151 |
packers_read_hdf_table                       |   8.0763 |   7.9550 |   1.0153 |
frame_mult_st                                |   4.3587 |   4.2930 |   1.0153 |
index_int64_union                            |  80.1387 |  78.9240 |   1.0154 |
frame_ctor_dtindex_Second(2)                 |   1.1750 |   1.1570 |   1.0155 |
read_store_table                             |   2.8489 |   2.8050 |   1.0157 |
packers_write_pickle                         |   1.5857 |   1.5610 |   1.0158 |
concat_empty_frames2                         |   0.9160 |   0.9017 |   1.0159 |
groupby_sum_booleans                         |   1.3137 |   1.2930 |   1.0160 |
frame_ctor_dtindex_BDay(1)                   |   1.5063 |   1.4823 |   1.0162 |
frame_boolean_row_select                     |   0.3530 |   0.3474 |   1.0162 |
frame_drop_dup_inplace                       |   3.2127 |   3.1613 |   1.0163 |
reshape_unstack_simple                       |   3.8917 |   3.8293 |   1.0163 |
frame_reindex_both_axes                      |  36.9233 |  36.3230 |   1.0165 |
eval_frame_chained_cmp_python_one_thread     |  29.3080 |  28.8030 |   1.0175 |
frame_ctor_dtindex_BusinessDay(1)            |   1.5047 |   1.4786 |   1.0176 |
frame_ctor_dtindex_MonthBegin(1)             |   1.5567 |   1.5296 |   1.0177 |
groupby_pivot_table                          |  21.6297 |  21.2491 |   1.0179 |
packers_read_csv                             |  45.9370 |  45.1224 |   1.0181 |
frame_ctor_dtindex_Minute(1)                 |   1.1783 |   1.1574 |   1.0181 |
frame_assign_timeseries_index                |   0.7594 |   0.7456 |   1.0184 |
frame_ctor_dtindex_Hour(1)                   |   1.1830 |   1.1613 |   1.0186 |
frame_apply_np_mean                          |   7.7876 |   7.6451 |   1.0186 |
frame_ctor_dtindex_Week(2)                   |   1.3577 |   1.3327 |   1.0188 |
join_dataframe_integer_2key                  |   6.2293 |   6.1120 |   1.0192 |
frame_ctor_dtindex_Day(2)                    |   1.1823 |   1.1594 |   1.0198 |
frame_ctor_dtindex_MonthEnd(1)               |   1.5797 |   1.5487 |   1.0200 |
frame_ctor_dtindex_BDay(2)                   |   1.5517 |   1.5200 |   1.0209 |
frame_ctor_dtindex_Milli(1)                  |   1.1757 |   1.1516 |   1.0209 |
frame_nonunique_unequal                      |   0.0116 |   0.0114 |   1.0210 |
frame_ctor_dtindex_QuarterBegin(1)           |   1.5827 |   1.5500 |   1.0211 |
groupby_multi_size                           |  28.9613 |  28.3550 |   1.0214 |
groupby_frame_cython_many_columns            |   4.9940 |   4.8884 |   1.0216 |
frame_ctor_dtindex_Micro(1)                  |   1.1853 |   1.1601 |   1.0218 |
frame_ctor_dtindex_BMonthEnd(2)              |   1.5763 |   1.5426 |   1.0218 |
frame_apply_pass_thru                        |   7.3377 |   7.1793 |   1.0221 |
frame_ctor_dtindex_BQuarterEnd(1)            |   1.6003 |   1.5653 |   1.0224 |
frame_apply_axis_1                           | 120.0833 | 117.4310 |   1.0226 |
groupby_apply_dict_return                    |  45.8323 |  44.8173 |   1.0226 |
stats_rank2d_axis0_average                   |  24.7316 |  24.1727 |   1.0231 |
eval_frame_add_python_one_thread             |  14.2097 |  13.8873 |   1.0232 |
frame_ctor_dtindex_Milli(2)                  |   1.1817 |   1.1543 |   1.0237 |
frame_ctor_dtindex_BMonthEnd(1)              |   1.5803 |   1.5433 |   1.0240 |
eval_frame_chained_cmp_all_threads           |  27.4877 |  26.8327 |   1.0244 |
merge_2intkey_nosort                         |  17.2467 |  16.8300 |   1.0248 |
reshape_stack_simple                         |   4.1796 |   4.0740 |   1.0259 |
join_dataframe_index_multi                   |  21.3153 |  20.7717 |   1.0262 |
frame_ctor_dtindex_Micro(2)                  |   1.1817 |   1.1510 |   1.0267 |
frame_ctor_dtindex_Hour(2)                   |   1.1916 |   1.1603 |   1.0270 |
series_value_counts_int64                    |   2.8003 |   2.7253 |   1.0275 |
ctor_index_array_string                      |   0.0264 |   0.0257 |   1.0279 |
join_dataframe_index_single_key_bigger       |   8.1437 |   7.9193 |   1.0283 |
eval_frame_mult_one_thread                   |  11.1399 |  10.8213 |   1.0294 |
frame_ctor_dtindex_Nano(1)                   |   1.5333 |   1.4884 |   1.0302 |
stats_rank2d_axis1_average                   |  14.6964 |  14.2643 |   1.0303 |
strings_extract                              |  51.7747 |  50.2373 |   1.0306 |
frame_ctor_dtindex_Second(1)                 |   1.1846 |   1.1493 |   1.0307 |
frame_ctor_dtindex_Day(1)                    |   1.1847 |   1.1490 |   1.0311 |
frame_interpolate_some_good_infer            |   4.6221 |   4.4823 |   1.0312 |
reindex_frame_level_align                    |   0.8833 |   0.8560 |   1.0319 |
index_str_boolean_indexer                    |  13.3120 |  12.8977 |   1.0321 |
write_store_table_dc                         | 130.1520 | 126.0629 |   1.0324 |
datetime_index_union                         |   0.0943 |   0.0913 |   1.0331 |
frame_float_equal                            |   4.0623 |   3.9303 |   1.0336 |
eval_frame_mult_python_one_thread            |  14.3324 |  13.8580 |   1.0342 |
unstack_sparse_keyspace                      |   2.0620 |   1.9930 |   1.0346 |
frame_iteritems                              |  45.7920 |  44.2540 |   1.0348 |
replace_replacena                            |   1.4980 |   1.4463 |   1.0357 |
frame_ctor_dtindex_Nano(2)                   |   1.5437 |   1.4893 |   1.0365 |
groupby_frame_apply_overhead                 |  12.6357 |  12.1877 |   1.0368 |
dti_reset_index                              |   0.3080 |   0.2970 |   1.0372 |
frame_insert_500_columns_end                 | 140.5284 | 135.4481 |   1.0375 |
timeseries_1min_5min_mean                    |   0.8033 |   0.7733 |   1.0388 |
frame_constructor_ndarray                    |   0.0696 |   0.0670 |   1.0391 |
frame_ctor_list_of_dict                      |  87.4960 |  84.1997 |   1.0391 |
timeseries_1min_5min_ohlc                    |   0.8464 |   0.8144 |   1.0393 |
frame_object_equal                           |   4.7763 |   4.5954 |   1.0394 |
eval_frame_add_python                        |  14.3046 |  13.7597 |   1.0396 |
groupby_multi_series_op                      |  16.9507 |  16.2987 |   1.0400 |
frame_ctor_dtindex_BusinessDay(2)            |   1.5804 |   1.5183 |   1.0409 |
eval_frame_add_all_threads                   |  11.1097 |  10.6707 |   1.0411 |
lib_fast_zip_fillna                          |  14.5430 |  13.9600 |   1.0418 |
frame_insert_100_columns_begin               |  28.9090 |  27.7313 |   1.0425 |
timeseries_infer_freq                        |  10.1013 |   9.6840 |   1.0431 |
packers_read_pack                            |   2.9567 |   2.8323 |   1.0439 |
series_constructor_ndarray                   |   0.0244 |   0.0234 |   1.0442 |
packers_write_hdf_store                      |   7.0473 |   6.7417 |   1.0453 |
write_csv_standard                           |  49.6840 |  47.5244 |   1.0454 |
eval_frame_add_one_thread                    |  11.1063 |  10.5980 |   1.0480 |
eval_frame_mult_all_threads                  |  11.1907 |  10.6657 |   1.0492 |
frame_dropna_axis0_any                       |  29.7093 |  28.2160 |   1.0529 |
groupby_frame_median                         |   7.6153 |   7.2270 |   1.0537 |
datamatrix_getitem_scalar                    |   0.0123 |   0.0117 |   1.0544 |
concat_small_frames                          |  25.4246 |  24.1093 |   1.0546 |
frame_getitem_single_column2                 |  41.1553 |  39.0020 |   1.0552 |
groupby_multi_different_functions            |  14.6806 |  13.8963 |   1.0564 |
groupby_frame_singlekey_integer              |   3.0946 |   2.9283 |   1.0568 |
stats_rank_pct_average                       |  31.7230 |  30.0117 |   1.0570 |
groupby_transform                            | 246.0516 | 232.6787 |   1.0575 |
frame_isnull                                 |   1.4200 |   1.3426 |   1.0577 |
match_strings                                |   0.5364 |   0.5070 |   1.0578 |
dataframe_getitem_scalar                     |   0.0123 |   0.0116 |   1.0616 |
period_setitem                               | 177.3860 | 166.9664 |   1.0624 |
frame_get_dtype_counts                       |   0.1223 |   0.1150 |   1.0636 |
frame_getitem_single_column                  |  41.5934 |  39.0896 |   1.0641 |
frame_ctor_nested_dict_int64                 | 109.4526 | 102.7773 |   1.0649 |
frame_float_unequal                          |   0.0103 |   0.0097 |   1.0656 |
frame_object_unequal                         |   0.0103 |   0.0097 |   1.0656 |
frame_to_string_floats                       |  46.0573 |  43.1906 |   1.0664 |
frame_apply_ref_by_name                      |  17.2317 |  16.1510 |   1.0669 |
frame_repr_tall                              |  31.5730 |  29.3200 |   1.0768 |
series_xs_mi_ix                              |   0.4504 |   0.4141 |   1.0877 |
series_ctor_from_dict                        |   3.8314 |   3.5153 |   1.0899 |
frame_sort_index_by_columns                  |  50.2450 |  45.7457 |   1.0984 |
timeseries_to_datetime_iso8601               |   6.5810 |   5.9790 |   1.1007 |
packers_read_json                            |  61.9729 |  55.7957 |   1.1107 |
frame_iteritems_cached                       |   0.8656 |   0.7780 |   1.1127 |
datetimeindex_add_offset                     |   0.3003 |   0.2680 |   1.1207 |
frame_fancy_lookup                           |   5.1777 |   4.6163 |   1.1216 |
timeseries_timestamp_tzinfo_cons             |   0.0210 |   0.0184 |   1.1429 |
packers_read_json_date_index                 |  63.5277 |  54.9497 |   1.1561 |
frame_xs_mi_ix                               |   0.4387 |   0.3637 |   1.2063 |
frame_get_numeric_data                       |   0.1547 |   0.1163 |   1.3292 |
concat_series_axis1                          | 138.7973 | 104.2747 |   1.3311 |
dti_reset_index_tz                           |  18.7047 |  13.6313 |   1.3722 |
read_store_table_mixed                       |  14.7463 |   7.1599 |   2.0596 |
panel_shift                                  | 310.8416 |   0.0667 | 4661.8510 |
-------------------------------------------------------------------------------
Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------

@jreback
Copy link
Contributor

jreback commented May 2, 2014

ok, pls rebase to master and then rerun. some of these outliers have already been fixed. need to narrow down your changes.

@dbew
Copy link
Contributor Author

dbew commented May 2, 2014

Updated results:

*** Processing results...
*** 
Invoked with :
--ncalls: 3
--repeats: 3


-------------------------------------------------------------------------------
Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------
strings_contains_few_noregex                 |   3.0839 |   6.7180 |   0.4591 |
timeseries_custom_bday_incr_n                |   0.0380 |   0.0746 |   0.5091 |
strings_get                                  |   3.5727 |   6.8123 |   0.5244 |
strings_pad                                  |   5.8757 |  10.9910 |   0.5346 |
timeseries_asof_single                       |   0.0450 |   0.0833 |   0.5401 |
strings_lstrip                               |   5.5056 |  10.1250 |   0.5438 |
strings_contains_many_noregex                |   3.2097 |   5.8924 |   0.5447 |
dataframe_resample_mean_string               |   3.3230 |   6.0844 |   0.5462 |
timeseries_slice_minutely                    |   0.0904 |   0.1624 |   0.5565 |
strings_upper                                |   4.5164 |   8.1127 |   0.5567 |
timeseries_custom_bmonthend_incr             |   0.1450 |   0.2557 |   0.5673 |
datetimeindex_unique                         |   0.1427 |   0.2503 |   0.5698 |
timeseries_custom_bmonthend_incr_n           |   0.1627 |   0.2844 |   0.5721 |
reshape_stack_simple                         |   2.6233 |   4.5704 |   0.5740 |
strings_contains_few                         |   8.8734 |  15.4594 |   0.5740 |
strings_contains_many                        |   9.0793 |  15.5680 |   0.5832 |
stat_ops_level_frame_sum                     |   4.4587 |   7.5237 |   0.5926 |
strings_get_dummies                          |  80.9317 | 136.4857 |   0.5930 |
melt_dataframe                               |   3.0087 |   5.0544 |   0.5953 |
frame_dtypes                                 |   0.1210 |   0.2020 |   0.5987 |
unstack_sparse_keyspace                      |   2.0330 |   3.3666 |   0.6039 |
timeseries_timestamp_tzinfo_cons             |   0.0214 |   0.0354 |   0.6045 |
stat_ops_frame_mean_float_axis_1             |   5.2710 |   8.6456 |   0.6097 |
stat_ops_frame_mean_int_axis_1               |   5.5113 |   9.0224 |   0.6108 |
stat_ops_frame_mean_int_axis_0               |   4.9963 |   8.1543 |   0.6127 |
timestamp_series_compare                     |   2.8160 |   4.5760 |   0.6154 |
strings_strip                                |   5.9843 |   9.6450 |   0.6205 |
timeseries_1min_5min_ohlc                    |   0.8980 |   1.4410 |   0.6232 |
timeseries_to_datetime_YYYYMMDD              |  11.5770 |  18.5527 |   0.6240 |
strings_slice                                |   3.4233 |   5.3993 |   0.6340 |
reshape_unstack_simple                       |   3.7550 |   5.9183 |   0.6345 |
strings_extract                              |  52.0113 |  81.2927 |   0.6398 |
stat_ops_series_std                          |   0.8523 |   1.3207 |   0.6454 |
frame_mask_bools                             |  13.4837 |  20.8767 |   0.6459 |
stats_rank_average                           |  27.6673 |  41.7124 |   0.6633 |
strings_startswith                           |   5.8913 |   8.7547 |   0.6729 |
frame_reindex_upcast                         |   8.4007 |  12.2183 |   0.6875 |
stats_rank2d_axis1_average                   |  14.6294 |  21.1090 |   0.6930 |
strings_join_split                           |  46.4450 |  65.9433 |   0.7043 |
strings_replace                              |  21.4373 |  30.0016 |   0.7145 |
frame_shift_axis0                            |  16.8144 |  23.2413 |   0.7235 |
dataframe_resample_max_numpy                 |   2.1970 |   2.9570 |   0.7430 |
dti_reset_index_tz                           |  17.5427 |  22.7284 |   0.7718 |
datetimeindex_infer_dst                      |   4.1263 |   5.3276 |   0.7745 |
period_setitem                               | 171.9943 | 221.7847 |   0.7755 |
dataframe_resample_min_numpy                 |   2.1863 |   2.7760 |   0.7876 |
stats_rank2d_axis0_average                   |  24.6696 |  31.2590 |   0.7892 |
frame_ctor_dtindex_YearBeginx2               |   1.5020 |   1.8454 |   0.8140 |
stat_ops_level_frame_sum_multiple            |  10.1063 |  12.2580 |   0.8245 |
stats_rank_pct_average_old                   |  35.0503 |  41.8840 |   0.8368 |
timeseries_add_irregular                     |  21.5540 |  25.7260 |   0.8378 |
strings_lower                                |   4.7184 |   5.5744 |   0.8464 |
frame_ctor_dtindex_CDayx2                    |   1.7547 |   2.0657 |   0.8494 |
stats_rank_pct_average                       |  29.5486 |  34.5767 |   0.8546 |
stats_corr_spearman                          |  95.6997 | 111.5180 |   0.8582 |
strings_findall                              |  10.3667 |  11.7386 |   0.8831 |
timeseries_custom_bday_incr                  |   0.0234 |   0.0260 |   0.8991 |
frame_add_no_ne                              |   4.3364 |   4.8210 |   0.8995 |
frame_ctor_dtindex_CBMonthBeginx2            |   2.7023 |   2.9864 |   0.9049 |
stat_ops_frame_sum_int_axis_1                |   5.1170 |   5.6287 |   0.9091 |
frame_ctor_dtindex_BMonthBeginx1             |   1.7606 |   1.9357 |   0.9096 |
frame_interpolate_some_good                  |   2.4556 |   2.6913 |   0.9124 |
frame_fancy_lookup_all                       |  14.0350 |  15.3426 |   0.9148 |
strings_count                                |   9.4283 |  10.2317 |   0.9215 |
frame_iteritems_cached                       |   0.7803 |   0.8411 |   0.9278 |
stat_ops_frame_sum_int_axis_0                |   4.9110 |   5.2556 |   0.9344 |
stat_ops_frame_sum_float_axis_1              |   4.9609 |   5.3010 |   0.9358 |
frame_mult_no_ne                             |   4.2823 |   4.5724 |   0.9366 |
frame_add                                    |   4.5340 |   4.8350 |   0.9378 |
strings_cat                                  |   1.3813 |   1.4726 |   0.9380 |
stat_ops_frame_sum_float_axis_0              |   5.1764 |   5.5137 |   0.9388 |
stat_ops_level_series_sum_multiple           |   8.7320 |   9.2983 |   0.9391 |
timeseries_asof_nan                          |   8.7926 |   9.3346 |   0.9419 |
datetimeindex_add_offset                     |   0.2974 |   0.3153 |   0.9433 |
stat_ops_frame_mean_float_axis_0             |   5.2350 |   5.5360 |   0.9456 |
stat_ops_level_series_sum                    |   3.1474 |   3.3236 |   0.9470 |
timeseries_asof                              |   9.3840 |   9.8697 |   0.9508 |
strings_center                               |   5.8977 |   6.1994 |   0.9513 |
frame_mult_st                                |   4.4227 |   4.6487 |   0.9514 |
stats_rank_average_int                       |  23.0290 |  24.1864 |   0.9521 |
timeseries_to_datetime_iso8601               |   5.9800 |   6.2594 |   0.9554 |
frame_to_html_mixed                          | 341.5670 | 356.2803 |   0.9587 |
series_ctor_from_dict                        |   3.8193 |   3.9709 |   0.9618 |
frame_float_equal                            |   3.8980 |   4.0476 |   0.9630 |
frame_to_csv_date_formatting                 |  20.2520 |  20.9593 |   0.9663 |
series_timestamp_compare                     |   2.8330 |   2.9291 |   0.9672 |
read_csv_comment2                            |  16.9217 |  17.4944 |   0.9673 |
replace_replacena                            |   1.4757 |   1.5226 |   0.9692 |
frame_interpolate                            | 108.3690 | 111.7774 |   0.9695 |
dataframe_resample_mean_numpy                |   3.2686 |   3.3693 |   0.9701 |
series_string_vector_slice                   | 236.7980 | 244.0760 |   0.9702 |
timeseries_large_lookup_value                |   0.0340 |   0.0350 |   0.9705 |
replace_fillna                               |   2.0580 |   2.1194 |   0.9711 |
timeseries_timestamp_downsample_mean         |   5.8990 |   6.0689 |   0.9720 |
timeseries_is_month_start                    |   3.4304 |   3.5230 |   0.9737 |
strings_len                                  |   3.0134 |   3.0947 |   0.9737 |
frame_boolean_row_select                     |   0.3816 |   0.3916 |   0.9744 |
frame_ctor_dtindex_YearBeginx1               |   1.4900 |   1.5283 |   0.9749 |
eval_frame_add_python                        |  14.6124 |  14.9820 |   0.9753 |
frame_isnull                                 |   1.4197 |   1.4547 |   0.9760 |
dataframe_getitem_scalar                     |   0.0137 |   0.0140 |   0.9773 |
sparse_series_to_frame                       | 133.2117 | 136.2397 |   0.9778 |
dti_reset_index                              |   0.4557 |   0.4659 |   0.9780 |
timeseries_period_downsample_mean            |  13.2527 |  13.5481 |   0.9782 |
frame_html_repr_trunc_mi                     |  57.4583 |  58.7227 |   0.9785 |
stats_rolling_mean                           |   1.5434 |   1.5750 |   0.9799 |
groupby_frame_cython_many_columns            |   5.1790 |   5.2787 |   0.9811 |
strings_encode_decode                        |   0.3307 |   0.3370 |   0.9811 |
query_datetime_series                        |  16.0324 |  16.3174 |   0.9825 |
frame_ctor_dtindex_BQuarterBeginx1           |   1.7693 |   1.7997 |   0.9831 |
dtindex_from_series_ctor                     |   0.0190 |   0.0193 |   0.9835 |
groupby_first                                |   4.2227 |   4.2926 |   0.9837 |
frame_xs_row                                 |   0.0629 |   0.0640 |   0.9839 |
packers_write_json                           | 105.7423 | 107.4087 |   0.9845 |
frame_multi_and                              |  38.2530 |  38.8287 |   0.9852 |
groupby_multi_different_numpy_functions      |  13.9924 |  14.2024 |   0.9852 |
groupby_pivot_table                          |  21.0410 |  21.3550 |   0.9853 |
frame_assign_timeseries_index                |   0.8120 |   0.8240 |   0.9854 |
eval_frame_mult_python_one_thread            |  14.5814 |  14.7947 |   0.9856 |
match_strings                                |   0.5030 |   0.5103 |   0.9857 |
frame_ctor_dtindex_CBMonthBeginx1            |   3.0754 |   3.1190 |   0.9860 |
packers_write_json_date_index                | 122.2076 | 123.8867 |   0.9864 |
series_getitem_pos_slice                     |   0.0741 |   0.0750 |   0.9873 |
frame_iteritems                              |  45.2370 |  45.8160 |   0.9874 |
sparse_frame_constructor                     |  10.4864 |  10.6203 |   0.9874 |
frame_insert_100_columns_begin               |  55.4480 |  56.1310 |   0.9878 |
ctor_index_array_string                      |   0.0263 |   0.0266 |   0.9881 |
frame_apply_user_func                        | 139.8513 | 141.4757 |   0.9885 |
index_float64_mul                            |   1.4517 |   1.4683 |   0.9886 |
packers_read_hdf_table                       |  29.1037 |  29.4377 |   0.9887 |
packers_read_csv                             | 161.4536 | 163.2973 |   0.9887 |
frame_nonunique_equal                        |   4.5869 |   4.6390 |   0.9888 |
timeseries_1min_5min_mean                    |   0.8257 |   0.8350 |   0.9889 |
datetime_index_union                         |   0.0943 |   0.0954 |   0.9892 |
frame_apply_lambda_mean                      |   7.5120 |   7.5936 |   0.9893 |
frame_apply_pass_thru                        |   6.3200 |   6.3880 |   0.9894 |
frame_iloc_big                               |   0.2366 |   0.2390 |   0.9900 |
query_with_boolean_selection                 |  25.5100 |  25.7620 |   0.9902 |
frame_ctor_dtindex_BusinessDayx1             |   1.6356 |   1.6517 |   0.9903 |
frame_ctor_dtindex_YearEndx1                 |   1.5016 |   1.5163 |   0.9903 |
frame_ctor_dtindex_CDayx1                    |   1.7577 |   1.7747 |   0.9904 |
groupby_first_float32                        |   4.1970 |   4.2370 |   0.9906 |
index_datetime_union                         |  14.9794 |  15.1220 |   0.9906 |
frame_multi_and_st                           |  38.3163 |  38.6810 |   0.9906 |
frame_to_csv2                                | 117.7376 | 118.8267 |   0.9908 |
datetimeindex_converter                      |   1.0386 |   1.0480 |   0.9911 |
frame_mask_floats                            |   5.7693 |   5.8204 |   0.9912 |
frame_ctor_dtindex_Dayx2                     |   1.3157 |   1.3273 |   0.9913 |
frame_ctor_dtindex_Millix2                   |   1.3157 |   1.3270 |   0.9914 |
join_dataframe_index_multi                   |  21.9453 |  22.1334 |   0.9915 |
packers_write_pickle                         |  73.1480 |  73.7740 |   0.9915 |
merge_2intkey_nosort                         |  16.7373 |  16.8684 |   0.9922 |
frame_ctor_dtindex_MonthEndx1                |   1.7393 |   1.7526 |   0.9924 |
eval_frame_mult_python                       |  14.5744 |  14.6830 |   0.9926 |
frame_interpolate_some_good_infer            |   4.5240 |   4.5563 |   0.9929 |
frame_ctor_dtindex_CustomBusinessDayx2       |   1.7436 |   1.7560 |   0.9929 |
frame_apply_axis_1                           | 133.7144 | 134.6323 |   0.9932 |
read_csv_thou_vb                             |  17.2774 |  17.3943 |   0.9933 |
frame_ctor_dtindex_Easterx2                  |   1.5453 |   1.5557 |   0.9934 |
frame_ctor_dtindex_Easterx1                  |   1.5577 |   1.5677 |   0.9936 |
groupby_multi_series_op                      |  16.2700 |  16.3727 |   0.9937 |
frame_to_string_floats                       |  43.7256 |  43.9881 |   0.9940 |
frame_ctor_dtindex_YearEndx2                 |   1.4984 |   1.5073 |   0.9941 |
frame_ctor_dtindex_BQuarterBeginx2           |   1.7587 |   1.7687 |   0.9943 |
frame_ctor_dtindex_BusinessDayx2             |   1.7076 |   1.7173 |   0.9944 |
series_drop_duplicates_string                |   0.8313 |   0.8360 |   0.9944 |
packers_write_hdf_store                      |  73.2577 |  73.6700 |   0.9944 |
groupby_last_float32                         |   4.3493 |   4.3734 |   0.9945 |
frame_ctor_dtindex_BQuarterEndx1             |   1.7533 |   1.7629 |   0.9945 |
frame_ctor_dtindex_Nanox2                    |   1.7053 |   1.7144 |   0.9947 |
eval_frame_add_python_one_thread             |  14.5857 |  14.6613 |   0.9948 |
eval_frame_add_all_threads                   |  11.6663 |  11.7257 |   0.9949 |
index_str_boolean_series_indexer             |  12.8273 |  12.8916 |   0.9950 |
timeseries_infer_freq                        |   9.6690 |   9.7173 |   0.9950 |
index_datetime_intersection                  |  15.0477 |  15.1207 |   0.9952 |
reindex_frame_level_reindex                  |   1.3490 |   1.3554 |   0.9953 |
strings_repeat                               |   5.4790 |   5.5050 |   0.9953 |
query_datetime_index                         |  14.6469 |  14.7150 |   0.9954 |
frame_fillna_many_columns_pad                |  13.1270 |  13.1876 |   0.9954 |
frame_ctor_dtindex_Dayx1                     |   1.3287 |   1.3347 |   0.9955 |
groupby_series_nth                           |   1.5916 |   1.5984 |   0.9958 |
frame_repr_wide                              |  18.3157 |  18.3930 |   0.9958 |
frame_ctor_dtindex_BDayx1                    |   1.6603 |   1.6673 |   0.9958 |
groupby_last                                 |   4.3643 |   4.3827 |   0.9958 |
dataframe_resample_min_string                |   2.1600 |   2.1687 |   0.9960 |
packers_write_hdf_table                      |  61.0677 |  61.3124 |   0.9960 |
frame_ctor_dtindex_CustomBusinessDayx1       |   1.7477 |   1.7546 |   0.9961 |
eval_frame_chained_cmp_all_threads           |  28.1954 |  28.3047 |   0.9961 |
frame_ctor_dtindex_BYearEndx2                |   1.7533 |   1.7600 |   0.9962 |
frame_ctor_dtindex_QuarterEndx1              |   1.7430 |   1.7496 |   0.9962 |
groupby_frame_apply_overhead                 |  12.2677 |  12.3140 |   0.9962 |
read_store_table                             |   2.9016 |   2.9124 |   0.9963 |
merge_2intkey_sort                           |  44.8410 |  44.9887 |   0.9967 |
frame_ctor_dtindex_Microx1                   |   1.3297 |   1.3340 |   0.9967 |
eval_frame_and_python_one_thread             |  50.0163 |  50.1603 |   0.9971 |
frame_ctor_dtindex_MonthBeginx2              |   1.7237 |   1.7286 |   0.9971 |
frame_ctor_dtindex_QuarterBeginx2            |   1.7166 |   1.7214 |   0.9972 |
sort_level_one                               |  12.8860 |  12.9213 |   0.9973 |
frame_drop_dup_inplace                       |   3.1037 |   3.1117 |   0.9974 |
groupby_multi_cython                         |  18.0730 |  18.1190 |   0.9975 |
datetimeindex_normalize                      |   3.1407 |   3.1486 |   0.9975 |
frame_ctor_dtindex_Secondx1                  |   1.3307 |   1.3336 |   0.9978 |
frame_ctor_dtindex_BDayx2                    |   1.7060 |   1.7097 |   0.9979 |
eval_frame_mult_one_thread                   |  11.6963 |  11.7186 |   0.9981 |
index_float64_div                            |   1.9277 |   1.9313 |   0.9981 |
join_dataframe_integer_key                   |   2.0067 |   2.0103 |   0.9982 |
frame_ctor_dtindex_BMonthEndx2               |   1.7424 |   1.7453 |   0.9983 |
frame_dropna_axis1_any                       | 185.3150 | 185.6157 |   0.9984 |
frame_repr_tall                              |  30.0153 |  30.0639 |   0.9984 |
packers_read_hdf_store                       |  32.5494 |  32.5960 |   0.9986 |
join_dataframe_index_single_key_small        |   8.4130 |   8.4243 |   0.9987 |
eval_frame_mult_all_threads                  |  11.6960 |  11.7114 |   0.9987 |
join_non_unique_equal                        |   0.7907 |   0.7916 |   0.9988 |
concat_series_axis1                          | 129.6107 | 129.7523 |   0.9989 |
append_frame_single_mixed                    |   1.7083 |   1.7097 |   0.9992 |
series_value_counts_strings                  |   9.3671 |   9.3740 |   0.9993 |
write_store_table_dc                         | 127.2930 | 127.3473 |   0.9996 |
join_dataframe_integer_2key                  |   6.0434 |   6.0457 |   0.9996 |
index_float64_boolean_indexer                |   6.1760 |   6.1773 |   0.9998 |
eval_frame_and_python_one_thread             |  50.1494 |  50.1603 |   0.9998 |
frame_ctor_dtindex_MonthEndx2                |   1.7413 |   1.7416 |   0.9998 |
series_constructor_ndarray                   |   0.0257 |   0.0257 |   1.0000 |
frame_float_unequal                          |   0.0103 |   0.0103 |   1.0000 |
frame_apply_np_mean                          |   8.0179 |   8.0167 |   1.0002 |
groupby_frame_singlekey_integer              |   3.2136 |   3.2124 |   1.0004 |
frame_ctor_dtindex_Millix1                   |   1.3227 |   1.3220 |   1.0005 |
write_store_table                            |  34.3233 |  34.3047 |   1.0005 |
append_frame_single_homogenous               |   1.2353 |   1.2346 |   1.0006 |
frame_ctor_dtindex_BYearBeginx2              |   1.7387 |   1.7377 |   1.0006 |
eval_frame_and_all_threads                   |  35.1970 |  35.1670 |   1.0009 |
frame_ctor_dtindex_QuarterBeginx1            |   1.7357 |   1.7340 |   1.0010 |
groupby_series_simple_cython                 | 256.2919 | 255.9837 |   1.0012 |
frame_dropna_axis1_all                       | 227.9280 | 227.6514 |   1.0012 |
frame_html_repr_trunc_si                     |  44.6594 |  44.6033 |   1.0013 |
frame_from_records_generator                 |  69.8960 |  69.8057 |   1.0013 |
frame_ctor_dtindex_BYearBeginx1              |   1.7503 |   1.7480 |   1.0013 |
panel_from_dict_two_different_indexes        |  97.5790 |  97.4093 |   1.0017 |
datetime_index_intersection                  |   0.3820 |   0.3813 |   1.0019 |
frame_object_equal                           |   4.6163 |   4.6076 |   1.0019 |
frame_ctor_dtindex_BYearEndx1                |   1.7627 |   1.7593 |   1.0019 |
join_dataframe_index_single_key_bigger       |   9.2576 |   9.2390 |   1.0020 |
indexing_panel_subset                        |   1.2180 |   1.2153 |   1.0022 |
indexing_dataframe_boolean_rows_object       |   0.7217 |   0.7200 |   1.0023 |
frame_ctor_dtindex_BQuarterEndx2             |   1.7567 |   1.7524 |   1.0024 |
reindex_fillna_backfill_float32              |   0.4030 |   0.4020 |   1.0026 |
read_csv_standard                            |  11.2620 |  11.2320 |   1.0027 |
groupby_multi_size                           |  27.8211 |  27.7433 |   1.0028 |
reindex_frame_level_align                    |   1.4017 |   1.3977 |   1.0028 |
read_csv_vb                                  |  20.5160 |  20.4570 |   1.0029 |
index_float64_boolean_series_indexer         |   6.2124 |   6.1940 |   1.0030 |
frame_ctor_dtindex_Minutex2                  |   1.3234 |   1.3193 |   1.0031 |
eval_frame_chained_cmp_python_one_thread     |  29.5147 |  29.4180 |   1.0033 |
frame_ctor_dtindex_Weekx1                    |   1.5033 |   1.4984 |   1.0033 |
groupby_sum_booleans                         |   1.4623 |   1.4571 |   1.0036 |
timedelta_convert_int                        |   0.2630 |   0.2620 |   1.0036 |
groupby_apply_dict_return                    |  49.7907 |  49.6083 |   1.0037 |
read_csv_infer_datetime_format_custom        |  12.3880 |  12.3390 |   1.0040 |
join_dataframe_index_single_key_bigger_sort  |  18.6964 |  18.6216 |   1.0040 |
write_store_table_panel                      |  46.5563 |  46.3687 |   1.0040 |
frame_ctor_dtindex_Hourx2                    |   1.3320 |   1.3266 |   1.0041 |
frame_fancy_lookup                           |   5.6787 |   5.6553 |   1.0041 |
reindex_multiindex                           |   1.6777 |   1.6707 |   1.0042 |
frame_reindex_both_axes_ix                   |  37.3104 |  37.1517 |   1.0043 |
eval_frame_chained_cmp_python_one_thread     |  29.6170 |  29.4897 |   1.0043 |
panel_from_dict_same_index                   |  71.1203 |  70.8080 |   1.0044 |
index_str_boolean_indexer                    |  12.9333 |  12.8750 |   1.0045 |
sort_level_zero                              |  12.9443 |  12.8847 |   1.0046 |
groupby_frame_nth                            |   1.7830 |   1.7746 |   1.0047 |
frame_from_records_generator_nrows           |   1.1207 |   1.1153 |   1.0048 |
frame_apply_ref_by_name                      |  19.1377 |  19.0440 |   1.0049 |
frame_reindex_axis0                          |  84.6163 |  84.1930 |   1.0050 |
frame_get_numeric_data                       |   0.1963 |   0.1953 |   1.0053 |
series_align_irregular_string                |  83.5923 |  83.1504 |   1.0053 |
groupby_transform                            | 206.9844 | 205.8830 |   1.0053 |
frame_ctor_dtindex_Microx2                   |   1.3327 |   1.3254 |   1.0055 |
concat_empty_frames1                         |   1.0800 |   1.0740 |   1.0055 |
eval_frame_add_one_thread                    |  11.6731 |  11.6084 |   1.0056 |
frame_iloc_dups                              |   0.3553 |   0.3533 |   1.0056 |
frame_constructor_ndarray                    |   0.1123 |   0.1117 |   1.0057 |
packers_read_pickle                          |  52.9459 |  52.6300 |   1.0060 |
frame_loc_dups                               |   1.0667 |   1.0600 |   1.0063 |
frame_dropna_axis0_any                       |  28.6387 |  28.4590 |   1.0063 |
read_store_mixed                             |   5.2750 |   5.2416 |   1.0064 |
index_int64_intersection                     |  26.0743 |  25.9087 |   1.0064 |
frame_insert_500_columns_end                 | 128.4716 | 127.6430 |   1.0065 |
reindex_daterange_backfill                   |   0.9263 |   0.9201 |   1.0068 |
read_csv_infer_datetime_format_iso8601       |   2.4370 |   2.4203 |   1.0069 |
frame_ctor_dtindex_QuarterEndx2              |   1.7513 |   1.7393 |   1.0069 |
read_store_table_panel                       |  24.0350 |  23.8677 |   1.0070 |
frame_sort_index_by_columns                  |  47.2856 |  46.9564 |   1.0070 |
series_xs_mi_ix                              |   0.4190 |   0.4160 |   1.0071 |
frame_ctor_dtindex_MonthBeginx1              |   1.7393 |   1.7270 |   1.0071 |
series_drop_duplicates_int                   |   0.8980 |   0.8914 |   1.0074 |
read_csv_infer_datetime_format_ymd           |   2.9010 |   2.8796 |   1.0074 |
groupby_multi_python                         | 168.5570 | 167.3143 |   1.0074 |
timeseries_sort_index                        |  10.1240 |  10.0460 |   1.0078 |
frame_ctor_dtindex_Hourx1                    |   1.3377 |   1.3263 |   1.0086 |
indexing_dataframe_boolean_rows              |   0.4700 |   0.4659 |   1.0087 |
concat_small_frames                          |  33.2016 |  32.9080 |   1.0089 |
frame_reindex_both_axes                      |  37.3250 |  36.9910 |   1.0090 |
concat_empty_frames2                         |   1.0813 |   1.0714 |   1.0093 |
lib_fast_zip_fillna                          |  14.6756 |  14.5384 |   1.0094 |
groupby_frame_median                         |   7.5857 |   7.5130 |   1.0097 |
groupby_indices                              |   8.0087 |   7.9310 |   1.0098 |
read_parse_dates_iso8601                     |   1.8150 |   1.7973 |   1.0099 |
frame_fillna_inplace                         |  10.1776 |  10.0760 |   1.0101 |
read_table_multiple_date                     | 198.8780 | 196.8627 |   1.0102 |
panel_from_dict_equiv_indexes                |  72.6950 |  71.9463 |   1.0104 |
plot_timeseries_period                       |  60.9744 |  60.3320 |   1.0106 |
dataframe_resample_max_string                |   2.4630 |   2.4360 |   1.0111 |
series_value_counts_int64                    |   2.7550 |   2.7246 |   1.0111 |
frame_ctor_dtindex_Secondx2                  |   1.3597 |   1.3443 |   1.0115 |
frame_xs_mi_ix                               |   0.4677 |   0.4624 |   1.0115 |
frame_ctor_dtindex_Nanox1                    |   1.7250 |   1.7053 |   1.0116 |
frame_ctor_dtindex_Minutex1                  |   1.3284 |   1.3130 |   1.0117 |
frame_ctor_nested_dict                       |  82.8797 |  81.9160 |   1.0118 |
series_getitem_label_slice                   |   0.0887 |   0.0877 |   1.0118 |
frame_ctor_nested_dict_int64                 | 119.7273 | 118.3310 |   1.0118 |
frame_drop_duplicates                        |  21.0427 |  20.7936 |   1.0120 |
groupby_simple_compress_timing               |  37.8617 |  37.4050 |   1.0122 |
reindex_fillna_pad_float32                   |   0.4150 |   0.4100 |   1.0122 |
write_store                                  |   5.8053 |   5.7334 |   1.0125 |
groupby_frame_apply                          |  60.9493 |  60.1480 |   1.0133 |
index_int64_union                            |  80.1086 |  79.0524 |   1.0134 |
frame_ctor_dtindex_Weekx2                    |   1.5167 |   1.4963 |   1.0136 |
frame_ctor_dtindex_BMonthBeginx2             |   1.7690 |   1.7447 |   1.0139 |
read_store_table_mixed                       |  14.7333 |  14.5220 |   1.0146 |
frame_ctor_list_of_dict                      |  88.9263 |  87.6313 |   1.0148 |
groupby_multi_different_functions            |  14.3790 |  14.1673 |   1.0149 |
frame_drop_dup_na_inplace                    |   2.9083 |   2.8654 |   1.0150 |
read_table_multiple_date_baseline            |  89.1943 |  87.8750 |   1.0150 |
indexing_dataframe_boolean                   |   9.0771 |   8.9347 |   1.0159 |
frame_multi_and_no_ne                        |  95.2737 |  93.7663 |   1.0161 |
frame_reindex_columns                        |   0.4200 |   0.4133 |   1.0162 |
reindex_fillna_pad                           |   0.4527 |   0.4453 |   1.0166 |
frame_drop_duplicates_na                     |  21.2820 |  20.9330 |   1.0167 |
panel_from_dict_all_different_indexes        | 123.5680 | 121.4890 |   1.0171 |
query_store_table_wide                       |  11.8176 |  11.6146 |   1.0175 |
timestamp_ops_diff1                          |   6.7317 |   6.6160 |   1.0175 |
timedelta_convert_string                     | 250.3444 | 245.9966 |   1.0177 |
timedelta_convert_string_seconds             | 252.7263 | 248.1740 |   1.0183 |
panel_shift                                  |   0.1280 |   0.1256 |   1.0190 |
index_float64_construct                      |  49.2547 |  48.2937 |   1.0199 |
packers_write_csv                            | 1730.4146 | 1695.4363 |   1.0206 |
write_store_mixed                            |  15.6893 |  15.3647 |   1.0211 |
replace_large_dict                           | 26282.9837 | 25739.2303 |   1.0211 |
frame_to_csv                                 | 154.4927 | 151.2923 |   1.0212 |
series_align_int64_index                     |  30.7666 |  30.1224 |   1.0214 |
frame_shift_axis_1                           |  35.5467 |  34.7830 |   1.0220 |
packers_read_json                            | 184.5733 | 180.5493 |   1.0223 |
packers_read_json_date_index                 | 174.8106 | 170.8613 |   1.0231 |
panel_shift_minor                            |   0.1273 |   0.1243 |   1.0243 |
frame_to_csv_mixed                           | 255.8787 | 249.6930 |   1.0248 |
read_store                                   |   2.3537 |   2.2960 |   1.0251 |
frame_ctor_dtindex_BMonthEndx1               |   1.7873 |   1.7430 |   1.0254 |
frame_dropna_axis0_all                       |  55.2347 |  53.8197 |   1.0263 |
strings_match                                |   9.0003 |   8.7657 |   1.0268 |
frame_nonunique_unequal                      |   0.0120 |   0.0117 |   1.0272 |
frame_reindex_axis1                          | 125.1360 | 121.7307 |   1.0280 |
timestamp_ops_diff2                          |  19.9153 |  19.3427 |   1.0296 |
packers_write_pack                           |  17.0200 |  16.5123 |   1.0307 |
frame_object_unequal                         |   0.0106 |   0.0103 |   1.0308 |
indexing_dataframe_boolean_st                |   9.1953 |   8.9120 |   1.0318 |
series_align_left_monotonic                  |  14.9630 |  14.4990 |   1.0320 |
lib_fast_zip                                 |  10.9777 |  10.6370 |   1.0320 |
frame_getitem_single_column2                 |  42.6617 |  41.2857 |   1.0333 |
write_store_table_wide                       |  97.2623 |  94.0527 |   1.0341 |
write_csv_standard                           |  48.5617 |  46.8880 |   1.0357 |
frame_get_dtype_counts                       |   0.1283 |   0.1237 |   1.0379 |
write_store_table_mixed                      |  42.6626 |  41.0730 |   1.0387 |
frame_from_series                            |   0.1417 |   0.1363 |   1.0397 |
query_store_table                            |   6.1806 |   5.9443 |   1.0397 |
reindex_fillna_backfill                      |   0.4667 |   0.4487 |   1.0400 |
read_store_table_wide                        |  16.9506 |  16.2273 |   1.0446 |
frame_getitem_single_column                  |  42.5077 |  40.6383 |   1.0460 |
packers_read_pack                            |  91.2180 |  85.8093 |   1.0630 |
frame_add_st                                 |   4.7586 |   4.4723 |   1.0640 |
indexing_dataframe_boolean_no_ne             |  57.6564 |  54.0160 |   1.0674 |
datamatrix_getitem_scalar                    |   0.0140 |   0.0130 |   1.0732 |
frame_ctor_dtindex_CBMonthEndx1              |   4.0640 |   3.7700 |   1.0780 |
strings_endswith                             |   5.8854 |   5.4330 |   1.0833 |
strings_rstrip                               |   5.4647 |   5.0113 |   1.0905 |
frame_mult                                   |   5.1136 |   4.6373 |   1.1027 |
strings_title                                |   5.0020 |   4.3960 |   1.1379 |
reindex_daterange_pad                        |   1.5104 |   0.9417 |   1.6039 |
frame_ctor_dtindex_CBMonthEndx2              |   7.0704 |   3.7580 |   1.8814 |
index_from_series_ctor                       |   0.0620 |   0.0307 |   2.0207 |
-------------------------------------------------------------------------------
Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------

Ratio < 1.0 means the target commit is faster then the baseline.
Seed used: 1234

Target [5aff770] : Fix check in check in pytables code for multiple timezones.
Base   [2d876be] : Merge pull request #6578 from hayd/groupby_selecte_badcols

@jreback
Copy link
Contributor

jreback commented May 2, 2014

you get pretty variable results, maybe you are running other things at the same time? usually try to run vbench when nothing else is running (this espectially mucks up the disk i/o ones).

@dbew
Copy link
Contributor Author

dbew commented May 2, 2014

I'll set it going this evening when I leave the office so that it's uninterrupted.

@dbew
Copy link
Contributor Author

dbew commented May 21, 2014

Sorry for the delay with the test figures, other stuff took over at work. I've got the vbench suite running on a dedicated machine now and I've run the tests a couple of times to get a consistent result. The table below shows test name, individual results, baseline test time and mean result.

It looks like there are just a few tests that are significantly slower than the base. Let me know what you think.

                                             ratio_0  ratio_1  ratio_2          base  mean_ratio
join_dataframe_index_single_key_small         0.9781   0.8392   0.8974      8.303333    0.904900
eval_frame_add_python                         0.7495   0.9982   1.0029     18.134333    0.916867
strings_upper                                 0.9963   0.8922   0.9455      4.262200    0.944667
packers_write_pack                            1.0106   0.9017   0.9339      2.141333    0.948733
strings_lower                                 0.9876   0.9123   0.9603      4.469233    0.953400
eval_frame_add_python_one_thread              0.8675   0.9934   1.0000     17.155067    0.953633
reshape_pivot_time_series                     0.9366   0.9235   1.0009    202.346567    0.953667
packers_write_pickle                          1.0241   0.9220   0.9203      1.645767    0.955467
strings_get                                   0.9738   1.0039   0.9274      3.648400    0.968367
strings_lstrip                                0.9841   0.9619   0.9753      4.795067    0.973767
frame_reindex_upcast                          0.9633   0.9803   0.9908      9.372367    0.978133
join_dataframe_index_single_key_bigger        0.9658   0.9798   0.9945      8.237433    0.980033
panel_shift                                   0.9331   1.0064   1.0042    333.244100    0.981233
frame_nonunique_unequal                       0.9720   0.9388   1.0342      0.011567    0.981667
strings_slice                                 1.0259   0.9169   1.0028      3.317200    0.981867
packers_read_pickle                           0.9950   0.9803   0.9710      0.799400    0.982100
groupby_frame_apply                           0.9877   0.9771   0.9848     58.503800    0.983200
frame_mask_floats                             0.9955   0.9978   0.9586     20.550233    0.983967
frame_reindex_both_axes                       1.0055   1.0139   0.9344     41.235467    0.984600
frame_get_dtype_counts                        0.9777   0.9824   0.9976      0.134900    0.985900
index_str_boolean_series_indexer              0.9869   0.9849   0.9863     14.392533    0.986033
frame_reindex_both_axes_ix                    1.0033   0.9857   0.9692     40.946067    0.986067
frame_fillna_many_columns_pad                 1.0014   0.9578   0.9996     14.172000    0.986267
eval_frame_mult_python_one_thread             1.0348   0.9285   0.9958     16.965767    0.986367
timeseries_infer_freq                         0.9874   0.9871   0.9882     10.643233    0.987567
strings_rstrip                                0.9916   0.9660   1.0061      4.634100    0.987900
strings_repeat                                0.9857   0.9966   0.9833      5.502233    0.988533
panel_pct_change_items                        1.0051   0.9871   0.9742   5527.279633    0.988800
frame_mult                                    0.9967   1.0013   0.9722      5.071000    0.990067
datetimeindex_infer_dst                       1.0058   0.9980   0.9678      4.114767    0.990533
strings_strip                                 0.9918   0.9675   1.0127      5.218367    0.990667
join_dataframe_index_multi                    0.9837   0.9982   0.9903     22.409833    0.990733
series_string_vector_slice                    0.9855   0.9676   1.0192    222.652533    0.990767
replace_fillna                                0.9930   0.9867   0.9927      4.174933    0.990800
strings_title                                 1.0019   1.0257   0.9451      4.269467    0.990900
timeseries_custom_bmonthend_incr_n            0.9825   0.9926   0.9978      0.184100    0.990967
strings_startswith                            1.0232   0.9592   0.9909      4.972567    0.991100
strings_endswith                              1.0187   0.9592   0.9966      4.980367    0.991500
frame_ctor_dtindex_YearBegin(2)               0.9910   0.9814   1.0030      0.556133    0.991800
packers_read_pack                             1.0125   0.9794   0.9838      3.333800    0.991900
read_parse_dates_iso8601                      1.0008   0.9794   0.9971      1.622833    0.992433
merge_2intkey_sort                            1.0138   0.9823   0.9823     44.904067    0.992800
frame_dropna_axis0_any                        0.9997   0.9846   0.9942     62.426133    0.992833
frame_loc_dups                                0.9977   0.9834   0.9975      0.920000    0.992867
frame_reindex_axis1                           0.9797   1.0007   0.9988    602.646667    0.993067
merge_2intkey_nosort                          0.9931   0.9846   1.0024     19.022467    0.993367
frame_drop_dup_na_inplace                     1.0045   0.9836   0.9940      3.136467    0.994033
stats_rank_average                            1.0216   0.9713   0.9904     30.161633    0.994433
frame_fancy_lookup_all                        0.9784   1.0010   1.0040     17.522100    0.994467
index_float64_boolean_series_indexer          0.9828   1.0014   1.0003      6.216333    0.994833
reshape_unstack_simple                        1.0067   0.9792   0.9990      4.092200    0.994967
series_constructor_ndarray                    1.0000   0.9868   1.0000      0.024000    0.995600
reindex_frame_level_align                     1.0024   1.0018   0.9830      0.984667    0.995733
eval_frame_and_python_one_thread              0.9929   0.9958   0.9998     47.831300    0.996167
stats_corr_spearman                           0.9882   0.9991   1.0012    103.956900    0.996167
frame_html_repr_trunc_si                      1.0012   0.9867   1.0009     44.003800    0.996267
groupby_multi_size                            0.9830   1.0059   1.0007     29.499767    0.996533
frame_ctor_nested_dict                        0.9966   1.0044   0.9887     88.861467    0.996567
strings_join_split                            0.9983   0.9848   1.0066     41.455467    0.996567
eval_frame_and_python_one_thread              0.9929   0.9958   1.0011     47.804000    0.996600
stat_ops_level_frame_sum                      1.0041   0.9918   0.9940      4.281333    0.996633
join_dataframe_index_single_key_bigger_sort   0.9947   0.9884   1.0072     16.702233    0.996767
eval_frame_and_python_one_thread              0.9929   0.9976   0.9998     47.788733    0.996767
frame_xs_mi_ix                                1.0031   0.9817   1.0055      0.434667    0.996767
timeseries_custom_bday_incr_n                 0.9676   0.9923   1.0312      0.041200    0.997033
frame_ctor_list_of_dict                       1.0000   1.0024   0.9891     91.756633    0.997167
eval_frame_and_python_one_thread              0.9929   0.9976   1.0011     47.761433    0.997200
timeseries_1min_5min_ohlc                     0.9997   0.9948   0.9974      0.887400    0.997300
groupby_frame_cython_many_columns             1.0244   1.0057   0.9620      4.700200    0.997367
stat_ops_level_series_sum                     0.9974   0.9894   1.0056      3.254733    0.997467
groupby_first_float32                         1.0016   0.9931   0.9981      4.423967    0.997600
reindex_multiindex                            0.9985   0.9936   1.0010      1.709467    0.997700
frame_mult_st                                 0.9967   0.9979   0.9988      5.009767    0.997800
groupby_frame_median                          0.9959   0.9979   0.9997      7.319500    0.997833
frame_ctor_dtindex_QuarterBegin(2)            1.0023   0.9884   1.0030      0.548000    0.997900
frame_dtypes                                  0.9965   1.0035   0.9939      0.272767    0.997967
frame_to_string_floats                        1.0024   0.9855   1.0062     40.198200    0.998033
indexing_dataframe_boolean                    1.0010   1.0000   0.9932     44.523767    0.998067
append_frame_single_mixed                     0.9946   0.9959   1.0038      1.475800    0.998100
frame_repr_tall                               0.9985   0.9939   1.0022     27.534533    0.998200
indexing_dataframe_boolean_rows               0.9986   0.9914   1.0047      0.507867    0.998233
eval_frame_and_python_one_thread              0.9992   0.9958   0.9998     47.709867    0.998267
groupby_pivot_table                           0.9889   1.0083   0.9979     22.059733    0.998367
index_int64_intersection                      0.9927   1.0040   0.9986     24.408100    0.998433
strings_replace                               0.9815   1.0035   1.0103     20.119367    0.998433
frame_iloc_dups                               1.0059   0.9923   0.9972      0.339400    0.998467
eval_frame_chained_cmp_python_one_thread      1.0040   0.9967   0.9947     79.001933    0.998467
dataframe_resample_min_string                 0.9998   0.9948   1.0010      2.044100    0.998533
stat_ops_level_series_sum_multiple            0.9941   0.9987   1.0029      9.199833    0.998567
read_csv_comment2                             1.0050   0.9997   0.9912     17.402833    0.998633
append_frame_single_homogenous                1.0004   0.9909   1.0048      1.088767    0.998700
eval_frame_and_python_one_thread              0.9992   0.9958   1.0011     47.682567    0.998700
stat_ops_series_std                           0.9963   0.9896   1.0102      1.179533    0.998700
strings_contains_many                         1.0196   0.9688   1.0079      7.655800    0.998767
stats_rank2d_axis0_average                    1.0028   0.9981   0.9955     24.540200    0.998800
packers_write_json_date_index                 1.0004   0.9859   1.0101     36.497700    0.998800
groupby_first                                 1.0080   1.0020   0.9865      4.431467    0.998833
eval_frame_and_python_one_thread              0.9992   0.9976   0.9998     47.667300    0.998867
panel_pct_change_minor                        1.0026   1.0004   0.9936   5952.443633    0.998867
frame_isnull                                  1.0032   0.9976   0.9958      3.515100    0.998867
concat_empty_frames2                          0.9979   0.9975   1.0013      0.965233    0.998900
dti_reset_index                               1.0000   0.9878   1.0091      0.331667    0.998967
groupby_multi_different_functions             1.0071   1.0031   0.9868     14.187800    0.999000
groupby_multi_different_numpy_functions       0.9915   0.9942   1.0114     14.123700    0.999033
stat_ops_frame_sum_int_axis_0                 0.9942   0.9963   1.0068      6.040333    0.999100
read_csv_vb                                   1.0047   0.9969   0.9960     20.016667    0.999200
eval_frame_and_python_one_thread              0.9992   0.9976   1.0011     47.640000    0.999300
period_setitem                                1.0106   1.0043   0.9832    165.527867    0.999367
frame_repr_wide                               1.0003   0.9951   1.0028     19.728000    0.999400
read_csv_infer_datetime_format_ymd            0.9900   1.0007   1.0076      2.666500    0.999433
stat_ops_frame_mean_int_axis_1                1.0018   0.9980   0.9986      6.934567    0.999467
timeseries_timestamp_downsample_mean          1.0007   0.9988   0.9991      5.702433    0.999533
stats_rank2d_axis1_average                    0.9996   0.9986   1.0006     15.023333    0.999600
frame_ctor_dtindex_YearBegin(1)               1.0114   0.9826   1.0049      0.553700    0.999633
frame_interpolate                             0.9991   1.0002   0.9996    108.619467    0.999633
groupby_sum_booleans                          1.0028   0.9955   1.0007      1.403700    0.999667
frame_assign_timeseries_index                 1.0020   0.9938   1.0034      0.816233    0.999733
frame_html_repr_trunc_mi                      1.0037   0.9920   1.0037     56.387967    0.999800
frame_dropna_axis1_any                        0.9997   0.9995   1.0004    211.475600    0.999867
frame_ctor_dtindex_BYearBegin(2)              1.0006   0.9906   1.0085      0.552300    0.999900
dataframe_resample_max_string                 1.0003   0.9946   1.0048      2.040000    0.999900
ctor_index_array_string                       1.0000   1.0000   1.0000      0.027567    1.000000
frame_reindex_columns                         1.0044   0.9919   1.0037      0.448900    1.000000
frame_object_unequal                          1.0000   0.9692   1.0308      0.010300    1.000000
index_float64_construct                       1.0003   0.9979   1.0018     49.974267    1.000000
dataframe_resample_mean_string                0.9995   0.9985   1.0021      2.858333    1.000033
frame_ctor_dtindex_CBMonthEnd(2)              1.0044   0.9967   0.9990      3.859100    1.000033
stat_ops_level_frame_sum_multiple             0.9977   1.0010   1.0014     10.228833    1.000033
frame_ctor_dtindex_BusinessDay(1)             0.9878   1.0066   1.0057      1.592667    1.000033
eval_frame_chained_cmp_python_one_thread      1.0088   0.9967   0.9947     79.073700    1.000067
timeseries_asof                               1.0003   1.0045   0.9955      9.020433    1.000100
join_dataframe_integer_key                    1.0007   0.9973   1.0023      2.300900    1.000100
frame_ctor_dtindex_YearEnd(1)                 0.9894   0.9875   1.0235      0.559067    1.000133
frame_sort_index_by_columns                   0.9980   0.9964   1.0060     50.691167    1.000133
frame_apply_user_func                         0.9981   1.0021   1.0002    247.065067    1.000133
groupby_frame_singlekey_integer               1.0012   0.9945   1.0050      3.048333    1.000233
stats_rolling_mean                            0.9966   1.0026   1.0015      1.559333    1.000233
eval_frame_chained_cmp_python_one_thread      1.0040   1.0020   0.9947     78.851800    1.000233
frame_ctor_dtindex_BYearEnd(1)                0.9893   0.9875   1.0241      0.557100    1.000300
frame_float_equal                             1.0005   1.0002   1.0004     15.136133    1.000367
frame_from_series                             1.0119   1.0009   0.9884      0.087800    1.000400
datetimeindex_add_offset                      1.0010   0.9981   1.0022      0.326300    1.000433
stat_ops_frame_sum_float_axis_0               0.9990   0.9897   1.0127      5.553567    1.000467
frame_add_st                                  1.0018   1.0004   0.9992      5.015467    1.000467
replace_replacena                             0.9960   1.0031   1.0023      4.546033    1.000467
stat_ops_frame_mean_int_axis_0                0.9962   1.0003   1.0050      6.036333    1.000500
read_csv_thou_vb                              1.0091   0.9970   0.9954     17.231100    1.000500
frame_apply_np_mean                           1.0011   0.9868   1.0137      8.898800    1.000533
datetime_index_intersection                   0.9992   0.9977   1.0048      0.413567    1.000567
timestamp_ops_diff2                           1.0125   0.9932   0.9961     21.444867    1.000600
index_float64_div                             1.0001   1.0018   1.0003      2.372433    1.000733
index_float64_boolean_indexer                 1.0019   0.9990   1.0013      6.160033    1.000733
series_align_int64_index                      1.0000   1.0048   0.9976     28.314600    1.000800
read_csv_standard                             0.9964   1.0011   1.0050     11.131100    1.000833
groupby_multi_cython                          1.0053   0.9973   1.0001     18.215233    1.000900
groupby_transform                             1.0031   0.9963   1.0033    261.642900    1.000900
dataframe_resample_mean_numpy                 0.9994   1.0018   1.0016      2.882000    1.000933
timeseries_add_irregular                      0.9975   1.0032   1.0025     20.747133    1.001067
timestamp_ops_diff1                           1.0042   1.0017   0.9976      8.451000    1.001167
series_align_left_monotonic                   1.0011   1.0052   0.9973     13.413033    1.001200
frame_apply_axis_1                            0.9980   0.9915   1.0142    103.404567    1.001233
concat_empty_frames1                          0.9983   0.9976   1.0080      0.962533    1.001300
series_align_irregular_string                 0.9993   0.9892   1.0154     78.737300    1.001300
frame_to_html_mixed                           1.0038   0.9961   1.0043    340.517767    1.001400
frame_multi_and_st                            1.0036   1.0024   0.9983    103.086933    1.001433
eval_frame_chained_cmp_python_one_thread      1.0040   0.9967   1.0037     78.742500    1.001467
index_int64_union                             0.9985   1.0032   1.0028     76.496600    1.001500
stat_ops_frame_mean_float_axis_0              0.9937   0.9971   1.0137      5.572667    1.001500
lib_fast_zip_fillna                           1.0180   0.9949   0.9917     13.029667    1.001533
frame_ctor_dtindex_YearEnd(2)                 1.0043   0.9922   1.0085      0.552967    1.001667
frame_object_equal                            1.0013   1.0007   1.0032      5.000433    1.001733
eval_frame_chained_cmp_python_one_thread      1.0088   1.0020   0.9947     78.923567    1.001833
match_strings                                 1.0131   0.9954   0.9970      0.519000    1.001833
frame_apply_lambda_mean                       1.0035   0.9863   1.0157      8.303000    1.001833
series_ctor_from_dict                         1.0050   0.9907   1.0099      3.816667    1.001867
timeseries_1min_5min_mean                     1.0048   0.9973   1.0036      0.832733    1.001900
indexing_panel_subset                         0.9985   0.9960   1.0114      1.316567    1.001967
packers_read_csv                              1.0032   1.0009   1.0018     45.250900    1.001967
timeseries_sort_index                         1.0003   0.9986   1.0071      9.505533    1.002000
frame_insert_500_columns_end                  0.9991   0.9963   1.0106    152.178333    1.002000
frame_dropna_axis1_all                        1.0067   0.9995   1.0000    323.670133    1.002067
reshape_stack_simple                          1.0029   0.9953   1.0083      4.438100    1.002167
frame_nonunique_equal                         1.0020   1.0007   1.0038      5.003933    1.002167
frame_interpolate_some_good_infer             0.9988   0.9986   1.0092      4.915667    1.002200
indexing_dataframe_boolean_rows_object        1.0008   0.9992   1.0068      0.750000    1.002267
frame_ctor_dtindex_CBMonthEnd(1)              1.0056   0.9956   1.0057      3.840667    1.002300
frame_add                                     1.0014   1.0001   1.0060      5.007567    1.002500
stat_ops_frame_mean_float_axis_1              1.0008   1.0001   1.0067      6.290467    1.002533
frame_multi_and                               1.0041   1.0050   0.9985     95.275467    1.002533
sparse_series_to_frame                        1.0009   1.0026   1.0041    160.298233    1.002533
frame_ctor_dtindex_QuarterEnd(2)              0.9987   0.9933   1.0158      0.548433    1.002600
frame_ctor_nested_dict_int64                  0.9990   1.0013   1.0077    111.654667    1.002667
melt_dataframe                                1.0010   1.0013   1.0057      2.353533    1.002667
dataframe_resample_max_numpy                  1.0015   1.0015   1.0052      2.059333    1.002733
series_timestamp_compare                      0.9955   1.0121   1.0008      3.212200    1.002800
frame_fillna_inplace                          1.0040   1.0019   1.0025     11.678200    1.002800
stat_ops_frame_sum_int_axis_1                 1.0047   0.9980   1.0059      6.241267    1.002867
dataframe_resample_min_numpy                  1.0044   1.0018   1.0025      2.063567    1.002900
frame_add_no_ne                               1.0013   1.0099   0.9975      5.007667    1.002900
read_table_multiple_date_baseline             1.0113   0.9863   1.0114     95.256800    1.003000
eval_frame_chained_cmp_python_one_thread      1.0088   0.9967   1.0037     78.814267    1.003067
indexing_dataframe_boolean_st                 1.0087   0.9850   1.0160     44.529733    1.003233
frame_insert_100_columns_begin                0.9985   0.9980   1.0132     30.531167    1.003233
eval_frame_chained_cmp_python_one_thread      1.0040   1.0020   1.0037     78.592367    1.003233
frame_drop_dup_inplace                        1.0027   1.0098   0.9973      3.387333    1.003267
series_value_counts_int64                     1.0007   1.0001   1.0091      2.764000    1.003300
unstack_sparse_keyspace                       0.9970   1.0060   1.0070      2.153700    1.003333
timeseries_period_downsample_mean             1.0047   1.0004   1.0050     12.839733    1.003367
timeseries_asof_nan                           1.0040   0.9995   1.0070      8.285200    1.003500
reindex_frame_level_reindex                   0.9965   0.9990   1.0150      0.937200    1.003500
frame_ctor_dtindex_MonthEnd(2)                1.0086   0.9988   1.0035      1.715767    1.003633
frame_drop_duplicates                         1.0123   1.0004   0.9983     17.945233    1.003667
read_table_multiple_date                      1.0064   0.9951   1.0095    211.822467    1.003667
frame_ctor_dtindex_QuarterBegin(1)            1.0133   0.9947   1.0043      1.696333    1.004100
strings_extract                               1.0045   1.0304   0.9774     49.950900    1.004100
groupby_multi_series_op                       1.0015   1.0057   1.0053     16.495333    1.004167
frame_ctor_dtindex_MonthBegin(1)              1.0011   0.9961   1.0154      1.681000    1.004200
frame_interpolate_some_good                   0.9996   1.0012   1.0121      2.827900    1.004300
indexing_dataframe_boolean_no_ne              1.0254   0.9937   0.9939     44.050967    1.004333
frame_mult_no_ne                              1.0003   1.0129   1.0000      5.010667    1.004400
groupby_apply_dict_return                     1.0000   0.9951   1.0181     49.280000    1.004400
series_xs_mi_ix                               1.0150   0.9972   1.0013      0.487067    1.004500
frame_from_records_generator                  0.9969   1.0099   1.0068     68.386433    1.004533
stats_rank_average_int                        1.0039   1.0047   1.0051     21.891700    1.004567
frame_ctor_dtindex_MonthEnd(1)                1.0081   0.9949   1.0107      1.696800    1.004567
index_float64_mul                             1.0027   1.0244   0.9866      1.498700    1.004567
frame_ctor_dtindex_BusinessDay(2)             1.0107   0.9990   1.0041      1.622567    1.004600
frame_ctor_dtindex_CustomBusinessDay(2)       1.0098   0.9944   1.0097      1.705133    1.004633
timeseries_custom_bday_incr                   0.9841   1.0000   1.0298      0.024433    1.004633
eval_frame_chained_cmp_python_one_thread      1.0088   1.0020   1.0037     78.664133    1.004833
strings_pad                                   1.0318   0.9587   1.0241      4.901633    1.004867
frame_from_records_generator_nrows            1.0036   1.0088   1.0022      1.024333    1.004867
sort_level_one                                1.0069   1.0052   1.0027      4.848433    1.004933
replace_large_dict                            1.0057   0.9893   1.0202  31661.362433    1.005067
timeseries_slice_minutely                     1.0069   0.9974   1.0114      0.091467    1.005233
frame_multi_and_no_ne                         1.0117   1.0004   1.0036    104.681367    1.005233
strings_contains_many_noregex                 0.9902   1.0001   1.0259      2.882300    1.005400
groupby_last                                  0.9996   1.0073   1.0093      4.621000    1.005400
panel_pct_change_major                        0.9911   1.0205   1.0047   5491.669567    1.005433
groupby_last_float32                          1.0056   1.0013   1.0099      4.513233    1.005600
packers_write_csv                             1.0187   0.9849   1.0133    606.832267    1.005633
frame_drop_duplicates_na                      1.0213   0.9957   1.0001     17.891200    1.005700
frame_iteritems                               1.0052   0.9998   1.0123     49.652033    1.005767
read_csv_infer_datetime_format_custom         1.0131   0.9981   1.0066     11.816200    1.005933
strings_center                                1.0289   0.9648   1.0241      4.902233    1.005933
join_dataframe_integer_2key                   1.0149   0.9963   1.0068      6.700767    1.006000
frame_ctor_dtindex_BMonthEnd(1)               1.0139   1.0034   1.0017      1.679800    1.006333
timeseries_custom_bmonthend_incr              0.9852   1.0169   1.0170      0.159967    1.006367
frame_boolean_row_select                      1.0000   1.0073   1.0119      0.367433    1.006400
groupby_multi_python                          1.0136   0.9830   1.0226    153.774867    1.006400
frame_ctor_dtindex_BQuarterEnd(2)             1.0025   0.9957   1.0213      0.547567    1.006500
frame_dropna_axis0_all                        1.0225   1.0003   0.9969     90.323233    1.006567
strings_contains_few                          1.0373   0.9525   1.0299      7.053167    1.006567
frame_ctor_dtindex_CBMonthBegin(1)            1.0089   1.0062   1.0047      3.162867    1.006600
datetimeindex_unique                          1.0048   0.9953   1.0202      0.150533    1.006767
frame_ctor_dtindex_BDay(2)                    1.0141   1.0000   1.0065      1.632000    1.006867
timeseries_to_datetime_YYYYMMDD               1.0115   1.0018   1.0073     11.224567    1.006867
frame_ctor_dtindex_BMonthBegin(1)             1.0161   1.0012   1.0034      1.729033    1.006900
frame_ctor_dtindex_BMonthBegin(2)             1.0136   1.0002   1.0070      1.728533    1.006933
frame_ctor_dtindex_CBMonthBegin(2)            1.0003   1.0086   1.0127      2.732433    1.007200
groupby_series_simple_cython                  1.0020   0.9941   1.0256    298.232533    1.007233
frame_ctor_dtindex_BQuarterBegin(1)           1.0130   1.0023   1.0065      1.746533    1.007267
series_drop_duplicates_int                    1.0208   0.9977   1.0035      0.869633    1.007333
read_csv_infer_datetime_format_iso8601        0.9970   1.0129   1.0125      2.198000    1.007467
concat_series_axis1                           1.0071   1.0014   1.0142    142.932900    1.007567
strings_count                                 1.0215   0.9926   1.0087      8.428867    1.007600
sort_level_zero                               1.0053   1.0054   1.0127      4.842667    1.007800
frame_ctor_dtindex_CustomBusinessDay(1)       1.0096   0.9988   1.0152      1.712233    1.007867
frame_ctor_dtindex_BQuarterBegin(2)           0.9957   1.0019   1.0263      0.548333    1.007967
frame_ctor_dtindex_BMonthEnd(2)               1.0140   1.0036   1.0064      1.678067    1.008000
frame_ctor_dtindex_BDay(1)                    1.0175   0.9998   1.0070      1.574733    1.008100
frame_ctor_dtindex_BYearEnd(2)                1.0061   1.0049   1.0134      0.548633    1.008133
frame_ctor_dtindex_QuarterEnd(1)              1.0193   0.9946   1.0107      1.722433    1.008200
concat_small_frames                           1.0111   1.0120   1.0020     24.247433    1.008367
frame_to_csv                                  1.0257   1.0040   0.9955    145.205000    1.008400
frame_iteritems_cached                        0.9988   1.0530   0.9741      0.819967    1.008633
frame_ctor_dtindex_Week(2)                    1.0228   1.0025   1.0012      1.418567    1.008833
frame_ctor_dtindex_BYearBegin(1)              1.0048   1.0012   1.0211      0.551000    1.009033
frame_ctor_dtindex_Micro(1)                   1.0120   1.0076   1.0080      1.199133    1.009200
frame_ctor_dtindex_CDay(1)                    1.0114   1.0032   1.0133      1.704100    1.009300
stats_rank_pct_average                        1.0537   1.0218   0.9534     32.145633    1.009633
frame_ctor_dtindex_CDay(2)                    1.0157   1.0029   1.0108      1.701667    1.009800
sparse_frame_constructor                      1.0200   0.9935   1.0165     13.823567    1.010000
frame_get_numeric_data                        0.9961   1.0136   1.0204      0.163533    1.010033
frame_xs_row                                  1.0062   1.0356   0.9889      0.064567    1.010233
packers_read_json                             1.0040   1.0088   1.0181     58.513567    1.010300
index_from_series_ctor                        1.0369   0.9971   0.9972      0.027933    1.010400
frame_ctor_dtindex_Week(1)                    1.0226   1.0026   1.0061      1.415967    1.010433
frame_constructor_ndarray                     1.0390   1.0057   0.9866      0.069967    1.010433
index_str_boolean_indexer                     1.0107   1.0071   1.0147     14.207300    1.010833
frame_apply_pass_thru                         1.0123   1.0035   1.0174      7.717433    1.011067
strings_len                                   1.0147   1.0104   1.0084      2.862100    1.011167
frame_ctor_dtindex_MonthBegin(2)              1.0178   1.0064   1.0100      1.666567    1.011400
frame_ctor_dtindex_Nano(1)                    1.0165   1.0059   1.0120      1.526867    1.011467
timedelta_convert_int                         1.0123   1.0173   1.0050      0.270767    1.011533
packers_write_json                            1.0224   1.0053   1.0072     26.996567    1.011633
strings_contains_few_noregex                  1.0038   1.0052   1.0266      2.771000    1.011867
frame_ctor_dtindex_Micro(2)                   1.0136   1.0072   1.0152      1.199367    1.012000
frame_iloc_big                                1.0047   1.0379   0.9942      0.288567    1.012267
frame_shift_axis_1                            1.0357   0.9984   1.0028     40.952233    1.012300
frame_shift_axis0                             1.0374   1.0001   0.9996     16.601433    1.012367
frame_ctor_dtindex_Hour(1)                    1.0135   1.0080   1.0164      1.205767    1.012633
series_getitem_label_slice                    1.0313   1.0036   1.0036      0.088767    1.012833
frame_ctor_dtindex_Milli(1)                   1.0091   1.0127   1.0169      1.204300    1.012900
timestamp_series_compare                      1.0057   1.0169   1.0166      3.214533    1.013067
groupby_indices                               1.0306   1.0077   1.0017      8.220333    1.013333
timeseries_to_datetime_iso8601                1.0115   1.0152   1.0138      5.718900    1.013500
stat_ops_frame_sum_float_axis_1               1.0290   1.0087   1.0030      5.678100    1.013567
frame_to_csv_date_formatting                  1.0147   1.0158   1.0105     20.106667    1.013667
frame_ctor_dtindex_Nano(2)                    1.0174   1.0093   1.0143      1.525267    1.013667
packers_read_json_date_index                  1.0064   1.0130   1.0224     57.713967    1.013933
lib_fast_zip                                  1.0070   1.0191   1.0159      9.054433    1.014000
datetimeindex_normalize                       1.0308   0.9751   1.0367      3.521000    1.014200
frame_reindex_axis0                           0.9869   1.0291   1.0282     93.322333    1.014733
frame_fancy_lookup                            1.0215   1.0292   0.9938      4.742833    1.014833
strings_cat                                   1.0233   1.0036   1.0184      1.381667    1.015100
write_csv_standard                            1.0261   1.0100   1.0094     46.766900    1.015167
timeseries_asof_single                        1.0066   1.0000   1.0403      0.047800    1.015633
frame_ctor_dtindex_Day(2)                     1.0169   1.0136   1.0176      1.199067    1.016033
frame_ctor_dtindex_Minute(2)                  1.0211   1.0202   1.0074      1.211133    1.016233
frame_ctor_dtindex_Second(1)                  1.0249   1.0133   1.0122      1.194133    1.016800
frame_ctor_dtindex_BQuarterEnd(1)             1.0193   1.0064   1.0252      1.710300    1.016967
frame_ctor_dtindex_Milli(2)                   1.0152   1.0158   1.0208      1.203500    1.017267
frame_ctor_dtindex_Hour(2)                    1.0216   1.0190   1.0116      1.196300    1.017400
timedelta_convert_string                      1.0080   1.0100   1.0349    238.137133    1.017633
dtindex_from_series_ctor                      1.0365   1.0000   1.0183      0.017333    1.018267
timedelta_convert_string_seconds              1.0021   1.0134   1.0406    244.631367    1.018700
timeseries_large_lookup_value                 1.0536   0.9749   1.0279      0.037333    1.018800
frame_ctor_dtindex_Second(2)                  1.0212   1.0224   1.0128      1.195367    1.018800
frame_apply_ref_by_name                       1.0320   1.0222   1.0022     16.507867    1.018800
frame_to_csv_mixed                            1.0126   1.0199   1.0266    242.926700    1.019700
frame_to_csv2                                 1.0195   1.0201   1.0234    119.226333    1.021000
frame_ctor_dtindex_Day(1)                     1.0209   1.0161   1.0277      1.195767    1.021567
frame_ctor_dtindex_Minute(1)                  1.0267   1.0180   1.0214      1.198167    1.022033
strings_findall                               1.0167   1.0507   1.0042      9.807333    1.023867
dataframe_getitem_scalar                      1.0616   1.0000   1.0272      0.011667    1.029600
series_drop_duplicates_string                 1.0402   1.0230   1.0274      0.790567    1.030200
groupby_frame_apply_overhead                  1.0194   1.0163   1.0604     12.080333    1.032033
frame_mask_bools                              1.0186   1.0784   0.9999     31.480933    1.032300
series_value_counts_strings                   1.0364   1.0324   1.0329      9.179167    1.033900
frame_getitem_single_column2                  1.0547   1.0191   1.0317     40.453933    1.035167
frame_float_unequal                           1.0317      NaN   1.0397      0.010000    1.035700
datamatrix_getitem_scalar                     1.0272   1.0342   1.0544      0.011667    1.038600
series_getitem_pos_slice                      1.0083   1.1038   1.0135      0.076900    1.041867
frame_getitem_single_column                   1.0391   1.0601   1.0508     39.063533    1.050000
datetime_index_union                          1.0375   1.0823   1.0389      0.094033    1.052900
strings_match                                 1.0999   1.0654   1.0756      7.737467    1.080300
groupby_simple_compress_timing                1.1820   1.1877   1.0010     37.462800    1.123567
timeseries_timestamp_tzinfo_cons              1.2065   1.2541   1.2636      0.019333    1.241400
dti_reset_index_tz                            1.2987   1.3168   1.2744     15.248200    1.296633

@jreback
Copy link
Contributor

jreback commented May 21, 2014

looks ok, maybe investigate the very last test a bit (dti_reset_index_tz). generally a bench that is say < 1ms is really hard to measure as lots of things can throw it off (e.g. why the 2nd to last one is no biggie)

@dbew
Copy link
Contributor Author

dbew commented May 21, 2014

There were a few functions in tslib causing the slowdown - stuff which could have been better cythoned. I've tweaked a few things to keep a bit more in cython and the performance looks better. I've broken two seemingly unrelated tests though.

Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------
dti_reset_index_tz                           |  16.3760 |  15.3607 |   1.0661 |

If that's good enough performance-wise then I'll fix the failing tests and push my changes tomorrow.

@jreback
Copy link
Contributor

jreback commented May 21, 2014

looks good

@dbew
Copy link
Contributor Author

dbew commented May 22, 2014

I've rebased to master and fixed the merge. I can squash all of the commits once we're happy with the code and get the tests passing...

There are some tests failing on Travis in python 2.6. This seems to be a difference in numpy (e.g. fails in 1.6.1 but not 1.8.0 or our internally patched 1.7.1 on both python 2.6 and python 2.7).

I think it'll be very tricky to work out why there's a difference though - the problem will lie in tslib.tz_localize_to_utc which is quite complicated.

@jreback
Copy link
Contributor

jreback commented May 22, 2014

ok, numpy < 1.7 is pretty much completely broken for timedelta64. total_seconds does compensate so may want to have a look there.

@dbew
Copy link
Contributor Author

dbew commented May 22, 2014

Does that apply here? We're passing in np.array of int64s not dates, and I think all of the infer_dst logic stays in the int64 world, avoiding timedelta64...

@jreback
Copy link
Contributor

jreback commented May 22, 2014

not sure what the error is; just that < 1.7 has lots of issues (not so many with datetimes though)

@dbew
Copy link
Contributor Author

dbew commented May 23, 2014

Some more digging and this appears to be the problem:

# numpy 1.6
np.array(10, dtype='M8[s]').astype('M8[ns]').view('i8') == 10

# numpy 1.7
np.array(10, dtype='M8[s]').astype('M8[ns]').view('i8') == 10,000,000,000

This is in tslib._get_transitions for dateutil timezones. Multiplying by 1e9 in numpy < 1.7 has fixed the tests.

I've also rebased to master and squashed everything into one commit.

@jreback
Copy link
Contributor

jreback commented May 23, 2014

yep
1.6 is full of issues
I think we don't use any if numpy conversions: rather always convert to i8 first then convert

@dbew
Copy link
Contributor Author

dbew commented May 23, 2014

ah ok. I like the clarity ("convert from seconds to nanoseconds") and numpy 1.6 will be retired eventually..

Is there anything else I need to do before this is merged into the master branch?

Enhancements
~~~~~~~~~~~~

- Support for dateutil timezones, which can now be used in the same way as
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

put an issue link here (to the original issue)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do.

@dbew
Copy link
Contributor Author

dbew commented May 30, 2014

Have rebased to master, tests pass locally. The performance test was fine, no changes to before.

The travis build seems to be taking a while though..

@jreback
Copy link
Contributor

jreback commented May 30, 2014

travis turn around time is pretty random, I think it depends on their entire system load. sometimes pretty quick, sometimes not.

@jreback
Copy link
Contributor

jreback commented May 30, 2014

@jorisvandenbossche @cpcloud pls have a look if you can

return hasattr(tz, '_trans_list') and hasattr(tz, '_trans_idx')


cdef object _tz_cache_key(object tz):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this can be inline (in general a cdef function that is 'short' should/can be inline)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@jreback
Copy link
Contributor

jreback commented May 30, 2014

travis very slow today....https://travis-ci.org/pydata/pandas/builds

@@ -2,6 +2,8 @@
from datetime import datetime, time, timedelta, tzinfo, date
import sys
import os
import unittest
import itertools
import nose
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't think you need the itertools import here.

@cpcloud
Copy link
Member

cpcloud commented May 30, 2014

@dbew few minor comments but looks good otherwise. I would say cdef (instead of cpdef) functions that are not called from Python. That way Cython won't generate Python c API calls until Abs necessary.

@cpcloud
Copy link
Member

cpcloud commented May 30, 2014

Which usually at function and class entry and exit points FYI


def _is_tzlocal(tz):
return isinstance(tz, tzlocal)
cdef bint _is_tzlocal(object tz):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pretty sure you can inline this

Adds support for dateutil timezones across pandas.
Support conversion between dateutil and pytz timezones.
Ensure timezone functionality is tested with both dateutil and pytz.
@jreback
Copy link
Contributor

jreback commented Jun 3, 2014

great ping me on green

@jreback
Copy link
Contributor

jreback commented Jun 3, 2014

@cpcloud @jorisvandenbossche any more comments?

@jorisvandenbossche
Copy link
Member

No further comments on the docs.

@hayd @jreback As this is a rather large addition of code, should we start asking to check for PEP8 with pep8radius (#6248)? Or did we already ask to much of @dbew? (or would it not really work with cython code?)
@dbew Could you try that?

@dbew
Copy link
Contributor Author

dbew commented Jun 4, 2014

I was using a pep8 code checker in pydev while I was writing the code so it should be reasonably pep8 compliant. I'll take a look at pep8radius.

It'd be good to get this into the master branch though..

@jorisvandenbossche
Copy link
Member

@dbew If you already used a pep8 code checker in pydev, then it is OK for this PR!

But, if you want to give pep8radius a try and give some feedback (new tool from @hayd), certainly welcome!

@dbew
Copy link
Contributor Author

dbew commented Jun 4, 2014

Ok, I'll give pep8radius a go soon.

@jreback
Copy link
Contributor

jreback commented Jun 4, 2014

@dbew ping when you are ready for this (after/if anything needs peping)

@dbew
Copy link
Contributor Author

dbew commented Jun 4, 2014

@jreback All ready. @jorisvandenbossche was happy with using the pydev pep8 checker. I'm not going to get chance to look at pep8radius today.

jreback added a commit that referenced this pull request Jun 4, 2014
ENH: Support dateutil timezones. GH4688.
@jreback jreback merged commit 87660ef into pandas-dev:master Jun 4, 2014
@jreback
Copy link
Contributor

jreback commented Jun 4, 2014

thanks @dbew

hopefully no unexpected fallout from this....but I think you did a great job shephearding this!

@dbew
Copy link
Contributor Author

dbew commented Jun 4, 2014

No problem, it's been interesting. It's something that we'll be using inside AHLMSS so we'll keep an eye out for issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Frequency DateOffsets Timezones Timezone data dtype
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ENH: Add dateutil timezone support
5 participants