On Wed, 18 Apr 2012 12:59:25 +0100, Tim Bunce <tim.bu...@pobox.com>
wrote:

> On Wed, Apr 18, 2012 at 11:55:45AM +0100, Dave Mitchell wrote:
> > 
> > To keep things as simple as possible, I've left mg_obj pointing to
> > the SV containing the struct, but added using mg_ptr (with mg_len == 0)
> > that caches a direct pointer to the structure, skipping the need to
> > indirect via the SV and PVX(sv).
> > 
> > I've also updated dbih_getcom() to directly handle the common code path
> > when retrieving the handle, rather than doing a dTHX and punting to
> > dbih_getcom2().
> > 
> > This gives a very slight performance boost, and doesn't have any binary or
> > backwards compatibility issues (hopefully).

*\o/*

> Looks good. I've uploadded DBI-1.618_901.tar.gz for cpantesters to chew on.

Built, tested, and installed on my (development) laptop with 
perl 5.014001 on linux (i686-linux-64int-ld)
Linux 3.1.9-1.4-desktop  i386 Core(TM) i7-2620M CPU @ 2.70GHz/800(4) i686  7951 
Mb

#########################################################################

DBD::CSV-0.34:

# Using DBI            version 1.619
# Using DBD::File      version 0.40
# Using SQL::Statement version 1.33
# Using Text::CSV_XS   version 0.88
# DBD::CSV                 0.34 using Text::CSV_XS (0.88)
#   DBD::File              0.40 using IO::File (1.15)
#     DBI::DBD::SqlEngine  0.03 using SQL::Statement 1.33
# DBI                      1.619
# OS                       linux (2.6.37.6-31-desktop)
# Perl                     5.014001 (i686-linux-64int-ld)

All tests successful.
Files=23, Tests=709,  2 wallclock secs ( 0.13 usr  0.03 sys +  1.80 cusr  0.17 
csys =  2.13 CPU)
Result: PASS

#########################################################################

DBD::Pg-2.19.2:

Configuring DBD::Pg 2.19.2
PostgreSQL version: 90103 (default port: 5432)

# DBI                         Version 1.619
# DBD::Pg                     Version 2.19.2
# Perl                        Version 5.14.1
# OS                          linux
# PostgreSQL (compiled)       90103
# PostgreSQL (target)         90103
# PostgreSQL (reported)       PostgreSQL 9.1.3 on i586-suse-linux-gnu, compiled 
by gcc (SUSE Linux) 4.6.2, 32-bit
# Default port                5432
# DBI_DSN                     dbi:Pg:
# DBI_USER                    postgres
# Test schema                 dbd_pg_testschema
# LANG                        en_US.UTF-8
# array_nulls                 on
# backslash_quote             safe_encoding
# client_encoding             UTF8
# server_encoding             UTF8
# standard_conforming_strings on
# Adjusted:                   DBI_DSN

All tests successful.
Files=15, Tests=1677, 22 wallclock secs ( 0.29 usr  0.02 sys +  1.07 cusr  0.16 
csys =  1.54 CPU)
Result: PASS

#########################################################################

DBD::Oracle-1.42:

Client:
Installing on a linux, Ver#2.6
Using Oracle in /usr/lib/oracle/11.2/client
DEFINE _SQLPLUS_RELEASE = "1102000200" (CHAR)
Oracle version 11.2.0.2 (11.2)

Server
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

#     Carp version is 1.25
#     Config version is undefined
#     DBI version is 1.619
#     Data::Dumper version is 2.131
#     Devel::Peek version is 1.07
#     DynaLoader version is 1.13
#     Encode version is 2.44
#     Exporter version is 5.66
#     ExtUtils::MakeMaker version is 6.62
#     Math::BigInt version is 1.997
#     Oraperl version is 1.44
#     Scalar::Util version is 1.25
#     Test::More version is 0.98
#     Thread::Semaphore version is 2.12
#     strict version is 1.04
#     utf8 version is 1.09
#     vars version is 1.02
#     warnings version is 1.12

All tests successful.
Files=36, Tests=2548, 30 wallclock secs ( 0.75 usr  0.09 sys +  4.31 cusr  0.75 
csys =  5.90 CPU)
Result: PASS

#########################################################################

DBD::mysql-4.020:

mysql  Ver 15.1 Distrib 5.3.6-MariaDB, for suse-linux-gnu (i686) using readline 
5.1

All tests successful.
Files=40, Tests=890,  7 wallclock secs ( 0.21 usr  0.04 sys +  1.57 cusr  0.24 
csys =  2.06 CPU)
Result: PASS

#########################################################################

DBD::Unify-0.83:

on HP-UX 11.23/64 U  rx1620/64 Itanium 2/1600(2) ia64  2037Mb
using perl5.14.2 IA64.ARCHREV_0-LP64-ld

System:           perl5.014002 hpux
UNIFY:            /pro/asql/v83I
Database Version: 38
Revision:         8.3I
Nap Option:       SELECT
Operating System: HP-UX B.11.23 U ia64

Using DBI 1.619 (for perl 5.014002 on IA64.ARCHREV_0-LP64-ld) installed in 
/u/usr/merijn/.cpan/build/DBI-1.618_901/blib/arch/auto/DBI/

All tests successful.
Files=21, Tests=3721, 34 wallclock secs ( 1.14 usr  0.14 sys + 20.17 cusr  3.80 
csys = 25.25 CPU)
Result: PASS


IMPRESSIVE!

> > Note that this and the just-submitted DBIS patch represent the end of
> > my work on improving performance on DBI, (not counting any remedial work
> > that may be required).
> 
> Many thanks again for your contributions to the DBI, Dave.
> They are very much appreciated.

-- 
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.14   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

Reply via email to