Skip to content

PERF: benchmarks are hitting .ix & other warnings #27217

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

Closed
jreback opened this issue Jul 3, 2019 · 7 comments · Fixed by #27304
Closed

PERF: benchmarks are hitting .ix & other warnings #27217

jreback opened this issue Jul 3, 2019 · 7 comments · Fixed by #27304
Labels
good first issue Indexing Related to indexing on series/frames, not to indexes themselves Performance Memory or execution speed performance
Milestone

Comments

@jreback
Copy link
Contributor

jreback commented Jul 3, 2019

https://dev.azure.com/pandas-dev/pandas/_build/results?buildId=13969 (off of a PR)

shows quite a number of warnings of the form; we should either suppress or remove the benchmark.

24.97%] ··· io.msgpack.MSGPack.time_read_msgpack                      25.2±0ms
[ 24.97%] ···· /home/vsts/work/1/s/asv_bench/benchmarks/io/msgpack.py:18: FutureWarning: to_msgpack is deprecated and will be removed in a future version.
              It is recommended to use pyarrow for on-the-wire transmission of pandas objects.
                self.df.to_msgpack(self.fname)
              /home/vsts/miniconda3/envs/pandas-dev/lib/python3.7/timeit.py:6: FutureWarning: The read_msgpack is deprecated and will be removed in a future version.
              It is recommended to use pyarrow for on-the-wire transmission of pandas objects.
                times.  See also Tim Peters' introduction to the Algorithms chapter in
  6.83%] ···· For parameters: 0
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:329: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[50:1000, 20:50] = np.nan
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:330: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[2000:3000] = np.nan
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:331: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[:, 60:70] = np.nan
               
               For parameters: 1
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:329: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[50:1000, 20:50] = np.nan
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:330: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[2000:3000] = np.nan
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:331: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[:, 60:70] = np.nan

[  6.89%] ··· frame_methods.Count.time_count_level_multi                      ok
[  6.89%] ··· ====== ==========
               axis            
              ------ ----------
                0     78.6±0ms 
                1     114±0ms  
              ====== ==========

[  6.89%] ···· For parameters: 0
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:329: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[50:1000, 20:50] = np.nan
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:330: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[2000:3000] = np.nan
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:331: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[:, 60:70] = np.nan
               
               For parameters: 1
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:329: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[50:1000, 20:50] = np.nan
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:330: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[2000:3000] = np.nan
               /home/vsts/work/1/s/asv_bench/benchmarks/frame_methods.py:331: FutureWarning: 
               .ix is deprecated. Please use
               .loc for label based indexing or
               .iloc for positional indexing
               
               See the documentation here:
               http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
                 self.df.ix[:, 60:70] = np.nan

[  6.96%] ··· frame_methods.Describe.time_dataframe_describe             133±0ms
[  7.02%] ··· frame_methods.Describe.time_series_describe               44.2±0ms
@jreback jreback added Indexing Related to indexing on series/frames, not to indexes themselves Performance Memory or execution speed performance good first issue labels Jul 3, 2019
@jreback jreback added this to the Contributions Welcome milestone Jul 3, 2019
@leeyspaul
Copy link
Contributor

leeyspaul commented Jul 4, 2019

Hi. I'd like to take on this issue, is there a preference to removal vs suppression? @jreback

@jreback
Copy link
Contributor Author

jreback commented Jul 4, 2019

we can suppress for now is prob reasonable

@leeyspaul
Copy link
Contributor

Awesome! Thank you. I'll get working on it :)

@jreback
Copy link
Contributor Author

jreback commented Jul 4, 2019

note that we also ideally want to have a code_check which fails a build on warnings in asv
that’s can be a separate issue (or fixed here if u want)

@leeyspaul
Copy link
Contributor

Sorry, still relatively new to this code base. Could you point me to the file? I found the asv_bench directory which holds all the benchmarks.

@jreback
Copy link
Contributor Author

jreback commented Jul 4, 2019

i think these are coming from frame_methods, series_methods and io/packers

but u can run locally and see

asv dev

will run them for testing (and is what we do in ci/code_checks)

@leeyspaul
Copy link
Contributor

leeyspaul commented Jul 4, 2019

Ok great! I'll take a look. Thank you!

@jreback jreback modified the milestones: Contributions Welcome, 0.25.0 Jul 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Indexing Related to indexing on series/frames, not to indexes themselves Performance Memory or execution speed performance
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants