Subject Re: [Firebird-Java] Driver Speed Tests
Author Carsten Schäfer
Hi,
the tests was done with Win2000 SP3 on Intel 600Mhz, Sun JDK1.3.1_05.
I can give you the exact times later.
 
gruß
Carsten 
----- Original Message -----
Sent: Wednesday, October 16, 2002 10:07 AM
Subject: Re: [Firebird-Java] Driver Speed Tests

Hello
 
    Thanks for the code, I'll try to investigate that this week.
 
    There are some information that can help me when evaluating the problem.
 
    1.- Which JDK are you using?. Because our driver is pure Java, with newer JDK's the performance enhancement is greater than in Interclient.
 
    2.- Can you give me the test time for Interclient and Jaybird?.
 
Regards   
Blas Rodriguez Somoza
----- Original Message -----
Sent: Monday, October 14, 2002 4:58 PM
Subject: [Firebird-Java] Driver Speed Tests

Hi
I've written a little test class to test the perfomance difference between Jaybird and Interclient with varchars with character set WIN1252.
 
This is my db structure:
CREATE DATABASE 'd:\DBTEST.GDB'
USER 'sysdba' PASSWORD 'masterkey'
PAGE_SIZE 4096;
CREATE TABLE T_TEST1 (
    F_TEST1          VARCHAR(250) CHARACTER SET WIN1252,
    F_TEST2          VARCHAR(250) CHARACTER SET WIN1252,
    F_TEST3          VARCHAR(250) CHARACTER SET WIN1252,
    F_TEST4          VARCHAR(250) CHARACTER SET WIN1252,
    F_TEST5          VARCHAR(250) CHARACTER SET WIN1252,
    F_TEST6          VARCHAR(250) CHARACTER SET WIN1252,
    F_TEST7          VARCHAR(250) CHARACTER SET WIN1252,
    F_TEST8          VARCHAR(250) CHARACTER SET WIN1252,
    F_TEST9          VARCHAR(250) CHARACTER SET WIN1252,
    F_TEST10          VARCHAR(250) CHARACTER SET WIN1252
);
 
And this is my test class:
 
import interbase.interclient.CharacterEncodings;
 
import java.sql.*;
import java.util.Properties;
 
public class DBTEST {
    public static final void dbtest(boolean interclient) {
        try {
            Properties dbProperties = new Properties();
            dbProperties.put("user","sysdba" );
            dbProperties.put("password", "masterkey");
            dbProperties.put("charSet",CharacterEncodings.Cp1252);
            dbProperties.put("lc_ctype", "WIN1252");
            Connection con = null;
            if (interclient) {
                Class.forName("interbase.interclient.Driver");
                con = DriverManager.getConnection("jdbc:interbase://localhost/d:/dbtest.gdb", dbProperties);
            } else {
                Class.forName("org.firebirdsql.jdbc.FBDriver");
                con = DriverManager.getConnection("jdbc:firebirdsql://localhost/d:/dbtest.gdb", dbProperties);
            }
            long start = System.currentTimeMillis();
            PreparedStatement insert = con.prepareStatement("insert into t_test1 values (?,?,?,?,?,?,?,?,?,?)");
            for (int i= 1;i<=20000;i++) {
                insert.setString(1, "ölkkkdsklsdaöd0590945650096945ß945ß46ßsakldsalk9034298428 45290904528420z5928dfldsf"+i);
                insert.setString(2, "iowerw8290nvdshdskljkfduiuj-xycäöüäpf3490384jhkffkhdfjgfdhfhdhfh92ß" + i);
                insert.setString(3, "dsahjdsalkasä3qpüp3410p4319p341jjludiouaidjilja" + i);
                insert.setString(4, "hkdsuuzhdsauidsazhs" + i);
                insert.setString(5, "cx,mkjaä3420990320984390843kjghjghjf´ß" + i);
                insert.setString(6, "sdkhkjdsau98712098912pk<ä#dsaüaasdääöasööüööösa" + i);
                insert.setString(7, "sajkhjasiu7wq987e902ß0pjxycj9fgklgjkgfjkjkdkjldfjkgfjkfdkjfdkjkjgfkjldkjdfkljqei8üoeöälp" + i);
                insert.setString(8, "cx.,cxcöö0pßq0ßßq0ßew90idlkdslökiaoödiaopdoixüycü+yxcxpü+y" + i);
                insert.setString(9, "12309912031ß13820818308108091238901ß830183208129ß028128hcxkh" + i);
                insert.setString(10, "cxklkxyhjsclisauuduiouduosuisauasiu128790132909871239891213209189" + i);
                insert.executeUpdate();
            }
            insert.close();
            long ende = System.currentTimeMillis();
            System.out.println("Time for insert into test1:"+((ende-start)) );
            Statement select = con.createStatement();
            ResultSet rs = select.executeQuery("select * from t_test1");
            while (rs.next()) {
                String s1 = rs.getString("f_test1");
                String s2 = rs.getString("f_test2");
                String s3 = rs.getString("f_test3");
                String s4 = rs.getString("f_test4");
                String s5 = rs.getString("f_test5");
                String s6 = rs.getString("f_test6");
                String s7 = rs.getString("f_test7");
                String s8 = rs.getString("f_test8");
                String s9 = rs.getString("f_test9");
                String s10 = rs.getString("f_test10");
            }
            rs.close();
            select.close();
            long ende2 = System.currentTimeMillis();
            System.out.println("Time for select from test1:" + ((ende2 - ende)));
            con.close();
        } catch (ClassNotFoundException e) {
            System.err.println("Error:" + e.getMessage());
            e.printStackTrace();
        }  catch (SQLException e2) {
            System.err.println("Error:"+e2.getMessage());
            e2.printStackTrace();
        }
    }
 

    public static void main(String[] args) {
        DBTEST.dbtest(false);
 
    }
}
 
With inserts Jaybird is about 30-35% slower than Interclient and with Selects it's 70-75%.
Any comments ?
 
gruß
carsten Schäfer
 
 


To unsubscribe from this group, send an email to:
Firebird-Java-unsubscribe@yahoogroups.com



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.


To unsubscribe from this group, send an email to:
Firebird-Java-unsubscribe@yahoogroups.com



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.