7 июня 2012 г., 23:47 пользователь Peter Vereshagin <pe...@vereshagin.org> написал: > Hello. > > 2012/06/07 12:00:41 -0700 moscow-pm-requ...@pm.org => To moscow-pm@pm.org : >> > - IO::AIO требует perl-threads. От threads в perl отказался и ни разу >> > ещё не >> > пожалел :) >> >> А с чего вы решили что IO::AIO требует perl-threads (имеются ввиду >> конечно ithreads)? ;-) > > пригляделся -- pthreads. Тем более не хочу их пользовать в perl. ;-) > >> > - IO::Async не видно как в нём открывать каталоги >> Это не async, это nonblocking > > Мне не шашечки, мне ехать. ;-) Не поедет без шашечек...
> >> > - EV не видно чтобы было так же просто. Или есть сэмплы кода? >> Это тоже не async > > Но работать типа всё равно будет? Тогда можно взять и сделать типа попроще > как в ноде. ;-) Ну вот как оно будет работать? ;-) С точки зрения оси, дескриптор, который связан с локальным файлом ВСЕГДА готов к чтению... и у вас read из него в неблокирующем режиме все равно подождет, пока данные приедут с диска. То же с записью. Не нравится Лехман, вот еще http://stackoverflow.com/questions/3461540/libevent2-and-file-io > >> > - POE устарело. >> Во первых не устарело, но скорей всего тоже не то, что вам надо ))) >> >> Вот здесь Marc Lehmann достаточно подробно объясняет в чем разница >> между aio и nonblocking >> http://pod.tst.eu/http://cvs.schmorp.de/AnyEvent/lib/AnyEvent/IO.pm#ASYNCHRONOUS_VS_NON_BLOCKING > > так подробно, что самому сложно (сиречь всё равно) толкать речи о том, в чём > разница: > > In fact, those two terms are not well defined, which often makes it hard > to even talk about the difference. > > да и вообще, смещение понятий в духе "здравый смысл против строгости и > предупреждений", а также "Коро -- единственные настоящие треды-нитки в perl" > > для этого индивида делает маловесомыми его толкования каких-либо понятий и > различий между ними лично для меня. > >> > В самом идеале бы хорошо бы по типу однопроцессного однопоточного >> > File::Find, >> > например, но чтобы пока одна голова на дисках делает seek, можно было бы с >> > другой снимать что оно прочитало. >> Для этого вам нужен тот или иной вариант биндингов к aio (честно >> говоря не знаю для Perl ничего, кроме IO::AIO и обертки вокруг него в >> AnyEvent на эту тему, да и он только что отказался проходить тесты на >> FreeBSD9). > > Во-во. > >> Но если вы используете Linux, > > Нихачу. > >> то посмотрите на AnyEvent::IO > > Оно обёртывает IO::AIO -- те ж яйцы, только сбоку. > Хоть бы кто рефлекс какой иль лямбду к этому делу приспособил, штоль. Только > без тредов и лишних процессов. Возьмите man aio и сделайте сами тонкий враппер... так поедет, иначе никак ))) Если на CPAN положите, по крайней мере я спасибо скажу... > > -- > Peter Vereshagin <pe...@vereshagin.org> (http://vereshagin.org) pgp: A0E26627 > -- > Moscow.pm mailing list > moscow-pm@pm.org | http://moscow.pm.org ЗЫ. В ноде для файлового io используется библиотека eio (того самого Лехмана). Она же в IO::AIO. -- Vladimir Timofeev <vovk...@gmail.com> -- Moscow.pm mailing list moscow-pm@pm.org | http://moscow.pm.org