We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Do not check ASV benchmarks on test data, where the number of rows is much less than the number of columns
These sizes can be removed because such cases are not used in benchmarking: https://github.com/modin-project/modin/blob/dd91a78ad3f4b8e3e569215e9c8e540ad099d4a8/asv_bench/benchmarks/utils/data_shapes.py#L33 and https://github.com/modin-project/modin/blob/dd91a78ad3f4b8e3e569215e9c8e540ad099d4a8/asv_bench/benchmarks/utils/data_shapes.py#L46

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `asv_bench/benchmarks/utils/data_shapes.py`
Content:
```
1 # Licensed to Modin Development Team under one or more contributor license agreements.
2 # See the NOTICE file distributed with this work for additional information regarding
3 # copyright ownership.  The Modin Development Team licenses this file to you under the
4 # Apache License, Version 2.0 (the "License"); you may not use this file except in
5 # compliance with the License.  You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software distributed under
10 # the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11 # ANY KIND, either express or implied. See the License for the specific language
12 # governing permissions and limitations under the License.
13 
14 """Define data shapes."""
15 
16 import os
17 import json
18 
19 from .compatibility import ASV_USE_BACKEND, ASV_DATASET_SIZE
20 
21 RAND_LOW = 0
22 RAND_HIGH = 1_000_000_000 if ASV_USE_BACKEND == "omnisci" else 100
23 
24 BINARY_OP_DATA_SIZE = {
25     "big": [
26         [[5000, 5000], [5000, 5000]],
27         # the case extremely inefficient
28         # [[20, 500_000], [10, 1_000_000]],
29         [[500_000, 20], [1_000_000, 10]],
30     ],
31     "small": [
32         [[250, 250], [250, 250]],
33         [[20, 10_000], [10, 25_000]],
34         [[10_000, 20], [25_000, 10]],
35     ],
36 }
37 UNARY_OP_DATA_SIZE = {
38     "big": [
39         [5000, 5000],
40         # the case extremely inefficient
41         # [10, 1_000_000],
42         [1_000_000, 10],
43     ],
44     "small": [
45         [250, 250],
46         [10, 10_000],
47         [10_000, 10],
48     ],
49 }
50 SERIES_DATA_SIZE = {
51     "big": [
52         (100_000, 1),
53     ],
54     "small": [
55         (10_000, 1),
56     ],
57 }
58 
59 
60 OMNISCI_BINARY_OP_DATA_SIZE = {
61     "big": [
62         [[500_000, 20], [1_000_000, 10]],
63     ],
64     "small": [
65         [[10_000, 20], [25_000, 10]],
66     ],
67 }
68 OMNISCI_UNARY_OP_DATA_SIZE = {
69     "big": [
70         [1_000_000, 10],
71     ],
72     "small": [
73         [10_000, 10],
74     ],
75 }
76 OMNISCI_SERIES_DATA_SIZE = {
77     "big": [
78         [10_000_000, 1],
79     ],
80     "small": [
81         [100_000, 1],
82     ],
83 }
84 
85 BINARY_SHAPES = (
86     OMNISCI_BINARY_OP_DATA_SIZE[ASV_DATASET_SIZE]
87     if ASV_USE_BACKEND == "omnisci"
88     else BINARY_OP_DATA_SIZE[ASV_DATASET_SIZE]
89 )
90 UNARY_SHAPES = (
91     OMNISCI_UNARY_OP_DATA_SIZE[ASV_DATASET_SIZE]
92     if ASV_USE_BACKEND == "omnisci"
93     else UNARY_OP_DATA_SIZE[ASV_DATASET_SIZE]
94 )
95 SERIES_SHAPES = (
96     OMNISCI_SERIES_DATA_SIZE[ASV_DATASET_SIZE]
97     if ASV_USE_BACKEND == "omnisci"
98     else SERIES_DATA_SIZE[ASV_DATASET_SIZE]
99 )
100 
101 DEFAULT_GROUPBY_NGROUPS = {
102     "big": [100, "huge_amount_groups"],
103     "small": [5],
104 }
105 GROUPBY_NGROUPS = DEFAULT_GROUPBY_NGROUPS[ASV_DATASET_SIZE]
106 
107 _DEFAULT_CONFIG_T = [
108     (
109         UNARY_SHAPES,
110         [
111             # Pandas backend benchmarks
112             "TimeGroupByMultiColumn",
113             "TimeGroupByDefaultAggregations",
114             "TimeGroupByDictionaryAggregation",
115             "TimeSetItem",
116             "TimeInsert",
117             "TimeArithmetic",
118             "TimeSortValues",
119             "TimeDrop",
120             "TimeHead",
121             "TimeFillna",
122             "TimeFillnaDataFrame",
123             "TimeValueCountsFrame",
124             "TimeValueCountsSeries",
125             "TimeIndexing",
126             "TimeMultiIndexing",
127             "TimeResetIndex",
128             "TimeAstype",
129             "TimeDescribe",
130             "TimeProperties",
131             # IO benchmarks
132             "TimeReadCsvSkiprows",
133             "TimeReadCsvTrueFalseValues",
134             "TimeReadCsvNamesDtype",
135             # Scalability benchmarks
136             "TimeFromPandas",
137             "TimeToPandas",
138             # OmniSci backend benchmarks
139             "omnisci.TimeJoin",
140             "omnisci.TimeBinaryOpDataFrame",
141             "omnisci.TimeArithmetic",
142             "omnisci.TimeSortValues",
143             "omnisci.TimeDrop",
144             "omnisci.TimeHead",
145             "omnisci.TimeFillna",
146             "omnisci.TimeIndexing",
147             "omnisci.TimeResetIndex",
148             "omnisci.TimeAstype",
149             "omnisci.TimeDescribe",
150             "omnisci.TimeProperties",
151             "omnisci.TimeGroupByDefaultAggregations",
152             "omnisci.TimeGroupByMultiColumn",
153             # OmniSci backend IO benchmarks
154             "omnisci.TimeReadCsvNames",
155         ],
156     ),
157     (
158         BINARY_SHAPES,
159         [
160             # Pandas backend benchmarks
161             "TimeJoin",
162             "TimeMerge",
163             "TimeConcat",
164             "TimeAppend",
165             "TimeBinaryOp",
166             # OmniSci backend benchmarks
167             "omnisci.TimeMerge",
168             "omnisci.TimeAppend",
169         ],
170     ),
171     (
172         SERIES_SHAPES,
173         [
174             # Pandas backend benchmarks
175             "TimeFillnaSeries",
176             # OmniSci backend benchmarks
177             "omnisci.TimeBinaryOpSeries",
178             "omnisci.TimeValueCountsSeries",
179         ],
180     ),
181 ]
182 DEFAULT_CONFIG = {}
183 for _shape, _names in _DEFAULT_CONFIG_T:
184     DEFAULT_CONFIG.update({_name: _shape for _name in _names})
185 
186 CONFIG_FROM_FILE = None
187 
188 
189 def get_benchmark_shapes(bench_id: str):
190     """
191     Get custom benchmark shapes from a json file stored in MODIN_ASV_DATASIZE_CONFIG.
192 
193     If `bench_id` benchmark is not found in the file, then the default value will
194     be used.
195 
196     Parameters
197     ----------
198     bench_id : str
199         Unique benchmark identifier that is used to get shapes.
200 
201     Returns
202     -------
203     list
204         Benchmark shapes.
205     """
206     global CONFIG_FROM_FILE
207     if not CONFIG_FROM_FILE:
208         try:
209             from modin.config import AsvDataSizeConfig
210 
211             filename = AsvDataSizeConfig.get()
212         except ImportError:
213             filename = os.environ.get("MODIN_ASV_DATASIZE_CONFIG", None)
214         if filename:
215             # should be json
216             with open(filename) as _f:
217                 CONFIG_FROM_FILE = json.load(_f)
218 
219     if CONFIG_FROM_FILE and bench_id in CONFIG_FROM_FILE:
220         # example: "omnisci.TimeReadCsvNames": [[5555, 55], [3333, 33]]
221         return CONFIG_FROM_FILE[bench_id]
222     return DEFAULT_CONFIG[bench_id]
223
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/asv_bench/benchmarks/utils/data_shapes.py b/asv_bench/benchmarks/utils/data_shapes.py
--- a/asv_bench/benchmarks/utils/data_shapes.py
+++ b/asv_bench/benchmarks/utils/data_shapes.py
@@ -30,7 +30,6 @@
     ],
     "small": [
         [[250, 250], [250, 250]],
-        [[20, 10_000], [10, 25_000]],
         [[10_000, 20], [25_000, 10]],
     ],
 }
@@ -43,7 +42,6 @@
     ],
     "small": [
         [250, 250],
-        [10, 10_000],
         [10_000, 10],
     ],
 }

{"golden_diff": "diff --git a/asv_bench/benchmarks/utils/data_shapes.py b/asv_bench/benchmarks/utils/data_shapes.py\n--- a/asv_bench/benchmarks/utils/data_shapes.py\n+++ b/asv_bench/benchmarks/utils/data_shapes.py\n@@ -30,7 +30,6 @@\n     ],\n     \"small\": [\n         [[250, 250], [250, 250]],\n-        [[20, 10_000], [10, 25_000]],\n         [[10_000, 20], [25_000, 10]],\n     ],\n }\n@@ -43,7 +42,6 @@\n     ],\n     \"small\": [\n         [250, 250],\n-        [10, 10_000],\n         [10_000, 10],\n     ],\n }\n", "issue": "Do not check ASV benchmarks on test data, where the number of rows is much less than the number of columns\nThese sizes can be removed because such cases are not used in benchmarking: https://github.com/modin-project/modin/blob/dd91a78ad3f4b8e3e569215e9c8e540ad099d4a8/asv_bench/benchmarks/utils/data_shapes.py#L33 and https://github.com/modin-project/modin/blob/dd91a78ad3f4b8e3e569215e9c8e540ad099d4a8/asv_bench/benchmarks/utils/data_shapes.py#L46\n", "before_files": [{"content": "# Licensed to Modin Development Team under one or more contributor license agreements.\n# See the NOTICE file distributed with this work for additional information regarding\n# copyright ownership.  The Modin Development Team licenses this file to you under the\n# Apache License, Version 2.0 (the \"License\"); you may not use this file except in\n# compliance with the License.  You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software distributed under\n# the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n# ANY KIND, either express or implied. See the License for the specific language\n# governing permissions and limitations under the License.\n\n\"\"\"Define data shapes.\"\"\"\n\nimport os\nimport json\n\nfrom .compatibility import ASV_USE_BACKEND, ASV_DATASET_SIZE\n\nRAND_LOW = 0\nRAND_HIGH = 1_000_000_000 if ASV_USE_BACKEND == \"omnisci\" else 100\n\nBINARY_OP_DATA_SIZE = {\n    \"big\": [\n        [[5000, 5000], [5000, 5000]],\n        # the case extremely inefficient\n        # [[20, 500_000], [10, 1_000_000]],\n        [[500_000, 20], [1_000_000, 10]],\n    ],\n    \"small\": [\n        [[250, 250], [250, 250]],\n        [[20, 10_000], [10, 25_000]],\n        [[10_000, 20], [25_000, 10]],\n    ],\n}\nUNARY_OP_DATA_SIZE = {\n    \"big\": [\n        [5000, 5000],\n        # the case extremely inefficient\n        # [10, 1_000_000],\n        [1_000_000, 10],\n    ],\n    \"small\": [\n        [250, 250],\n        [10, 10_000],\n        [10_000, 10],\n    ],\n}\nSERIES_DATA_SIZE = {\n    \"big\": [\n        (100_000, 1),\n    ],\n    \"small\": [\n        (10_000, 1),\n    ],\n}\n\n\nOMNISCI_BINARY_OP_DATA_SIZE = {\n    \"big\": [\n        [[500_000, 20], [1_000_000, 10]],\n    ],\n    \"small\": [\n        [[10_000, 20], [25_000, 10]],\n    ],\n}\nOMNISCI_UNARY_OP_DATA_SIZE = {\n    \"big\": [\n        [1_000_000, 10],\n    ],\n    \"small\": [\n        [10_000, 10],\n    ],\n}\nOMNISCI_SERIES_DATA_SIZE = {\n    \"big\": [\n        [10_000_000, 1],\n    ],\n    \"small\": [\n        [100_000, 1],\n    ],\n}\n\nBINARY_SHAPES = (\n    OMNISCI_BINARY_OP_DATA_SIZE[ASV_DATASET_SIZE]\n    if ASV_USE_BACKEND == \"omnisci\"\n    else BINARY_OP_DATA_SIZE[ASV_DATASET_SIZE]\n)\nUNARY_SHAPES = (\n    OMNISCI_UNARY_OP_DATA_SIZE[ASV_DATASET_SIZE]\n    if ASV_USE_BACKEND == \"omnisci\"\n    else UNARY_OP_DATA_SIZE[ASV_DATASET_SIZE]\n)\nSERIES_SHAPES = (\n    OMNISCI_SERIES_DATA_SIZE[ASV_DATASET_SIZE]\n    if ASV_USE_BACKEND == \"omnisci\"\n    else SERIES_DATA_SIZE[ASV_DATASET_SIZE]\n)\n\nDEFAULT_GROUPBY_NGROUPS = {\n    \"big\": [100, \"huge_amount_groups\"],\n    \"small\": [5],\n}\nGROUPBY_NGROUPS = DEFAULT_GROUPBY_NGROUPS[ASV_DATASET_SIZE]\n\n_DEFAULT_CONFIG_T = [\n    (\n        UNARY_SHAPES,\n        [\n            # Pandas backend benchmarks\n            \"TimeGroupByMultiColumn\",\n            \"TimeGroupByDefaultAggregations\",\n            \"TimeGroupByDictionaryAggregation\",\n            \"TimeSetItem\",\n            \"TimeInsert\",\n            \"TimeArithmetic\",\n            \"TimeSortValues\",\n            \"TimeDrop\",\n            \"TimeHead\",\n            \"TimeFillna\",\n            \"TimeFillnaDataFrame\",\n            \"TimeValueCountsFrame\",\n            \"TimeValueCountsSeries\",\n            \"TimeIndexing\",\n            \"TimeMultiIndexing\",\n            \"TimeResetIndex\",\n            \"TimeAstype\",\n            \"TimeDescribe\",\n            \"TimeProperties\",\n            # IO benchmarks\n            \"TimeReadCsvSkiprows\",\n            \"TimeReadCsvTrueFalseValues\",\n            \"TimeReadCsvNamesDtype\",\n            # Scalability benchmarks\n            \"TimeFromPandas\",\n            \"TimeToPandas\",\n            # OmniSci backend benchmarks\n            \"omnisci.TimeJoin\",\n            \"omnisci.TimeBinaryOpDataFrame\",\n            \"omnisci.TimeArithmetic\",\n            \"omnisci.TimeSortValues\",\n            \"omnisci.TimeDrop\",\n            \"omnisci.TimeHead\",\n            \"omnisci.TimeFillna\",\n            \"omnisci.TimeIndexing\",\n            \"omnisci.TimeResetIndex\",\n            \"omnisci.TimeAstype\",\n            \"omnisci.TimeDescribe\",\n            \"omnisci.TimeProperties\",\n            \"omnisci.TimeGroupByDefaultAggregations\",\n            \"omnisci.TimeGroupByMultiColumn\",\n            # OmniSci backend IO benchmarks\n            \"omnisci.TimeReadCsvNames\",\n        ],\n    ),\n    (\n        BINARY_SHAPES,\n        [\n            # Pandas backend benchmarks\n            \"TimeJoin\",\n            \"TimeMerge\",\n            \"TimeConcat\",\n            \"TimeAppend\",\n            \"TimeBinaryOp\",\n            # OmniSci backend benchmarks\n            \"omnisci.TimeMerge\",\n            \"omnisci.TimeAppend\",\n        ],\n    ),\n    (\n        SERIES_SHAPES,\n        [\n            # Pandas backend benchmarks\n            \"TimeFillnaSeries\",\n            # OmniSci backend benchmarks\n            \"omnisci.TimeBinaryOpSeries\",\n            \"omnisci.TimeValueCountsSeries\",\n        ],\n    ),\n]\nDEFAULT_CONFIG = {}\nfor _shape, _names in _DEFAULT_CONFIG_T:\n    DEFAULT_CONFIG.update({_name: _shape for _name in _names})\n\nCONFIG_FROM_FILE = None\n\n\ndef get_benchmark_shapes(bench_id: str):\n    \"\"\"\n    Get custom benchmark shapes from a json file stored in MODIN_ASV_DATASIZE_CONFIG.\n\n    If `bench_id` benchmark is not found in the file, then the default value will\n    be used.\n\n    Parameters\n    ----------\n    bench_id : str\n        Unique benchmark identifier that is used to get shapes.\n\n    Returns\n    -------\n    list\n        Benchmark shapes.\n    \"\"\"\n    global CONFIG_FROM_FILE\n    if not CONFIG_FROM_FILE:\n        try:\n            from modin.config import AsvDataSizeConfig\n\n            filename = AsvDataSizeConfig.get()\n        except ImportError:\n            filename = os.environ.get(\"MODIN_ASV_DATASIZE_CONFIG\", None)\n        if filename:\n            # should be json\n            with open(filename) as _f:\n                CONFIG_FROM_FILE = json.load(_f)\n\n    if CONFIG_FROM_FILE and bench_id in CONFIG_FROM_FILE:\n        # example: \"omnisci.TimeReadCsvNames\": [[5555, 55], [3333, 33]]\n        return CONFIG_FROM_FILE[bench_id]\n    return DEFAULT_CONFIG[bench_id]\n", "path": "asv_bench/benchmarks/utils/data_shapes.py"}], "after_files": [{"content": "# Licensed to Modin Development Team under one or more contributor license agreements.\n# See the NOTICE file distributed with this work for additional information regarding\n# copyright ownership.  The Modin Development Team licenses this file to you under the\n# Apache License, Version 2.0 (the \"License\"); you may not use this file except in\n# compliance with the License.  You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software distributed under\n# the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n# ANY KIND, either express or implied. See the License for the specific language\n# governing permissions and limitations under the License.\n\n\"\"\"Define data shapes.\"\"\"\n\nimport os\nimport json\n\nfrom .compatibility import ASV_USE_BACKEND, ASV_DATASET_SIZE\n\nRAND_LOW = 0\nRAND_HIGH = 1_000_000_000 if ASV_USE_BACKEND == \"omnisci\" else 100\n\nBINARY_OP_DATA_SIZE = {\n    \"big\": [\n        [[5000, 5000], [5000, 5000]],\n        # the case extremely inefficient\n        # [[20, 500_000], [10, 1_000_000]],\n        [[500_000, 20], [1_000_000, 10]],\n    ],\n    \"small\": [\n        [[250, 250], [250, 250]],\n        [[10_000, 20], [25_000, 10]],\n    ],\n}\nUNARY_OP_DATA_SIZE = {\n    \"big\": [\n        [5000, 5000],\n        # the case extremely inefficient\n        # [10, 1_000_000],\n        [1_000_000, 10],\n    ],\n    \"small\": [\n        [250, 250],\n        [10_000, 10],\n    ],\n}\nSERIES_DATA_SIZE = {\n    \"big\": [\n        (100_000, 1),\n    ],\n    \"small\": [\n        (10_000, 1),\n    ],\n}\n\n\nOMNISCI_BINARY_OP_DATA_SIZE = {\n    \"big\": [\n        [[500_000, 20], [1_000_000, 10]],\n    ],\n    \"small\": [\n        [[10_000, 20], [25_000, 10]],\n    ],\n}\nOMNISCI_UNARY_OP_DATA_SIZE = {\n    \"big\": [\n        [1_000_000, 10],\n    ],\n    \"small\": [\n        [10_000, 10],\n    ],\n}\nOMNISCI_SERIES_DATA_SIZE = {\n    \"big\": [\n        [10_000_000, 1],\n    ],\n    \"small\": [\n        [100_000, 1],\n    ],\n}\n\nBINARY_SHAPES = (\n    OMNISCI_BINARY_OP_DATA_SIZE[ASV_DATASET_SIZE]\n    if ASV_USE_BACKEND == \"omnisci\"\n    else BINARY_OP_DATA_SIZE[ASV_DATASET_SIZE]\n)\nUNARY_SHAPES = (\n    OMNISCI_UNARY_OP_DATA_SIZE[ASV_DATASET_SIZE]\n    if ASV_USE_BACKEND == \"omnisci\"\n    else UNARY_OP_DATA_SIZE[ASV_DATASET_SIZE]\n)\nSERIES_SHAPES = (\n    OMNISCI_SERIES_DATA_SIZE[ASV_DATASET_SIZE]\n    if ASV_USE_BACKEND == \"omnisci\"\n    else SERIES_DATA_SIZE[ASV_DATASET_SIZE]\n)\n\nDEFAULT_GROUPBY_NGROUPS = {\n    \"big\": [100, \"huge_amount_groups\"],\n    \"small\": [5],\n}\nGROUPBY_NGROUPS = DEFAULT_GROUPBY_NGROUPS[ASV_DATASET_SIZE]\n\n_DEFAULT_CONFIG_T = [\n    (\n        UNARY_SHAPES,\n        [\n            # Pandas backend benchmarks\n            \"TimeGroupByMultiColumn\",\n            \"TimeGroupByDefaultAggregations\",\n            \"TimeGroupByDictionaryAggregation\",\n            \"TimeSetItem\",\n            \"TimeInsert\",\n            \"TimeArithmetic\",\n            \"TimeSortValues\",\n            \"TimeDrop\",\n            \"TimeHead\",\n            \"TimeFillna\",\n            \"TimeFillnaDataFrame\",\n            \"TimeValueCountsFrame\",\n            \"TimeValueCountsSeries\",\n            \"TimeIndexing\",\n            \"TimeMultiIndexing\",\n            \"TimeResetIndex\",\n            \"TimeAstype\",\n            \"TimeDescribe\",\n            \"TimeProperties\",\n            # IO benchmarks\n            \"TimeReadCsvSkiprows\",\n            \"TimeReadCsvTrueFalseValues\",\n            \"TimeReadCsvNamesDtype\",\n            # Scalability benchmarks\n            \"TimeFromPandas\",\n            \"TimeToPandas\",\n            # OmniSci backend benchmarks\n            \"omnisci.TimeJoin\",\n            \"omnisci.TimeBinaryOpDataFrame\",\n            \"omnisci.TimeArithmetic\",\n            \"omnisci.TimeSortValues\",\n            \"omnisci.TimeDrop\",\n            \"omnisci.TimeHead\",\n            \"omnisci.TimeFillna\",\n            \"omnisci.TimeIndexing\",\n            \"omnisci.TimeResetIndex\",\n            \"omnisci.TimeAstype\",\n            \"omnisci.TimeDescribe\",\n            \"omnisci.TimeProperties\",\n            \"omnisci.TimeGroupByDefaultAggregations\",\n            \"omnisci.TimeGroupByMultiColumn\",\n            # OmniSci backend IO benchmarks\n            \"omnisci.TimeReadCsvNames\",\n        ],\n    ),\n    (\n        BINARY_SHAPES,\n        [\n            # Pandas backend benchmarks\n            \"TimeJoin\",\n            \"TimeMerge\",\n            \"TimeConcat\",\n            \"TimeAppend\",\n            \"TimeBinaryOp\",\n            # OmniSci backend benchmarks\n            \"omnisci.TimeMerge\",\n            \"omnisci.TimeAppend\",\n        ],\n    ),\n    (\n        SERIES_SHAPES,\n        [\n            # Pandas backend benchmarks\n            \"TimeFillnaSeries\",\n            # OmniSci backend benchmarks\n            \"omnisci.TimeBinaryOpSeries\",\n            \"omnisci.TimeValueCountsSeries\",\n        ],\n    ),\n]\nDEFAULT_CONFIG = {}\nfor _shape, _names in _DEFAULT_CONFIG_T:\n    DEFAULT_CONFIG.update({_name: _shape for _name in _names})\n\nCONFIG_FROM_FILE = None\n\n\ndef get_benchmark_shapes(bench_id: str):\n    \"\"\"\n    Get custom benchmark shapes from a json file stored in MODIN_ASV_DATASIZE_CONFIG.\n\n    If `bench_id` benchmark is not found in the file, then the default value will\n    be used.\n\n    Parameters\n    ----------\n    bench_id : str\n        Unique benchmark identifier that is used to get shapes.\n\n    Returns\n    -------\n    list\n        Benchmark shapes.\n    \"\"\"\n    global CONFIG_FROM_FILE\n    if not CONFIG_FROM_FILE:\n        try:\n            from modin.config import AsvDataSizeConfig\n\n            filename = AsvDataSizeConfig.get()\n        except ImportError:\n            filename = os.environ.get(\"MODIN_ASV_DATASIZE_CONFIG\", None)\n        if filename:\n            # should be json\n            with open(filename) as _f:\n                CONFIG_FROM_FILE = json.load(_f)\n\n    if CONFIG_FROM_FILE and bench_id in CONFIG_FROM_FILE:\n        # example: \"omnisci.TimeReadCsvNames\": [[5555, 55], [3333, 33]]\n        return CONFIG_FROM_FILE[bench_id]\n    return DEFAULT_CONFIG[bench_id]\n", "path": "asv_bench/benchmarks/utils/data_shapes.py"}]}