하이버네이트가 더 빠르자나!?
지난주 토요일에 하이버네이트 도입 관련된 질문을 받고 “성능”에 대해서 왈가왈부 했지만, 사실 전 한번도 하이버네이트와 iBatis의 성능비교를 해본 적이 없습니다. 마침 관련된 회사일도 있고해서 성능 테스트를 만들어 봤습니다. iBatis에 유리한 테스트 코드라고 생각하고 작성한 코드인데… 무언가 문제가 있는지 하이버네이트가 더 빠르게 나왔습니다. @_@;;
사용한 DB는 HSQL입니다. 프로젝트는 맨 아래 다운로드 할 수 있도록 해두겠습니다.
iBatis는…
[xml]
<dependency>
<groupId>org.apache.ibatis</groupId>
<artifactId>com.springsource.com.ibatis</artifactId>
<version>2.3.4.726</version>
</dependency>
[/xml]
Hibernate는…
[xml]
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>com.springsource.org.hibernate</artifactId>
<version>3.3.2.GA</version>
</dependency>
[/xml]
빈 설정은…
[xml]
<jdbc:embedded-database id="dataSource" type="HSQL">
<jdbc:script location="classpath:sqlScript/schema.sql"/>
</jdbc:embedded-database>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="SqlMapConfig.xml" />
</bean>
<bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
<constructor-arg name="sqlMapClient" ref="sqlMapClient"/>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
p:sessionFactory-ref="sessionFactory"/>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="sample.domain" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
</bean>
[/xml]
평범합니다.
iBatis DAO 구현체는? 너무 평범해서 패스;; 그냥 소스코드를 보셔도 됩니다. github에 올려놔야겠네;
암튼 그래서.. 테스트 코드는…
[java]
@Test
@Repeat(50)
public void add5000(){
//GIVEN
List<Member> member5000 = MemberTestUtils.makeMember5000();
//WHEN
StopWatch watch = new StopWatch();
watch.start();
for(Member newMember : member5000) {
memberDao.add(newMember);
}
memberDao.flush();
watch.stop();
System.out.println(watch.prettyPrint());
//THEN
assertThat(memberDao.list().size(), is(1000));
}
@Test
@Repeat(50)
public void select5000(){
//GIVEN
List<Member> member5000 = MemberTestUtils.makeMember5000();
for(Member newMember : member5000) {
memberDao.add(newMember);
}
memberDao.flush();
System.out.println("insert 5000 complete!");
//WHEN
StopWatch watch = new StopWatch();
watch.start();
List<Member> members = memberDao.list();
memberDao.flush();
watch.stop();
System.out.println(watch.prettyPrint());
//THEN
assertThat(members.size(), is(1000));
}
[/java]
이 테스트 코드는 하이버네이트를 테스트 할 때 사용한 코드라서 중간 중간 flush()가 들어가 있는데, iBatis를 테스트 할 때도 같은 코드를 사용했고, 대신 flush()만 빠져있다.
결과를 보자.
1. iBatis: insert 5000
StopWatch '': running time (millis) = 361
-----------------------------------------
ms % Task name
-----------------------------------------
00361 100%
StopWatch '': running time (millis) = 255
-----------------------------------------
ms % Task name
-----------------------------------------
00255 100%
StopWatch '': running time (millis) = 195
-----------------------------------------
ms % Task name
-----------------------------------------
00195 100%
StopWatch '': running time (millis) = 146
-----------------------------------------
ms % Task name
-----------------------------------------
00146 100%
StopWatch '': running time (millis) = 127
-----------------------------------------
ms % Task name
-----------------------------------------
00127 100%
StopWatch '': running time (millis) = 106
-----------------------------------------
ms % Task name
-----------------------------------------
00106 100%
StopWatch '': running time (millis) = 95
-----------------------------------------
ms % Task name
-----------------------------------------
00095 100%
StopWatch '': running time (millis) = 94
-----------------------------------------
ms % Task name
-----------------------------------------
00094 100%
StopWatch '': running time (millis) = 93
-----------------------------------------
ms % Task name
-----------------------------------------
00093 100%
StopWatch '': running time (millis) = 100
-----------------------------------------
ms % Task name
-----------------------------------------
00100 100%
StopWatch '': running time (millis) = 89
-----------------------------------------
ms % Task name
-----------------------------------------
00089 100%
StopWatch '': running time (millis) = 85
-----------------------------------------
ms % Task name
-----------------------------------------
00085 100%
StopWatch '': running time (millis) = 72
-----------------------------------------
ms % Task name
-----------------------------------------
00072 100%
StopWatch '': running time (millis) = 62
-----------------------------------------
ms % Task name
-----------------------------------------
00062 100%
StopWatch '': running time (millis) = 56
-----------------------------------------
ms % Task name
-----------------------------------------
00056 100%
StopWatch '': running time (millis) = 51
-----------------------------------------
ms % Task name
-----------------------------------------
00051 100%
StopWatch '': running time (millis) = 40
-----------------------------------------
ms % Task name
-----------------------------------------
00040 100%
StopWatch '': running time (millis) = 38
-----------------------------------------
ms % Task name
-----------------------------------------
00038 100%
StopWatch '': running time (millis) = 31
-----------------------------------------
ms % Task name
-----------------------------------------
00031 100%
StopWatch '': running time (millis) = 28
-----------------------------------------
ms % Task name
-----------------------------------------
00028 100%
StopWatch '': running time (millis) = 36
-----------------------------------------
ms % Task name
-----------------------------------------
00036 100%
StopWatch '': running time (millis) = 27
-----------------------------------------
ms % Task name
-----------------------------------------
00027 100%
StopWatch '': running time (millis) = 28
-----------------------------------------
ms % Task name
-----------------------------------------
00028 100%
StopWatch '': running time (millis) = 28
-----------------------------------------
ms % Task name
-----------------------------------------
00028 100%
StopWatch '': running time (millis) = 65
-----------------------------------------
ms % Task name
-----------------------------------------
00065 100%
StopWatch '': running time (millis) = 29
-----------------------------------------
ms % Task name
-----------------------------------------
00029 100%
StopWatch '': running time (millis) = 32
-----------------------------------------
ms % Task name
-----------------------------------------
00032 100%
StopWatch '': running time (millis) = 27
-----------------------------------------
ms % Task name
-----------------------------------------
00027 100%
StopWatch '': running time (millis) = 70
-----------------------------------------
ms % Task name
-----------------------------------------
00070 100%
StopWatch '': running time (millis) = 31
-----------------------------------------
ms % Task name
-----------------------------------------
00031 100%
StopWatch '': running time (millis) = 28
-----------------------------------------
ms % Task name
-----------------------------------------
00028 100%
StopWatch '': running time (millis) = 29
-----------------------------------------
ms % Task name
-----------------------------------------
00029 100%
StopWatch '': running time (millis) = 27
-----------------------------------------
ms % Task name
-----------------------------------------
00027 100%
StopWatch '': running time (millis) = 29
-----------------------------------------
ms % Task name
-----------------------------------------
00029 100%
StopWatch '': running time (millis) = 53
-----------------------------------------
ms % Task name
-----------------------------------------
00053 100%
StopWatch '': running time (millis) = 32
-----------------------------------------
ms % Task name
-----------------------------------------
00032 100%
StopWatch '': running time (millis) = 32
-----------------------------------------
ms % Task name
-----------------------------------------
00032 100%
StopWatch '': running time (millis) = 28
-----------------------------------------
ms % Task name
-----------------------------------------
00028 100%
StopWatch '': running time (millis) = 27
-----------------------------------------
ms % Task name
-----------------------------------------
00027 100%
StopWatch '': running time (millis) = 27
-----------------------------------------
ms % Task name
-----------------------------------------
00027 100%
StopWatch '': running time (millis) = 28
-----------------------------------------
ms % Task name
-----------------------------------------
00028 100%
StopWatch '': running time (millis) = 27
-----------------------------------------
ms % Task name
-----------------------------------------
00027 100%
StopWatch '': running time (millis) = 168
-----------------------------------------
ms % Task name
-----------------------------------------
00168 100%
StopWatch '': running time (millis) = 30
-----------------------------------------
ms % Task name
-----------------------------------------
00030 100%
StopWatch '': running time (millis) = 37
-----------------------------------------
ms % Task name
-----------------------------------------
00037 100%
StopWatch '': running time (millis) = 33
-----------------------------------------
ms % Task name
-----------------------------------------
00033 100%
StopWatch '': running time (millis) = 33
-----------------------------------------
ms % Task name
-----------------------------------------
00033 100%
StopWatch '': running time (millis) = 29
-----------------------------------------
ms % Task name
-----------------------------------------
00029 100%
StopWatch '': running time (millis) = 27
-----------------------------------------
ms % Task name
-----------------------------------------
00027 100%
StopWatch '': running time (millis) = 27
-----------------------------------------
ms % Task name
-----------------------------------------
00027 100%
2. iBatis: select 5000
insert 5000 complete!
StopWatch '': running time (millis) = 105
-----------------------------------------
ms % Task name
-----------------------------------------
00105 100%
insert 5000 complete!
StopWatch '': running time (millis) = 64
-----------------------------------------
ms % Task name
-----------------------------------------
00064 100%
insert 5000 complete!
StopWatch '': running time (millis) = 42
-----------------------------------------
ms % Task name
-----------------------------------------
00042 100%
insert 5000 complete!
StopWatch '': running time (millis) = 27
-----------------------------------------
ms % Task name
-----------------------------------------
00027 100%
insert 5000 complete!
StopWatch '': running time (millis) = 28
-----------------------------------------
ms % Task name
-----------------------------------------
00028 100%
insert 5000 complete!
StopWatch '': running time (millis) = 13
-----------------------------------------
ms % Task name
-----------------------------------------
00013 100%
insert 5000 complete!
StopWatch '': running time (millis) = 14
-----------------------------------------
ms % Task name
-----------------------------------------
00014 100%
insert 5000 complete!
StopWatch '': running time (millis) = 15
-----------------------------------------
ms % Task name
-----------------------------------------
00015 100%
insert 5000 complete!
StopWatch '': running time (millis) = 15
-----------------------------------------
ms % Task name
-----------------------------------------
00015 100%
insert 5000 complete!
StopWatch '': running time (millis) = 16
-----------------------------------------
ms % Task name
-----------------------------------------
00016 100%
insert 5000 complete!
StopWatch '': running time (millis) = 17
-----------------------------------------
ms % Task name
-----------------------------------------
00017 100%
insert 5000 complete!
StopWatch '': running time (millis) = 18
-----------------------------------------
ms % Task name
-----------------------------------------
00018 100%
insert 5000 complete!
StopWatch '': running time (millis) = 20
-----------------------------------------
ms % Task name
-----------------------------------------
00020 100%
insert 5000 complete!
StopWatch '': running time (millis) = 19
-----------------------------------------
ms % Task name
-----------------------------------------
00019 100%
insert 5000 complete!
StopWatch '': running time (millis) = 16
-----------------------------------------
ms % Task name
-----------------------------------------
00016 100%
insert 5000 complete!
StopWatch '': running time (millis) = 17
-----------------------------------------
ms % Task name
-----------------------------------------
00017 100%
insert 5000 complete!
StopWatch '': running time (millis) = 10
-----------------------------------------
ms % Task name
-----------------------------------------
00010 100%
insert 5000 complete!
StopWatch '': running time (millis) = 7
-----------------------------------------
ms % Task name
-----------------------------------------
00007 100%
insert 5000 complete!
StopWatch '': running time (millis) = 8
-----------------------------------------
ms % Task name
-----------------------------------------
00008 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 8
-----------------------------------------
ms % Task name
-----------------------------------------
00008 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 7
-----------------------------------------
ms % Task name
-----------------------------------------
00007 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 6
-----------------------------------------
ms % Task name
-----------------------------------------
00006 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 96
-----------------------------------------
ms % Task name
-----------------------------------------
00096 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
insert 5000 complete!
StopWatch '': running time (millis) = 11
-----------------------------------------
ms % Task name
-----------------------------------------
00011 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
3. Hibernate: insert 5000
StopWatch '': running time (millis) = 135
-----------------------------------------
ms % Task name
-----------------------------------------
00135 100%
StopWatch '': running time (millis) = 98
-----------------------------------------
ms % Task name
-----------------------------------------
00098 100%
StopWatch '': running time (millis) = 82
-----------------------------------------
ms % Task name
-----------------------------------------
00082 100%
StopWatch '': running time (millis) = 74
-----------------------------------------
ms % Task name
-----------------------------------------
00074 100%
StopWatch '': running time (millis) = 67
-----------------------------------------
ms % Task name
-----------------------------------------
00067 100%
StopWatch '': running time (millis) = 84
-----------------------------------------
ms % Task name
-----------------------------------------
00084 100%
StopWatch '': running time (millis) = 52
-----------------------------------------
ms % Task name
-----------------------------------------
00052 100%
StopWatch '': running time (millis) = 50
-----------------------------------------
ms % Task name
-----------------------------------------
00050 100%
StopWatch '': running time (millis) = 32
-----------------------------------------
ms % Task name
-----------------------------------------
00032 100%
StopWatch '': running time (millis) = 35
-----------------------------------------
ms % Task name
-----------------------------------------
00035 100%
StopWatch '': running time (millis) = 29
-----------------------------------------
ms % Task name
-----------------------------------------
00029 100%
StopWatch '': running time (millis) = 26
-----------------------------------------
ms % Task name
-----------------------------------------
00026 100%
StopWatch '': running time (millis) = 23
-----------------------------------------
ms % Task name
-----------------------------------------
00023 100%
StopWatch '': running time (millis) = 21
-----------------------------------------
ms % Task name
-----------------------------------------
00021 100%
StopWatch '': running time (millis) = 13
-----------------------------------------
ms % Task name
-----------------------------------------
00013 100%
StopWatch '': running time (millis) = 9
-----------------------------------------
ms % Task name
-----------------------------------------
00009 100%
StopWatch '': running time (millis) = 9
-----------------------------------------
ms % Task name
-----------------------------------------
00009 100%
StopWatch '': running time (millis) = 6
-----------------------------------------
ms % Task name
-----------------------------------------
00006 100%
StopWatch '': running time (millis) = 6
-----------------------------------------
ms % Task name
-----------------------------------------
00006 100%
StopWatch '': running time (millis) = 7
-----------------------------------------
ms % Task name
-----------------------------------------
00007 100%
StopWatch '': running time (millis) = 7
-----------------------------------------
ms % Task name
-----------------------------------------
00007 100%
StopWatch '': running time (millis) = 7
-----------------------------------------
ms % Task name
-----------------------------------------
00007 100%
StopWatch '': running time (millis) = 7
-----------------------------------------
ms % Task name
-----------------------------------------
00007 100%
StopWatch '': running time (millis) = 6
-----------------------------------------
ms % Task name
-----------------------------------------
00006 100%
StopWatch '': running time (millis) = 6
-----------------------------------------
ms % Task name
-----------------------------------------
00006 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 6
-----------------------------------------
ms % Task name
-----------------------------------------
00006 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
StopWatch '': running time (millis) = 6
-----------------------------------------
ms % Task name
-----------------------------------------
00006 100%
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
4. Hibernate: select 5000
insert 5000 complete!
StopWatch '': running time (millis) = 60
-----------------------------------------
ms % Task name
-----------------------------------------
00060 100%
insert 5000 complete!
StopWatch '': running time (millis) = 37
-----------------------------------------
ms % Task name
-----------------------------------------
00037 100%
insert 5000 complete!
StopWatch '': running time (millis) = 22
-----------------------------------------
ms % Task name
-----------------------------------------
00022 100%
insert 5000 complete!
StopWatch '': running time (millis) = 19
-----------------------------------------
ms % Task name
-----------------------------------------
00019 100%
insert 5000 complete!
StopWatch '': running time (millis) = 17
-----------------------------------------
ms % Task name
-----------------------------------------
00017 100%
insert 5000 complete!
StopWatch '': running time (millis) = 12
-----------------------------------------
ms % Task name
-----------------------------------------
00012 100%
insert 5000 complete!
StopWatch '': running time (millis) = 10
-----------------------------------------
ms % Task name
-----------------------------------------
00010 100%
insert 5000 complete!
StopWatch '': running time (millis) = 10
-----------------------------------------
ms % Task name
-----------------------------------------
00010 100%
insert 5000 complete!
StopWatch '': running time (millis) = 10
-----------------------------------------
ms % Task name
-----------------------------------------
00010 100%
insert 5000 complete!
StopWatch '': running time (millis) = 11
-----------------------------------------
ms % Task name
-----------------------------------------
00011 100%
insert 5000 complete!
StopWatch '': running time (millis) = 11
-----------------------------------------
ms % Task name
-----------------------------------------
00011 100%
insert 5000 complete!
StopWatch '': running time (millis) = 11
-----------------------------------------
ms % Task name
-----------------------------------------
00011 100%
insert 5000 complete!
StopWatch '': running time (millis) = 11
-----------------------------------------
ms % Task name
-----------------------------------------
00011 100%
insert 5000 complete!
StopWatch '': running time (millis) = 11
-----------------------------------------
ms % Task name
-----------------------------------------
00011 100%
insert 5000 complete!
StopWatch '': running time (millis) = 11
-----------------------------------------
ms % Task name
-----------------------------------------
00011 100%
insert 5000 complete!
StopWatch '': running time (millis) = 12
-----------------------------------------
ms % Task name
-----------------------------------------
00012 100%
insert 5000 complete!
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
insert 5000 complete!
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
insert 5000 complete!
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
insert 5000 complete!
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
insert 5000 complete!
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 6
-----------------------------------------
ms % Task name
-----------------------------------------
00006 100%
insert 5000 complete!
StopWatch '': running time (millis) = 6
-----------------------------------------
ms % Task name
-----------------------------------------
00006 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 12
-----------------------------------------
ms % Task name
-----------------------------------------
00012 100%
insert 5000 complete!
StopWatch '': running time (millis) = 5
-----------------------------------------
ms % Task name
-----------------------------------------
00005 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 6
-----------------------------------------
ms % Task name
-----------------------------------------
00006 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 3
-----------------------------------------
ms % Task name
-----------------------------------------
00003 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
insert 5000 complete!
StopWatch '': running time (millis) = 4
-----------------------------------------
ms % Task name
-----------------------------------------
00004 100%
흠… 신기할세……………….. select는 둘 다 비슷한데, insert는 Hibernate가 iBatis보다 6배 정도 빠르게 나왔다. 예상했던 결과는 “비슷하다” 혹은 “아이바티스가 아주 조금 빠르다.” 정도였는데… 이건 뭐 예상과는 정 반대네.. 흠.. 왜 이러지; @_@;