Д.з. по модулю 9 "Работа с объектами Python"#175
Conversation
| def __init__(self, text, paragraph_symbol): | ||
| self.text = text | ||
| self.paragraph_symbol = paragraph_symbol | ||
| self.paragraphs = text.split(paragraph_symbol) |
There was a problem hiding this comment.
Здесь помимо исходного текста в памяти создается ещё и список похожего размера. Таким образом, весь смысл итератора - экономия памяти - теряется.
На самом деле тут достаточно сохранить text в self.text и в методе __next__ обходить текст посимвольно, накапливая прочтённые символы в отдельной переменной (буфере) и возвращая этот буфер всякий раз, как встретится символ параграфа.
There was a problem hiding this comment.
попробовала написала через функцию
There was a problem hiding this comment.
Хорошая попытка) Но во-первых, это уже генератор, а не итератор. А во-вторых, всё тот же split, всё тот же список, занимающий память.
IlyaOrlov
left a comment
There was a problem hiding this comment.
Есть существенные замечания. И ожидаются выводы по процессам/потокам: кто же всё-таки оказался быстрее?
|
Д.з. по модулю 12 задача1 - замечания исправила |
|
Быстрее оказались потоки |
|
|
||
| start_time = time.time() | ||
| primes3 = find_primes(30000, 20001) | ||
| print(f"Время выполнения третьего диапазона: {time.time() - start_time} сек") |
There was a problem hiding this comment.
Какой смысл здесь замерять время для каждого диапазона, если для потоков и процессов замеряется общее время вычислений. Как одно с другим сравнивать?
There was a problem hiding this comment.
Да, согласна, тоже подумала, что получается каким то лишним этот расчет, надо удалить его
There was a problem hiding this comment.
Сами-то последовательные вычисления надо оставить. Только нужно сделать один start_time = time.time() перед всем блоком последовательных вычислений и один print(f"Время выполнения третьего диапазона: {time.time() - start_time} сек") после этого блока.
|
|
||
| conn.sendall(send_data) | ||
|
|
||
| conn.close() |
There was a problem hiding this comment.
Ресурс лучше освобождать там же, где он занимался. Т.е. в start_server()
Это вряд ли;) |
IlyaOrlov
left a comment
There was a problem hiding this comment.
По заданию Practice_modul15_task1.py замечаний нет.
No description provided.