Донат На хостинг |
ISK за переводы до 75kk за 1000зн. |
Хроники EVE Сборник |
Новичкам Полезная информация |
StacklessIO
#62
Отправлено 02 October 2008 - 11:05
я бы не был столь уверен, не видя перед глазами код и данные профайлераНу собсна использование того самого IO Completion должно давать существенный прирост в своей сфере.
#64
Отправлено 02 October 2008 - 14:38
Ну-ну... Удачи...Да, я тоже. Надо попросить ццп предоставить нам их.
А так мне хватает уже того что ССР хоть что-то делают в этой области. И вроде бы даже эффективно. Это лучше, чем если бы они тупо бездействовали. Так что хватит тут свой скептицизм и придирки.
Что-то не нравится выбирайте другую игру, или создавайте свою собственную.
#65
Отправлено 02 October 2008 - 15:26
http://myeve.eve-onl...s...6&page=2#38
Ah, yes.
As the dev primarily responsible I should probably write a technical blog about it. Meanwhile I´ll offer that StacklessIO is a framework that allows us to make things such as asynchronous IO and work that is spawned off to worker threads appear as regular, blocking operations for tasklets in Stackless Python. We then use this to perform asynchronous Winsock operations using IO completion ports. The semantics are not new, but the scheduling framework and the lightweight winsock layer we use are.
#67
Отправлено 02 October 2008 - 15:30
Wtf StacklessIO?
http://myeve.eve-onl...s...6&page=2#38
http://forum.eve-ru....i...st&p=414000
Хен скорее всего прав на 99.9%:
П.С. франк извени, проглючило меня.
П.П.С. ну хорошо, снесли они на уровень ниже блокировку. насколько я понимаю, треды питона "tasklets", все равно подвисают пока не придут все данные.
П.П.П.С. если все чтеие у них раньше происходило последовательно (К - килиент)
К1, К2, К3 (лагает, данных в сокете нет, реад встал на блок), К4 (лагает, опятъ курим на риде), К5.
лаг на чтение составлял сумму К3+К4. то счас лаг от сетевого кода должен получится мах лагу одного из клиентов (К4 например)?
если они действителъно пренесли все на нон блокед.
Сообщение отредактировал MOH: 02 October 2008 - 15:51
#69
Отправлено 02 October 2008 - 21:35
#70
Отправлено 02 October 2008 - 23:41
Не говорит. стаклесс питон они юзают давно, io там естественно тоже какое-то было. Просто отбалдовое название в стиле "я его слепила из того что было".Вай, оно говорит, что это IO, юзающее Stackless Python - да здраствует многопоточность, yay!
Мне правдо не совсем понятно, накой для многопоточности асинхронные сокеты и vise versa накой для асинхронных сокетов многопоточность.
Многопоточьность для асинхронных сокетов нужна для того чтобы нормально использовать ресурсы многоядерных систем, и не плодить чертову тучу левых тредов (типа каждому юзеру - по треду) которые укатают любой менеджер потоков и сожрут все ресурсы. Создается столько тредов сколько ядер, или чуть больше, с рассчетом что некоторые треды могут все же висеть на операциях ввода-вывода (не обязательно сетевых), эти треды по очереди обрабатывают принятые пакеты/сообщения. IO completion ports как раз является вариантом менеджемента таких тредов.
Вообще конечно радует что детские косяки всеже исправляются, хотя 2 года на реализацию простых, очевидных и всем извесных вещей - это сильно.
Кстати десинки - отдельная песьня, например такой ключевой момент, как уход в варп АБСОЛЮТНО НИКАК не синхронизируется. Это может приводить к весьма забавным ситуациям. Попробуйте поэскпериментировать на досуге.
0 посетителей читают тему
0 members, 0 guests, 0 anonymous users