/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk

« back to all changes in this revision

Viewing changes to validate/bench.java

  • Committer: Suren A. Chilingaryan
  • Date: 2009-02-16 09:27:17 UTC
  • Revision ID: csa@dside.dyndns.org-20090216092717-wipyvaaw2srxhgns
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import java.io.*;
 
2
import java.util.*;
 
3
import java.text.*;
 
4
import javax.xml.parsers.DocumentBuilderFactory; 
 
5
import javax.xml.parsers.DocumentBuilder; 
 
6
 
 
7
public class bench {
 
8
    public void InitXML() {};
 
9
    public void InitXML_Validation() {};
 
10
    public void ReleaseXML() {};
 
11
    public void ParseXML(FileInputStream is, int iters, int iter) {};
 
12
    public void ValidateXML(FileInputStream is, int iters, int iter) {};
 
13
    
 
14
    public void Bench(String argv[]) throws IOException {
 
15
        int iterations,size,mode;
 
16
        
 
17
        if (argv.length<2) {
 
18
            System.err.println("Usage:\n\tme <iterations> <xml file|xmlgen|opcgen> [<xsd file>|size]");
 
19
        } else {
 
20
            iterations = Integer.parseInt(argv[0]);
 
21
 
 
22
            Collator mc = Collator.getInstance();
 
23
            if (mc.compare(argv[1],"xmlgen")==0) mode=1;
 
24
            else if (mc.compare(argv[1],"opcgen")==0) mode=2;
 
25
            else mode=0;
 
26
 
 
27
            if (mode>0) size = Integer.parseInt(argv[2]);
 
28
            else size=0;
 
29
                    
 
30
            double a,b;
 
31
            Date pre,post;
 
32
            SimpleDateFormat s,ms;
 
33
            disp d = new disp();
 
34
            disp dv = new disp();
 
35
            double result,init_result,init_result2, init_dtime, init_d;
 
36
            double dv_init_result,dv_init_result2;
 
37
            s=new SimpleDateFormat("ss");
 
38
            ms=new SimpleDateFormat("SSS");
 
39
            FileInputStream file;
 
40
            
 
41
            pre=new Date();
 
42
            InitXML();
 
43
            post=new Date();
 
44
            a=Double.valueOf(s.format(post)).doubleValue();
 
45
            b=Double.valueOf(s.format(pre)).doubleValue();
 
46
            init_result=(post.getTime()-pre.getTime());
 
47
            
 
48
            pre=new Date();
 
49
            if (mode==0)
 
50
                file = new FileInputStream(argv[1]);
 
51
            else 
 
52
                file = new FileInputStream("../xml.tmp/0.xml");
 
53
            ParseXML(file,iterations,0);
 
54
            post=new Date();
 
55
            file.close();
 
56
            a=Double.valueOf(s.format(post)).doubleValue();
 
57
            b=Double.valueOf(s.format(pre)).doubleValue();
 
58
            init_result2=(post.getTime()-pre.getTime());
 
59
            
 
60
            for (int i=1;i<=iterations;i++) {
 
61
                pre=new Date();
 
62
                if (mode==0)
 
63
                    file = new FileInputStream(argv[1]);
 
64
                else 
 
65
                    file = new FileInputStream("../xml.tmp/" + i + ".xml");
 
66
                    
 
67
                ParseXML(file,iterations,i);
 
68
                post=new Date();
 
69
                file.close();
 
70
                a=Double.valueOf(s.format(post)).doubleValue();
 
71
                b=Double.valueOf(s.format(pre)).doubleValue();
 
72
                result=(post.getTime()-pre.getTime());
 
73
                d.disp_event(result);
 
74
//              System.err.println(result);
 
75
            }
 
76
            d.disp_post();
 
77
 
 
78
            pre=new Date();
 
79
            InitXML_Validation();
 
80
            post=new Date();
 
81
            a=Double.valueOf(s.format(post)).doubleValue();
 
82
            b=Double.valueOf(s.format(pre)).doubleValue();
 
83
            dv_init_result=(post.getTime()-pre.getTime());
 
84
            
 
85
            pre=new Date();
 
86
            if (mode==0)
 
87
                file = new FileInputStream(argv[1]);
 
88
            else 
 
89
                file = new FileInputStream("../xml.tmp/0.xml");
 
90
            ValidateXML(file,iterations,0);
 
91
            post=new Date();
 
92
            a=Double.valueOf(s.format(post)).doubleValue();
 
93
            b=Double.valueOf(s.format(pre)).doubleValue();
 
94
            dv_init_result2=(post.getTime()-pre.getTime());
 
95
            
 
96
            for (int i=1;i<=iterations;i++) {
 
97
                pre=new Date();
 
98
                if (mode==0)
 
99
                    file = new FileInputStream(argv[1]);
 
100
                else 
 
101
                    file = new FileInputStream("../xml.tmp/" + i + ".xml");
 
102
                    
 
103
                ValidateXML(file,iterations,i);
 
104
                post=new Date();
 
105
                file.close();
 
106
                a=Double.valueOf(s.format(post)).doubleValue();
 
107
                b=Double.valueOf(s.format(pre)).doubleValue();
 
108
                result=(post.getTime()-pre.getTime());
 
109
                dv.disp_event(result);
 
110
//              System.err.println(result);
 
111
            }
 
112
            dv.disp_post();
 
113
 
 
114
            if (mode==2)
 
115
                System.err.println("Parsing Time "+ (dv.disp_s-d.disp_s)+" ms for " + iterations + " messages");
 
116
            else {
 
117
                init_dtime=(init_result2 - d.disp_m);//-(dv_init_result2-dv.disp_m);
 
118
                if (init_dtime<0.1) {
 
119
                    init_d=0;
 
120
                    init_dtime=0;
 
121
                } else {
 
122
                    init_d=300 * d.disp_d / init_dtime;
 
123
                }
 
124
                System.err.println("Initialisation time " + dv_init_result + " + " + init_dtime + "(" + init_d + "%) ms");
 
125
                System.err.println("Parsing Time " + (dv.disp_m-d.disp_m) + "(" + (300*(d.disp_d+dv.disp_d)/(dv.disp_m-d.disp_m)) + "%)");
 
126
            }
 
127
            ReleaseXML();       
 
128
        }
 
129
    }
 
130
}
 
 
b'\\ No newline at end of file'