Thanks to everyone who replied. There were some really good points. However, I found what is causing the difference. The perl program was connecting to the database via a TCP socket while the C version was using Unix socket. I changed the connect in my perl script, so that it now uses Unix sockets as well. Run the tests again and got identical results for both programs. In case someone is wondering, the way to force DBI to use unix sockets is by not specifying a host and port in the connect call. Cheers, Val __________________________________________________________ Not happy with your email address?. Get the one you really want - millions of new email addresses available now at Yahoo! http://uk.docs.yahoo.com/ymail/new.html