- 1
array.array(itertools.repeat(0, 1024*1024*1024))
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−11
array.array(itertools.repeat(0, 1024*1024*1024))
Toooo sloooow...
Неужели в питоне нету быстрого способа набить в array пачку ноликов?
2.2 секунды на 4 гига. Работает на порядки быстрее решения из топика ;)
сейчас под рукой системы нету на новых версиях выделение 4ГБ протестировать.
если кто хочет: time perl -e '$a="a"x(4*1024*1024*1024)'
в цикле extend( [0] * 1024 * 1024)
В шапке я юзал штатный питоний array, не numpy.
вояяяж вояж на нара на на
Кстати да: а в питоне можно писать в файл значения из генератора (yield)?
>Кстати да: а в питоне можно писать в файл значения из генератора (yield)?
В цикле for
Мне вообще про Python известно только то, что знакомый расказывал (ну тот, что с парашютом прыгал)
>> Кстати да: а в питоне можно писать в файл значения из генератора (yield)?
> В цикле for
Я тут подумал: херню сморозил.
Так что и тут за универсальность интерфейса пришлось заплатить пирфомансом.
Ну вот это не факт. Там, скорее всего, capacity и size отдельные и реаллочит он всё-таки реже.
Ну может там как в жавке в списке - экспоненциальное выделение памяти.
А питон не сдохнет от такого?
Утром нам позвонил анонимный немецкий господин и сообщил "Яндекс. Кашицын. 1<<35 нулей хватит всем. Русня, ищите кампютеры, я нашёл". Таинственное сообщение расшифровать не удалось. На всякий случай мы рекомендуем не прислоняться к дверям и носить с собой зонтик.