@@ -8,8 +8,10 @@ package postgres
88
99import (
1010 "testing"
11+ "time"
1112
1213 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/db/dbtest"
14+ "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/db/driver/unversioned"
1315)
1416
1517func BenchmarkReadExistingPostgres (b * testing.B ) {
@@ -18,7 +20,7 @@ func BenchmarkReadExistingPostgres(b *testing.B) {
1820 b .Fatal (err )
1921 }
2022 defer terminate ()
21- db , err := initPersistence (NewVersioned , pgConnStr , "benchmark" , 50 )
23+ db , err := initPersistence (NewVersioned , pgConnStr , "benchmark" , 50 , 2 , time . Minute )
2224 if err != nil {
2325 b .Fatal (err )
2426 }
@@ -33,7 +35,7 @@ func BenchmarkReadNonExistingPostgres(b *testing.B) {
3335 b .Fatal (err )
3436 }
3537 defer terminate ()
36- db , err := initPersistence (NewVersioned , pgConnStr , "benchmark" , 50 )
38+ db , err := initPersistence (NewVersioned , pgConnStr , "benchmark" , 50 , 2 , time . Minute )
3739 if err != nil {
3840 b .Fatal (err )
3941 }
@@ -48,7 +50,7 @@ func BenchmarkWriteOnePostgres(b *testing.B) {
4850 b .Fatal (err )
4951 }
5052 defer terminate ()
51- db , err := initPersistence (NewVersioned , pgConnStr , "benchmark" , 50 )
53+ db , err := initPersistence (NewVersioned , pgConnStr , "benchmark" , 50 , 2 , time . Minute )
5254 if err != nil {
5355 b .Fatal (err )
5456 }
@@ -63,11 +65,27 @@ func BenchmarkWriteManyPostgres(b *testing.B) {
6365 b .Fatal (err )
6466 }
6567 defer terminate ()
66- db , err := initPersistence (NewVersioned , pgConnStr , "benchmark" , 50 )
68+ db , err := initPersistence (NewVersioned , pgConnStr , "benchmark" , 50 , 2 , time . Minute )
6769 if err != nil {
6870 b .Fatal (err )
6971 }
7072 defer db .Close ()
7173
7274 dbtest .WriteMany (b , db )
7375}
76+
77+ func BenchmarkWriteManyPostgresWithIdle (b * testing.B ) {
78+ terminate , pgConnStr , err := StartPostgres (b , false )
79+ if err != nil {
80+ b .Fatal (err )
81+ }
82+ defer terminate ()
83+ p , err := initPersistence (NewVersioned , pgConnStr , "benchmark" , 50 , 50 , time .Minute )
84+ if err != nil {
85+ b .Fatal (err )
86+ }
87+ db := & unversioned.Transactional {TransactionalVersioned : p }
88+ defer db .Close ()
89+
90+ dbtest .WriteParallel (b , db )
91+ }
0 commit comments