KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4o > test > performance > CreateSomeData


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com
2
3 This file is part of the db4o open source object database.
4
5 db4o is free software; you can redistribute it and/or modify it under
6 the terms of version 2 of the GNU General Public License as published
7 by the Free Software Foundation and as clarified by db4objects' GPL
8 interpretation policy, available at
9 http://www.db4o.com/about/company/legalpolicies/gplinterpretation/
10 Alternatively you can write to db4objects, Inc., 1900 S Norfolk Street,
11 Suite 350, San Mateo, CA 94403, USA.
12
13 db4o is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17
18 You should have received a copy of the GNU General Public License along
19 with this program; if not, write to the Free Software Foundation, Inc.,
20 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */

21 package com.db4o.test.performance;
22
23 import java.io.File JavaDoc;
24
25 import com.db4o.Db4o;
26 import com.db4o.ObjectContainer;
27 import com.db4o.ObjectSet;
28 import com.db4o.io.RandomAccessFileAdapter;
29
30 /**
31  * @exclude
32  */

33 public class CreateSomeData {
34     public static final int DEPTH = 3;
35
36     public static final int COUNT = 10;
37
38     public static int c = 100;
39
40     public static class SomeData {
41         public int id;
42
43         public SomeData _parent;
44
45         public SomeData(int id, SomeData parent) {
46             this.id = id;
47             this._parent = parent;
48         }
49
50         public String JavaDoc toString() {
51             return " " + id;
52         }
53     }
54
55     public static void main(String JavaDoc[] args) {
56         new File JavaDoc(Util.BENCHFILE).delete();
57         new File JavaDoc(Util.DBFILE).delete();
58         Db4o.configure().io(
59                 new RecordingIoAdapter(new RandomAccessFileAdapter(),
60                         Util.BENCHFILE));
61         Db4o.configure().optimizeNativeQueries(true);
62         ObjectContainer db = Db4o.openFile(Util.DBFILE);
63
64         long start = System.currentTimeMillis();
65
66         for (int i = 1; i <= COUNT; i++) {
67             SomeData obj = new SomeData(i, null);
68
69             for (int j = 0; j < DEPTH; j++) {
70                 obj = new SomeData(c++, obj);
71             }
72             db.set(obj);
73
74         }
75         db.commit();
76         System.err.println("to store " + (COUNT + COUNT * DEPTH)
77                 + " objects needed " + (System.currentTimeMillis() - start));
78         System.gc();
79         start = System.currentTimeMillis();
80         ObjectSet result = db.query(SomeData.class);
81         while (result.hasNext()) {
82             System.out.println(result.next());
83         }
84
85         // System.out.println(result.size());
86
System.err.println("to query and retrive " + result.size()
87                 + " objects needed " + (System.currentTimeMillis() - start));
88         db.close();
89     }
90 }
91
Popular Tags