aboutsummaryrefslogtreecommitdiffstats
path: root/devel/p5-IO-AIO/pkg-descr
diff options
context:
space:
mode:
Diffstat (limited to 'devel/p5-IO-AIO/pkg-descr')
-rw-r--r--devel/p5-IO-AIO/pkg-descr21
1 files changed, 21 insertions, 0 deletions
diff --git a/devel/p5-IO-AIO/pkg-descr b/devel/p5-IO-AIO/pkg-descr
new file mode 100644
index 000000000000..2034f71ee05e
--- /dev/null
+++ b/devel/p5-IO-AIO/pkg-descr
@@ -0,0 +1,21 @@
+This module implements asynchronous I/O using whatever means your
+operating system supports.
+
+Asynchronous means that operations that can normally block your
+program (e.g. reading from disk) will be done asynchronously: the
+operation will still block, but you can do something else in the
+meantime. This is extremely useful for programs that need to stay
+interactive even when doing heavy I/O (GUI programs, high performance
+network servers etc.), but can also be used to easily do operations in
+parallel that are normally done sequentially, e.g. stat'ing many files,
+which is much faster on a RAID volume or over NFS when you do a number
+of stat operations concurrently.
+
+While most of this works on all types of file descriptors (for example
+sockets), using these functions on file descriptors that support
+nonblocking operation (again, sockets, pipes etc.) is very inefficient
+or might not work (aio_read fails on sockets/pipes/fifos). Use an
+event loop for that (such as the Event module): IO::AIO will naturally
+fit into such an event loop itself.
+
+WWW: http://search.cpan.org/dist/IO-AIO/