import numpy
import perfplot
perfplot.show(
setup=lambda n: numpy.random.rand(n),
kernels=[
lambda a: numpy.r_[a, a],
lambda a: numpy.stack([a, a]).reshape(-1),
lambda a: numpy.hstack([a, a]),
lambda a: numpy.concatenate([a, a])
],
labels=['r_', 'stack+reshape', 'hstack', 'concatenate'],
n_range=[2**k for k in range(19)],
xlabel='len(a)',
logx=True,
logy=True,
)
0%| | 0/19 [00:00<?, ?it/s]
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:00, 3.00it/s][A
50%|█████ | 2/4 [00:00<00:00, 3.68it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 3.95it/s][A
5%|▌ | 1/19 [00:00<00:13, 1.30it/s][A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:00, 3.19it/s][A
50%|█████ | 2/4 [00:00<00:00, 3.61it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 3.73it/s][A
11%|█ | 2/19 [00:01<00:14, 1.16it/s][A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:00, 3.54it/s][A
50%|█████ | 2/4 [00:00<00:00, 3.83it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 3.96it/s][A
16%|█▌ | 3/19 [00:02<00:14, 1.14it/s][A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 2.20it/s][A
50%|█████ | 2/4 [00:00<00:00, 2.55it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 3.02it/s][A
21%|██ | 4/19 [00:03<00:13, 1.09it/s][A
0%| | 0/4 [00:00<?, ?it/s][A
50%|█████ | 2/4 [00:00<00:00, 5.33it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 5.44it/s][A
26%|██▋ | 5/19 [00:04<00:12, 1.16it/s][A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 2.74it/s][A
50%|█████ | 2/4 [00:00<00:00, 2.96it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 3.06it/s][A
32%|███▏ | 6/19 [00:05<00:12, 1.07it/s][A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 2.84it/s][A
50%|█████ | 2/4 [00:00<00:00, 3.26it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 3.64it/s][A
37%|███▋ | 7/19 [00:06<00:11, 1.07it/s][A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:00, 3.04it/s][A
50%|█████ | 2/4 [00:00<00:00, 3.19it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 3.65it/s][A
42%|████▏ | 8/19 [00:07<00:10, 1.06it/s][A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 1.94it/s][A
50%|█████ | 2/4 [00:00<00:00, 2.48it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 3.11it/s][A
47%|████▋ | 9/19 [00:08<00:09, 1.05it/s][A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:00, 3.28it/s][A
50%|█████ | 2/4 [00:00<00:00, 3.65it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 3.74it/s][A
53%|█████▎ | 10/19 [00:09<00:08, 1.04it/s]A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 2.95it/s][A
50%|█████ | 2/4 [00:00<00:00, 3.18it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 3.41it/s][A
58%|█████▊ | 11/19 [00:10<00:08, 1.00s/it]A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:00, 3.64it/s][A
50%|█████ | 2/4 [00:00<00:00, 3.85it/s][A
75%|███████▌ | 3/4 [00:00<00:00, 4.22it/s][A
63%|██████▎ | 12/19 [00:11<00:06, 1.01it/s]A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 1.82it/s][A
50%|█████ | 2/4 [00:00<00:00, 2.11it/s][A
75%|███████▌ | 3/4 [00:01<00:00, 2.36it/s][A
68%|██████▊ | 13/19 [00:13<00:07, 1.20s/it]A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 1.69it/s][A
50%|█████ | 2/4 [00:00<00:01, 1.93it/s][A
75%|███████▌ | 3/4 [00:01<00:00, 2.13it/s][A
74%|███████▎ | 14/19 [00:14<00:06, 1.37s/it]A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 1.62it/s][A
50%|█████ | 2/4 [00:01<00:01, 1.77it/s][A
75%|███████▌ | 3/4 [00:01<00:00, 2.11it/s][A
79%|███████▉ | 15/19 [00:16<00:06, 1.51s/it]A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 2.35it/s][A
50%|█████ | 2/4 [00:00<00:00, 2.22it/s][A
75%|███████▌ | 3/4 [00:01<00:00, 2.16it/s][A
84%|████████▍ | 16/19 [00:18<00:04, 1.55s/it]A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 2.67it/s][A
50%|█████ | 2/4 [00:00<00:00, 2.66it/s][A
75%|███████▌ | 3/4 [00:01<00:00, 2.54it/s][A
89%|████████▉ | 17/19 [00:20<00:03, 1.59s/it]A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 1.52it/s][A
50%|█████ | 2/4 [00:01<00:01, 1.50it/s][A
75%|███████▌ | 3/4 [00:02<00:00, 1.47it/s][A
95%|█████████▍| 18/19 [00:23<00:01, 1.99s/it]A
0%| | 0/4 [00:00<?, ?it/s][A
25%|██▌ | 1/4 [00:00<00:01, 2.97it/s][A
50%|█████ | 2/4 [00:01<00:01, 1.90it/s][A
75%|███████▌ | 3/4 [00:02<00:00, 1.50it/s][A
100%|██████████| 19/19 [00:25<00:00, 2.27s/it]A