
Suren
11.07.2018
12:01:00

Jentry
11.07.2018
12:01:29
нет
Что нет, когда да) asyncio.sleep нет

Suren
11.07.2018
12:01:42

Eldar
11.07.2018
12:02:16

Google

Aragaer
11.07.2018
12:02:48
я чот не понял в чем проблема
если есть корутина, после окончания которой надо вызвать обработку, почему бы это просто не сделать?

Cykooz
11.07.2018
12:03:33

Suren
11.07.2018
12:03:37
я чот не понял в чем проблема
если внутри асинк функции затянется обработка данных, то нужно "уведомить", а call_later не отрабатывается так как луп заблокирован синзронной обработкой

Nikolay
11.07.2018
12:03:44

Cykooz
11.07.2018
12:03:48
И потому не понятно чего ты ждёшь

Nikolay
11.07.2018
12:03:51
и проблема вообще не в этом

Aragaer
11.07.2018
12:04:08
алярм можно поставить
что именно надо сделать, когда таймаут пройдет?

Nikolay
11.07.2018
12:04:40

Suren
11.07.2018
12:04:50

Cykooz
11.07.2018
12:05:17

Google

Nikolay
11.07.2018
12:05:34

Cykooz
11.07.2018
12:05:40
Т.е. должно делать какие то асинхронные IO операции например

Suren
11.07.2018
12:05:59

Cykooz
11.07.2018
12:06:05
У тебя loop блочится в функции some_long_fun, и пока она не завершится - ничего другого выполняться не будет

Suren
11.07.2018
12:06:26

Aragaer
11.07.2018
12:06:33
может тогда просто треды взять?

Suren
11.07.2018
12:07:03

Cykooz
11.07.2018
12:07:17
Если тебе для "теста", для "эмуляции" - то юзай await asyncio.sleep(). Либо используй executor

Nikolay
11.07.2018
12:07:39

Aragaer
11.07.2018
12:07:41
а с сигналами хочешь

Nikolay
11.07.2018
12:08:19

VLadimir
11.07.2018
12:08:51
Всем привет, ребяки подскажите CVSReader pip пакет для чтения больших файлов

Настасья
11.07.2018
12:08:58

Nikolay
11.07.2018
12:09:07

VLadimir
11.07.2018
12:09:20
да да CSV сорян

Nikolay
11.07.2018
12:09:28

VLadimir
11.07.2018
12:09:41
Эммм другой вариант есть еще

Nikolay
11.07.2018
12:10:00
это самый продвинутый

VLadimir
11.07.2018
12:10:14
Хм, тогда в Питоне все печально

Nikolay
11.07.2018
12:10:16
что тебе именно нужно?

Google

Nikolay
11.07.2018
12:10:31

VLadimir
11.07.2018
12:10:52
сейчас сек

Bair
11.07.2018
12:14:24

Denis
11.07.2018
12:16:35
А стандартный разве не умеет большие построчно читать?

Cykooz
11.07.2018
12:16:38

Nikolay
11.07.2018
12:19:59

Quasar
11.07.2018
12:21:06

rambling
11.07.2018
12:23:08
динамическая типизация - вот шо печально

VLadimir
11.07.2018
12:25:50
@Enchantner разобрался проблема была lineterminator='\n' параметре pandas.read_csv я поставил lineterminator='\r' из-за этого он вис, мой косяк. Спасибо, то откликнулись на помощь

Nikolay
11.07.2018
12:26:16

Cykooz
11.07.2018
12:26:25
построчно и не нужно, это дико медленно
В каком смысле медленно? А как какая то другая читалка будет по другому парсить CSV?
Разобъёт текст на строки и запустит 10 потоков, что бы они параллельно распарсили этот список?
Боюсь на обычном HDD скорость чтения с диска будет сильно медленее, чем сам парсинг строк.

Nikolay
11.07.2018
12:26:38

