Subject | Re: [Firebird-Java] Driver Speed Tests |
---|---|
Author | Carsten Schäfer |
Post date | 2002-10-16T08:38:22Z |
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 -----From: Blas Rodriguez SomozaSent: Wednesday, October 16, 2002 10:07 AMSubject: Re: [Firebird-Java] Driver Speed TestsHelloThanks 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?.RegardsBlas Rodriguez Somoza----- Original Message -----From: Carsten SchäferTo: Java-FirebirdSent: Monday, October 14, 2002 4:58 PMSubject: [Firebird-Java] Driver Speed TestsHiI'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.