[Moscow.pm] fs aio без (i)threads?

Vladimir Timofeev vovkasm на gmail.com
Чт Июн 7 11:22:34 PDT 2012


Привет!

7 июня 2012 г., 18:58 пользователь Peter Vereshagin
<peter на vereshagin.org> написал:
> Hello.
>
> Есть желание воспользоваться чем-нибудь столь же простеньким, как и:
>
>    http://nodejs.org/api/fs.html
>
> Доступно ли это для меня в perl? Что искал -- не подошло:
>
>    - IO::AIO требует perl-threads. От threads в perl отказался и ни разу ещё не
>      пожалел :)

А с чего вы решили что IO::AIO требует perl-threads (имеются ввиду
конечно ithreads)? ;-)

>    - IO::Async не видно как в нём открывать каталоги
Это не async, это nonblocking
>    - EV не видно чтобы было так же просто. Или есть сэмплы кода?
Это тоже не async
>    - POE устарело.
Во первых не устарело, но скорей всего тоже не то, что вам надо )))

Вот здесь Marc Lehmann достаточно подробно объясняет в чем разница
между aio и nonblocking
http://pod.tst.eu/http://cvs.schmorp.de/AnyEvent/lib/AnyEvent/IO.pm#ASYNCHRONOUS_VS_NON_BLOCKING

>
> В самом идеале бы хорошо бы по типу однопроцессного однопоточного File::Find,
> например, но чтобы пока одна голова на дисках делает seek, можно было бы с
> другой снимать что оно прочитало.
Для этого вам нужен тот или иной вариант биндингов к aio (честно
говоря не знаю для Perl ничего, кроме IO::AIO и обертки вокруг него в
AnyEvent на эту тему, да и он только что отказался проходить тесты на
FreeBSD9). Но если вы используете Linux, то посмотрите на AnyEvent::IO

>
> --
> Peter Vereshagin <peter на vereshagin.org> (http://vereshagin.org) pgp: A0E26627
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org



-- 
Vladimir Timofeev <vovkasm на gmail.com>


Подробная информация о списке рассылки Moscow-pm