170 похожих чатов

Применил вроде бы все советы из чата, скорость улучшилась только

до 22 минут на 100тыс записей
Единственное не смог применить совет @evle_zzz про контекстный менеджер, т.к не очень понял как передавать туда n. Вместо этого закрываю файл вручную

Не подскажете остались ли еще какие-то узкие места которые не учел? Вот текущий код

for row in reader: #csv.reader

cur_row = []
for s in zip(row, order):
cur_row.append(get_hash(s[0]) if s[1][1] else s[0])
writer.writerow(cur_row)


if n % 100000 == 0:
now = datetime.now()
while last_time and last_time == now:
time.sleep(5)
now = datetime.now()
last_time = now
if fw:
fw.close()
new_filename = f'{now}.csv'
out_path = os.path.join('out', new_filename)
fw = open(out_path, 'w', encoding='utf-8')
writer = csv.writer(fw, delimiter=';')

n += 1

15 ответов

29 просмотров

Передавать — параметром. Ты ж в open имя файла передаёшь как-то, вот будет маска файла и количество.

Сергей- Автор вопроса
evle
Передавать — параметром. Ты ж в open имя файла пер...

надо попробовать, но мне кажется по сравнению с использованием просто close это не даст выигрыша по времени хотя код будет и красивее

А что тут действительно за цирк с sleep?

Сергей- Автор вопроса
evle
А что тут действительно за цирк с sleep?

Просто чтобы в имени нового файла было другое время (там минуты, я в коде это сократил), а как можно красивее написать это?

Сергей
Просто чтобы в имени нового файла было другое врем...

O_O. То есть вместо того чтобы придумать как имя файла формировать неповторяющееся, ты решил каждый раз продалбывать по 5 секунд? Гениально.

Сергей- Автор вопроса
evle
O_O. То есть вместо того чтобы придумать как имя ф...

Так указано в требованиях: файлы отличаются только временем

Сергей
Так указано в требованиях: файлы отличаются только...

Ну микросекунды добавь, если настолько взаимоисключающие параграфы. Это ж совсем дичь получилась.

Сергей- Автор вопроса
evle
Ну микросекунды добавь, если настолько взаимоисклю...

Детализация до минут. Почему дичь если одновременно обрабатывается только один файл (т.е спать скорее всего не придется)?

Сергей
Детализация до минут. Почему дичь если одновременн...

Такие требования надо уточнять. Если одновременно "не более стольки-то записей" и "файлы отличаются только именем" — кто-то облажался при постановке задачи. Не надо решать подобные вопросы методом "а подождём следующую минуту".

Сергей- Автор вопроса
evle
Такие требования надо уточнять. Если одновременно ...

Не специалист конечно но не вижу ничего ужасного в ожидании, если одновременно обрабатываем только один файл.. 22 минуты настораживают больше

Сергей- Автор вопроса
Сергей
Не специалист конечно но не вижу ничего ужасного в...

Тем более это явно на всякий случай, 100тыс явно больше минуты обрабатываются

Сергей
Не специалист конечно но не вижу ничего ужасного в...

Любое ожидание вида "нифига не делаем, хотя работы полно и её можно делать" — это косяк. Косяк совершенно непростительный.

Сергей
Тем более это явно на всякий случай, 100тыс явно б...

Компы ускоряются. Через какое-то время данных будет больше, кто-нибудь полезет это оптимизировать и будет удивлён.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта