<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>I guess the speed up, if any, will be machine dependent, but you can give a try at:</p>
<p>import numpy as np<br />import time<br />N = 3000<br />m_0 = np.arange(N)<br />t = time.time()<br />a = np.ones(N)<br />m_1 = np.outer(m_0, a).ravel()<br />m_2 = np.outer(a, m_0).ravel()<br />t = time.time() - t</p>
<div> </div>
<p><br /></p>
<p>On 2021-01-09 20:07, klark--kent@yandex.ru wrote:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<p>Hello. <span style="color: #0c0d0e; font-family: 'helvetica neue' , 'helvetica' , 'arial' , sans-serif; font-size: 15px;">There is a random 1D array m_0 with size 3000, for example:</span></p>
<pre class="77bcd2282dfcb1e3lang-py 9d42855e225b017es-code-block fcd64a3efda3b9cchljs 4d7b3d7cf7e21e0dpython" style="border: 0px; border-radius: 5px; box-sizing: inherit; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; line-height: 1.30769; margin-top: 0px; max-height: 300px; overflow: auto; padding: 12px; vertical-align: baseline;"><code style="border: 0px; box-sizing: inherit; font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; max-height: 300px; padding: 0px; vertical-align: baseline;">m_0 = np.array([<span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">0</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">2</span>])
</code></pre>
<p style="border: 0px; box-sizing: inherit; color: #0c0d0e; font-family: 'helvetica neue' , 'helvetica' , 'arial' , sans-serif; font-size: 15px; line-height: inherit; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; vertical-align: baseline;">I need to generate two 1D arrays:</p>
<pre class="77bcd2282dfcb1e3lang-py 9d42855e225b017es-code-block fcd64a3efda3b9cchljs 4d7b3d7cf7e21e0dpython" style="border: 0px; border-radius: 5px; box-sizing: inherit; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; line-height: 1.30769; margin-top: 0px; max-height: 300px; overflow: auto; padding: 12px; vertical-align: baseline;"><code style="border: 0px; box-sizing: inherit; font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; max-height: 300px; padding: 0px; vertical-align: baseline;">m_1 = np.array([<span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">0</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">2</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">0</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">2</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">0</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">2</span>])
m_2 = np.array([<span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">0</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">0</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">0</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">1</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">2</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">2</span>, <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">2</span>])
</code></pre>
<p style="border: 0px; box-sizing: inherit; color: #0c0d0e; font-family: 'helvetica neue' , 'helvetica' , 'arial' , sans-serif; font-size: 15px; line-height: inherit; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding: 0px; vertical-align: baseline;">Is there faster way to do it than this one:</p>
<pre class="77bcd2282dfcb1e3lang-py 9d42855e225b017es-code-block fcd64a3efda3b9cchljs 4d7b3d7cf7e21e0dpython" style="border: 0px; border-radius: 5px; box-sizing: inherit; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; line-height: 1.30769; margin-top: 0px; max-height: 300px; overflow: auto; padding: 12px; vertical-align: baseline;"><code style="border: 0px; box-sizing: inherit; font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; max-height: 300px; padding: 0px; vertical-align: baseline;"><span class="c3caec8b9377b9a6hljs-keyword" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">import</span> numpy <span class="c3caec8b9377b9a6hljs-keyword" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">as</span> np
<span class="c3caec8b9377b9a6hljs-keyword" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">import</span> time
N = <span class="70729ca43534ed0hljs-number" style="border: 0px; box-sizing: inherit; font: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">3</span>
m_0 = np.arange(N)

t = time.time()
m_1 = np.tile(m_0, N)
m_2 = np.repeat(m_0, N)
t = time.time() - t</code></pre>
<pre class="77bcd2282dfcb1e3lang-py 9d42855e225b017es-code-block fcd64a3efda3b9cchljs 4d7b3d7cf7e21e0dpython" style="border: 0px; border-radius: 5px; box-sizing: inherit; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; line-height: 1.30769; margin-top: 0px; max-height: 300px; overflow: auto; padding: 12px; vertical-align: baseline;"><code style="border: 0px; box-sizing: inherit; font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; max-height: 300px; padding: 0px; vertical-align: baseline;">I tried other ways but they are slower or have the same time. Other NumPy operations in my code 10-100 times faster. </code>Why the repeating an array is so slow? I need 10 times speed up. Thank you for your attantion to my problem.</pre>
<br />
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">_______________________________________________<br /> NumPy-Discussion mailing list<br /> <a href="mailto:NumPy-Discussion@python.org">NumPy-Discussion@python.org</a><br /> <a href="https://mail.python.org/mailman/listinfo/numpy-discussion">https://mail.python.org/mailman/listinfo/numpy-discussion</a></div>
</blockquote>
</body></html>