Re: JAVA vs PERL : PERL wins to postgreSQL - Mailing list pgsql-jdbc

From andy
Subject Re: JAVA vs PERL : PERL wins to postgreSQL
Date
Msg-id 3B94DC41.9ADA25DA@exkom.co.za
Whole thread Raw
In response to JAVA vs PERL : PERL wins to postgreSQL  (andy <andy@exkom.co.za>)
List pgsql-jdbc
To all those who responded ,
Thanks for your response,

I have attached the test programs that I used in the form of text files. The
contents should be self evident. Please have a look and comment.

I used j2sdk1.3.1 down load to linux machine from sun.com as my java platform
and
And  perl, v5.6.0 built for i386-linux.
 The PostgreSQL driver for perl came from www.perl.org
  The postgreSQL driver in jdbc7.0-1.2.jar


Barry Lind wrote:

> Andy,
>
> I would be interesting in knowing what version you did this test on,
> what platform, and most importantly which JDK (and if the Sun JDK which
> JVM: classic, hotspot client, hotspot server).
>
> thanks,
> --Barry
>
> andy wrote:
> > Hi,
> >
> > I ran a few bench marks on JAVA writing to a postgreSQL table using  and
> > found that for the same number of records added to the table as a
> > similar PERL routine the following results :
> >      PERL 39 seconds : JAVA 45 Seconds.
> > In a similar experiment where PERL and JAVA did treir output to the
> > screen and not to a table,
> >
> > JAVA took 3 seconds and PERL 310 Seconds.
> > My conclusion is that the database driver to postgreSQL is still far
> > from efficient in the JAVA implementation.
> >
> > Both tests were run on the same computer.
> >
> > I would appreciate your comments and suggestions.
> > Andy Sewell
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> > http://www.postgresql.org/users-lounge/docs/faq.html
> >
> >
/*
   Java bench mark against perl count to 100 000 000
*/
import java.io.*;
import java.util.*;

public class lp{

      public lp() throws ClassNotFoundException, FileNotFoundException, IOException
      {
     int last = 1000;

         GregorianCalendar day = new GregorianCalendar();
     String time = day.getTime().toString();
         int k=0;
         for (int i=0; i<last ; i++) {
             for (int p=0; p<last ; p++) {k=1+p;System.out.println(k);}
          }

      GregorianCalendar day1 = new GregorianCalendar();
      String time2 = day1.getTime().toString();
      System.out.println(time);
      System.out.println(time2 + "\n" + k);


      }

public static void main(String[] args) {
  try {
        lp test = new lp();
      }
       catch (Exception ex) {
         System.err.println("Exception :" + ex);
     ex.printStackTrace();
      }
}
}

/*
   Java equivalent
*/
import java.io.*;
import java.sql.*;
import java.util.*;

public class pg{
      Connection conn;
      Statement  stmt;

      public pg() throws ClassNotFoundException, FileNotFoundException, IOException, SQLException
      {
         Class.forName("org.postgresql.Driver");
     conn = DriverManager.getConnection("jdbc:postgresql:exkom", "andy", "");
         conn.setAutoCommit(true);
         stmt = conn.createStatement();
     int last = 10000;
     int res = stmt.executeUpdate("delete from junk");

         GregorianCalendar day = new GregorianCalendar();
     String time = day.getTime().toString();

         for (int i=0; i<last ; i++) {
          // try {
                 res =  stmt.executeUpdate("insert into junk values(" + i + ")");

        //    } catch (SQLException e) {
    //        System.out.println(e);
    //        }
          }

      GregorianCalendar day1 = new GregorianCalendar();
      String time2 = day1.getTime().toString();
//      String time3 = day.getTime().toString();
      System.out.println(time);
      System.out.println(time2);
//      System.out.println(time3);

//      res.close();
      stmt.close();
      conn.close();


      }

public static void main(String[] args) {
  try {
        pg test = new pg();
      }
       catch (Exception ex) {
         System.err.println("Exception :" + ex);
     ex.printStackTrace();
      }
}
}

/**


$conn = Pg::connectdb("dbname=exkom");
die $conn->errorMessage unless PGRES_CONNECTION_OK eq $conn->status;

# print "Enter a state code :";
# $state_code = <STDIN>;

# chomp $state_code;
$result = $conn->exec("delete from junk");
$end = 10000;

$t0 = new Benchmark;

for ($i=1; $i < $end; $i++) {
     $result = $conn->exec("insert into junk values($i)");
}

$t1 = new Benchmark;
$td = timediff($t1, $t0);
print " the $end records took :", timestr($td) , "\n"
**/

Attachment

pgsql-jdbc by date:

Previous
From: "Alexander Troppmann"
Date:
Subject: Troubles using German Umlauts with JDBC
Next
From: glint22@globalinxs.de
Date:
Subject: Troubles using German Umlauts wit JDBC driver