Cykooz
11.07.2018
12:27:30
Я не думаю что питон читает данные с диска с точностью до байта. Всяко где то есть буффер, который вычитывает минимум сразу целый сектор с диска или даже больше
Так, что получается примерно тоже самое - блочное чтение с диска

Nikolay
11.07.2018
12:28:15

Aragaer
11.07.2018
12:29:05
"чтение" это тот же самый поиск переносов, но еще и копирование в "результат"

Cykooz
11.07.2018
12:30:06
Не знаю как в питоне сделано. Но вполне оптимально делать как просто чтение потока данных, с одновременной разбивкой на колонки и "отсечением" строк когда приходит, например, символ "\n"
И не надо ничего сначала вычитывтаь в память, а потом что то в ней искать
Только если не требуется распараллеливание по ядрам проца

Aragaer
11.07.2018
12:31:51
это не в питоне, это вообще на уровне операционки скорее

Google

Cykooz
11.07.2018
12:32:12
Ну врятли операционка парсит CSV ?

Aragaer
11.07.2018
12:32:23
но я могу только про линукс сказать
не, я про файл в целом

Admin
ERROR: S client not available

Cykooz
11.07.2018
12:32:44
Файл по строкам - скорее всего выплёвывает тоже какой то код внутри питона (возможно что написанный на С)

Aragaer
11.07.2018
12:33:28
ты хочешь открыть файл и где-то отмечается, что в такой-то части адресного пространства системы этот файл целиком должен быть. Ты читаешь, идет обращение к этой памяти, пэйдж фолт и страница подгружается с диска
мемори мап всего лишь маппит эти страницы дискового кэша тебе в адресное пространство процесса

Cykooz
11.07.2018
12:36:10
И что будет дальше процесс делать с этим блоком? Всё равно ведь последовательно проходить его символ за символом, находя "начало" и "конец" колонок и каждой строки.

Aragaer
11.07.2018
12:36:37
а это уже вопрос к процессу 8)
файл в памяти
или точнее заявлен - реально уже будет подкачиваться по мере обращения
и выгружаться если вдруг физическая память начинает кончаться

Nikolay
11.07.2018
12:38:09
два чаю этому господину

Cykooz
11.07.2018
12:38:15
Поточная обработка - это самый оптимальный вариант (если в один поток), т.к. надо только один раз пройти по всему блоку, что бы выдать все результаты. А раз у нас всё равно идёт "поточная" обработка - то самому парсеру совершенно филетово мапится память на диск или нет. Он перекладывает эту "боль" оптимизации чтения с диска на операционку.

VLadimir
11.07.2018
12:38:41
@Enchantner еще такой вопрос работали ли вы с pypy транслятором и есть ли смысл переходить на него при работе с Django, flask дает ли он сущетвенный прирост??

Aragaer
11.07.2018
12:38:51
ну просто нашли о чем спросить человека, специализирующегося на эмбеддед и операционках

Nikolay
11.07.2018
12:39:23
профита будет не очень много, а гемора по отладке может получиться немало

Aragaer
11.07.2018
12:40:05
я с торнадой пробовал, вроде профит был

Nikolay
11.07.2018
12:40:13
с торнадой да, может быть

Google

Nikolay
11.07.2018
12:40:16
и с gevent

Aragaer
11.07.2018
12:42:17

Зло
11.07.2018
12:43:10
Нужен обменник для телеграмма

Nikolay
11.07.2018
12:43:20

Зло
11.07.2018
12:43:40
Код надо

Nikolay
11.07.2018
12:44:09
@ru_python_beginners

Алексей
11.07.2018
12:44:44

Зло
11.07.2018
12:45:30
На гите нашёл пару но запустить не получается

Nikolay
11.07.2018
12:45:37

Jentry
11.07.2018
12:45:43

Проксимов
11.07.2018
12:45:58

Nikolay
11.07.2018
12:46:20

VLadimir
11.07.2018
12:50:46