erl_ddll vs. stdio drivers

Kent Boortz <>
Thu Jan 2 21:13:07 CET 2003


James Hague <> writes:
> >From a purist's point of view using pipes is cleaner.  So here's my
> question:  How significant is the speed difference  between the two methods
> under Windows?  "Twice as fast" makes no difference if we're talking
> microseconds, but I suspect that because a pipe involves several task
> switches the minimum time for a call and response is going to be 20
> milliseconds or so.  Has anyone done any timings?

If you know the number of reads and writes and how large they are you
can write some test programs to test the performance and decide from
that if the speed is ok for your application.

Some comparising between pipes on Linux, Windows XP and Windows 2000
is done on the article

  http://www-106.ibm.com/developerworks/linux/library/l-rt4/?open&t=grl,l=252,p=pipes

There is an issue with terminating the external port program on
Windows. If the external port program is killed from another process
(the erlang node) the Windows OS will not release some resources. This
was partly why the ODBC port program was rewritten to use two threads
so that the external port program can terminate itself when erlang
closes the pipe even if the port program was hanging in an ODBC call,

kent



More information about the erlang-questions mailing list