I find Perl with DBI to be very fast, which is one of the main reasons I
use it.

I've seen database update code written another way that is very slow:
namely, to write shell scripts and repeatedly invoke the command-line
tool (e.g. dbaccess in the case of Informix).

Perl DBI is several orders of magnitude faster than the shell approach
for a number of reasons.  (A)  Perl is faster because it is compiled
(*).  (B)  Fixed socket connection to the DB is much more efficient than
repeatedly loading the command-line tool.  (C)  Data structure
capabilities in Perl mean more data can be cached and you don't need to
keep hitting the disk.

Perl is nearly as fast as embedded C code but not quite.  As someone
else mentioned, bulk load operations written in C can beat Perl.
However for general mixed database work you get a lot of flexibility
without much performance hit.

(*)  I notice you said Perl is interpreted.  This is not true.  Perl
uses compile-on-load.  It compiles to a virtual machine, just as Java
does, and therefore is not quite as fast as a native code compiler, but
a lot faster than interpreted code.

-Will


> -----Original Message-----
> From: LLC [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday 14 June 2006 13:12
> To: [email protected]
> Subject: Is Perl-DBI Slow?
> 
> 
> I've heard that perl-DBI is slow. Is this true? If so, is it 
> because of
> Perl being an interpreted language?
> 
> 


     - - - - - Appended by Scientific Atlanta, a Cisco company - - - - - 
This e-mail and any attachments may contain information which is confidential, 
proprietary, privileged or otherwise protected by law. The information is 
solely intended for the named addressee (or a person responsible for delivering 
it to the addressee). If you are not the intended recipient of this message, 
you are not authorized to read, print, retain, copy or disseminate this message 
or any part of it. If you have received this e-mail in error, please notify the 
sender immediately by return e-mail and delete it from your computer.

Reply via email to