Might be os-specific, too. Some virtual memory management systems might special case the zeroing out of memory. Try doing the same thing with a different value than zero.
On Dec 26, 2016 6:15 AM, "Nicolas P. Rougier" <nicolas.roug...@inria.fr> wrote: Thanks for the explanation Sebastian, makes sense. Nicolas > On 26 Dec 2016, at 11:48, Sebastian Berg <sebast...@sipsolutions.net> wrote: > > On Mo, 2016-12-26 at 10:34 +0100, Nicolas P. Rougier wrote: >> Hi all, >> >> >> I'm trying to understand why viewing an array as bytes before >> clearing makes the whole operation faster. >> I imagine there is some kind of special treatment for byte arrays but >> I've no clue. >> > > Sure, if its a 1-byte width type, the code will end up calling > `memset`. If it is not, it will end up calling a loop with: > > while (N > 0) { > *dst = output; > *dst += 8; /* or whatever element size/stride is */ > --N; > } > > now why this gives such a difference, I don't really know, but I guess > it is not too surprising and may depend on other things as well. > > - Sebastian > > >> >> # Native float >> Z_float = np.ones(1000000, float) >> Z_int = np.ones(1000000, int) >> >> %timeit Z_float[...] = 0 >> 1000 loops, best of 3: 361 µs per loop >> >> %timeit Z_int[...] = 0 >> 1000 loops, best of 3: 366 µs per loop >> >> %timeit Z_float.view(np.byte)[...] = 0 >> 1000 loops, best of 3: 267 µs per loop >> >> %timeit Z_int.view(np.byte)[...] = 0 >> 1000 loops, best of 3: 266 µs per loop >> >> >> Nicolas >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion@scipy.org >> https://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > https://mail.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion