Форум сайта python.su
Да-да. А можно еще poll, epolls, pyevent через тот же eventlet.hubs.use_hub
Офлайн
o7412369815963Там тоже есть свое ограничение FD_SETSIZE, которое по-умолчанию равно 1024. Понятно, что можно перекомпилировать ядро/библиотеки, но само ограничение никуда не денется.
можно попробоват ьиспользовать селект
Офлайн
Это уже зависит от задач. Если с диска не читать, то узким местом может быть скажем процессор или память. Но это уже другая история.
Офлайн
EdКак есть. Просто скажите что не так (ну тип по науке и эстетике)
Как же тогда оценивать ?
EdДа да. Это моя мозоль.
thread.error: can't start new thread
EdНа моем Дебиане после добавления threading.stack_size плевался фразой что не может создать больше файлов. Но 1000 переплюнул.
похоже на ограничение по файловым дескрипторам
regallСпасибо посмотрю.
Посмотрите в код фреймворка/сервера Tornado и почитайте о проблеме 10k - http://www.kegel.com/c10k.html. Также познавательным будет знакомство с сервером YAWS - http://yaws.hyber.org.
Офлайн
CryptSpiritДык это же и будет пинание :)
Как есть. Просто скажите что не так (ну тип по науке и эстетике)
Спасибо посмотрю.Советую не распыляться. eventlet уже все умеет, берите и пользуйте. Впрочем если вам охота поковыряться, тогда конечно.
Офлайн
Edтогда оффтоп. Вот взять к примеру a=a+1 или a+=1. Используя profile и функции с циклами (для ощущения ризницы во времени циклы были не маленькими) показало что быстрее выполняется первый пример. В варианте с умножением скорость первой конструкции обогнала конкурентку в два раза. Зачем тогда вообще использовать конструкции вида += если это идет во вред производительности? Либо я что то не понял и в этом всем есть скрытая мудрость. Я новичке и при всем разнообразии стилей написания кодов меня реально волнует только производительность. Поправте меня если я не прав.
Для начала читайте тут: http://www.python.org/dev/peps/pep-0008/ и запустите pylint .
Он оценил ваш код в 2.89 по десятибальной шкале.
Офлайн
CryptSpiritСкрытая мудрость в том, что в разработке совсем не всегда требуется максимальная производительность. Питон не выбирают за скорость, у него другие преимущества.
Либо я что то не понял и в этом всем есть скрытая мудрость. Я новичке и при всем разнообразии стилей написания кодов меня реально волнует только производительность.
Офлайн
DaevaornНу дак потерять процессорное время на подсчете номера подключения к серверу место того что бы реально уделить его например обработке трехтысячного потока (образно выражаясь конечно же), когда средствами языка этого можно избежать. Ну режте меня на куски не понимаю. Ясно что это не скоростной болид типа С но у всего же есть свои разумные рамки. И пусть настанет конец света, а я более чем уверен что в длительных циклах в Питоне у меня пальцы не двинуться с места что бы написать что то типа +=.
у него другие преимущества.
Офлайн
Я такое сделал на тредах. РАботает неплохо. Значит неограниченое число подключений, и клиент выбирает себе другого клиента из подключённных и ожидающих( Во как завернул фразу) Есть конечно свои глюки, никак не могу сделать чтоб при отключении клиента тред не выдавал ошибку. Но это мелочи.
Боюсь позорится выкладывать свой код после кода Ed.
Офлайн
Alex_KutsanУ мну сломался мозг. Прошу амнистии. А как это?
клиент выбирает себе другого клиента
Офлайн