]>
Commit | Line | Data |
---|---|---|
1d09f67e TL |
1 | // Licensed to the Apache Software Foundation (ASF) under one |
2 | // or more contributor license agreements. See the NOTICE file | |
3 | // distributed with this work for additional information | |
4 | // regarding copyright ownership. The ASF licenses this file | |
5 | // to you under the Apache License, Version 2.0 (the | |
6 | // "License"); you may not use this file except in compliance | |
7 | // with the License. You may obtain a copy of the License at | |
8 | // | |
9 | // http://www.apache.org/licenses/LICENSE-2.0 | |
10 | // | |
11 | // Unless required by applicable law or agreed to in writing, | |
12 | // software distributed under the License is distributed on an | |
13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
14 | // KIND, either express or implied. See the License for the | |
15 | // specific language governing permissions and limitations | |
16 | // under the License. | |
17 | ||
18 | { | |
19 | // The version of the config file format. Do not change, unless | |
20 | // you know what you are doing. | |
21 | "version": 1, | |
22 | ||
23 | // The name of the project being benchmarked | |
24 | "project": "pyarrow", | |
25 | ||
26 | // The project's homepage | |
27 | "project_url": "https://arrow.apache.org/", | |
28 | ||
29 | // The URL or local path of the source code repository for the | |
30 | // project being benchmarked | |
31 | "repo": "..", | |
32 | ||
33 | // The Python project's subdirectory in your repo. If missing or | |
34 | // the empty string, the project is assumed to be located at the root | |
35 | // of the repository. | |
36 | "repo_subdir": "python", | |
37 | ||
38 | // Custom build commands for Arrow. | |
39 | "build_command": ["/bin/bash {build_dir}/asv-build.sh"], | |
40 | "install_command": ["/bin/bash {build_dir}/asv-install.sh"], | |
41 | "uninstall_command": ["/bin/bash {build_dir}/asv-uninstall.sh"], | |
42 | ||
43 | // List of branches to benchmark. If not provided, defaults to "master" | |
44 | // (for git) or "default" (for mercurial). | |
45 | // "branches": ["master"], // for git | |
46 | // "branches": ["default"], // for mercurial | |
47 | ||
48 | // The DVCS being used. If not set, it will be automatically | |
49 | // determined from "repo" by looking at the protocol in the URL | |
50 | // (if remote), or by looking for special directories, such as | |
51 | // ".git" (if local). | |
52 | "dvcs": "git", | |
53 | ||
54 | // The tool to use to create environments. May be "conda", | |
55 | // "virtualenv" or other value depending on the plugins in use. | |
56 | // If missing or the empty string, the tool will be automatically | |
57 | // determined by looking for tools on the PATH environment | |
58 | // variable. | |
59 | "environment_type": "conda", | |
60 | // Avoid conda-forge to avoid C++ ABI issues | |
61 | "conda_channels": ["defaults"], | |
62 | ||
63 | // the base URL to show a commit for the project. | |
64 | "show_commit_url": "https://github.com/apache/arrow/commit/", | |
65 | ||
66 | // The Pythons you'd like to test against. If not provided, defaults | |
67 | // to the current version of Python used to run `asv`. | |
68 | "pythons": ["3.7"], | |
69 | ||
70 | // The matrix of dependencies to test. Each key is the name of a | |
71 | // package (in PyPI) and the values are version numbers. An empty | |
72 | // list or empty string indicates to just test against the default | |
73 | // (latest) version. null indicates that the package is to not be | |
74 | // installed. If the package to be tested is only available from | |
75 | // PyPi, and the 'environment_type' is conda, then you can preface | |
76 | // the package name by 'pip+', and the package will be installed via | |
77 | // pip (with all the conda available packages installed first, | |
78 | // followed by the pip installed packages). | |
79 | // | |
80 | // "matrix": { | |
81 | // "numpy": ["1.6", "1.7"], | |
82 | // "six": ["", null], // test with and without six installed | |
83 | // "pip+emcee": [""], // emcee is only available for install with pip. | |
84 | // }, | |
85 | "matrix": { | |
86 | // Use older boost since it works on more editions of the project | |
87 | "aws-sdk-cpp": [], | |
88 | "boost-cpp": ["1.68.0"], | |
89 | "brotli": [], | |
90 | "cmake": [], | |
91 | "cython": [], | |
92 | "flatbuffers": [], | |
93 | "grpc-cpp": [], | |
94 | "libprotobuf": [], | |
95 | "lz4-c": [], | |
96 | "ninja": [], | |
97 | "numpy": [], | |
98 | "pandas": ["0.25.1"], | |
99 | "pip+setuptools_scm": [], | |
100 | "rapidjson": [], | |
101 | "re2": [], | |
102 | "snappy": [], | |
103 | "thrift-cpp": [], | |
104 | "zstd": [], | |
105 | }, | |
106 | ||
107 | // Combinations of libraries/python versions can be excluded/included | |
108 | // from the set to test. Each entry is a dictionary containing additional | |
109 | // key-value pairs to include/exclude. | |
110 | // | |
111 | // An exclude entry excludes entries where all values match. The | |
112 | // values are regexps that should match the whole string. | |
113 | // | |
114 | // An include entry adds an environment. Only the packages listed | |
115 | // are installed. The 'python' key is required. The exclude rules | |
116 | // do not apply to includes. | |
117 | // | |
118 | // In addition to package names, the following keys are available: | |
119 | // | |
120 | // - python | |
121 | // Python version, as in the *pythons* variable above. | |
122 | // - environment_type | |
123 | // Environment type, as above. | |
124 | // - sys_platform | |
125 | // Platform, as in sys.platform. Possible values for the common | |
126 | // cases: 'linux2', 'win32', 'cygwin', 'darwin'. | |
127 | // | |
128 | // "exclude": [ | |
129 | // {"python": "3.2", "sys_platform": "win32"}, // skip py3.2 on windows | |
130 | // {"environment_type": "conda", "six": null}, // don't run without six on conda | |
131 | // ], | |
132 | // | |
133 | // "include": [ | |
134 | // // additional env for python2.7 | |
135 | // {"python": "2.7", "numpy": "1.8"}, | |
136 | // // additional env if run on windows+conda | |
137 | // {"platform": "win32", "environment_type": "conda", "python": "2.7", "libpython": ""}, | |
138 | // ], | |
139 | ||
140 | // The directory (relative to the current directory) that benchmarks are | |
141 | // stored in. If not provided, defaults to "benchmarks" | |
142 | "benchmark_dir": "benchmarks", | |
143 | ||
144 | // The directory (relative to the current directory) to cache the Python | |
145 | // environments in. If not provided, defaults to "env" | |
146 | "env_dir": ".asv/env", | |
147 | ||
148 | // The directory (relative to the current directory) that raw benchmark | |
149 | // results are stored in. If not provided, defaults to "results". | |
150 | "results_dir": ".asv/results", | |
151 | ||
152 | // The directory (relative to the current directory) that the html tree | |
153 | // should be written to. If not provided, defaults to "html". | |
154 | "html_dir": "build/benchmarks/html", | |
155 | ||
156 | // The number of characters to retain in the commit hashes. | |
157 | // "hash_length": 8, | |
158 | ||
159 | // `asv` will cache wheels of the recent builds in each | |
160 | // environment, making them faster to install next time. This is | |
161 | // number of builds to keep, per environment. | |
162 | // "wheel_cache_size": 0, | |
163 | ||
164 | // The commits after which the regression search in `asv publish` | |
165 | // should start looking for regressions. Dictionary whose keys are | |
166 | // regexps matching to benchmark names, and values corresponding to | |
167 | // the commit (exclusive) after which to start looking for | |
168 | // regressions. The default is to start from the first commit | |
169 | // with results. If the commit is `null`, regression detection is | |
170 | // skipped for the matching benchmark. | |
171 | // | |
172 | // "regressions_first_commits": { | |
173 | // "some_benchmark": "352cdf", // Consider regressions only after this commit | |
174 | // "another_benchmark": null, // Skip regression detection altogether | |
175 | // } | |
176 | ||
177 | // The thresholds for relative change in results, after which `asv | |
178 | // publish` starts reporting regressions. Dictionary of the same | |
179 | // form as in ``regressions_first_commits``, with values | |
180 | // indicating the thresholds. If multiple entries match, the | |
181 | // maximum is taken. If no entry matches, the default is 5%. | |
182 | // | |
183 | // "regressions_thresholds": { | |
184 | // "some_benchmark": 0.01, // Threshold of 1% | |
185 | // "another_benchmark": 0.5, // Threshold of 50% | |
186 | // } | |
187 | } |