TWaver Web Performance Report

14
TWaver ® Web Performance Report Nov 2010 Serva Software [email protected] http://www.servasoftware.com PO Box 8143, Wichita Falls, Texas, USA 76307

description

TWaver is a GUI toolkit which provides Network component and other commonly used components including tree, table, chart, property sheet, list, etc.

Transcript of TWaver Web Performance Report

Page 1: TWaver Web Performance Report

TWaver® Web

Performance Report

Nov 2010 Serva Software [email protected] http://www.servasoftware.com PO Box 8143, Wichita Falls, Texas, USA 76307

Page 2: TWaver Web Performance Report

For more information about Serva Software and TWaver please visit the web site at: http://www.servasoftware.com Or send e-mail to:

[email protected] Nov, 2010 Notice: This document contains proprietary information of Serva Software. Possession and use of this document shall be strictly in accordance with a license agreement between the user and Serva Software, and receipt or possession of this document does not convey any rights to reproduce or disclose its contents, or to manufacture, use, or sell anything it may describe. It may not be reproduced, disclosed, or used by others without specific written authorization of Serva Software. TWaver, servasoft, Serva Software and the logo are registered trademarks of Serva Software. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S.A. and other countries. Other company, brand, or product names are trademarks or registered trademarks of their respective holders. The information contained in this document is subject to change without notice at the discretion of Serva Software. Copyright © 2010 Serva Software LLC All Rights Reserved

Page 3: TWaver Web Performance Report

 

Copy

 

Test

SVG

 Sou

yright © 2010 S

t Environme

TWaver  Java(TM Mac OSX 2.26 GH

G Export Time Node: 2 Link: 40  Unit: ms

rce Code for

       

erva Software A

nt 

v3.6 M) SE RuntimeX 10.6.4 z Intel Core 

e Test 00 – 3200 – 640 s 

r More Testin

                     

All Rights Reser

e Environme

2 Duo 

ng 

                      

rved 

ent (build 1.6

SV

 

                      

6.0_22‐b04‐3

VG Byte Size T Node:  Link: 4 Unit: k

TWaver Web P

307‐10M326

Test 200 – 32000 – 640 kb 

Performance Re

61) 

 

eport 

Page 4: TWaver Web Performance Report

 

Copy

 

Sou

pack

 

imp

imp

imp

imp

imp

imp

imp

imp

imp

imp

imp

imp

 

imp

imp

imp

imp

imp

imp

 

imp

imp

yright © 2010 S

rce Code: 

kage test; 

ort java.awt

ort java.awt

ort java.awt

ort java.awt

ort java.awt

ort java.awt

ort java.awt

ort java.io.By

ort java.io.IO

ort java.util.A

ort java.util.

ort java.util.

ort javax.sw

ort javax.sw

ort javax.sw

ort javax.sw

ort javax.sw

ort javax.sw

ort twaver.E

ort twaver.L

       

erva Software A

.BorderLayo

.Color; 

.Component

.Dimension; 

.GridLayout;

.event.Actio

.event.Actio

yteArrayOut

OException; 

ArrayList; 

List; 

zip.GZIPOutp

ing.JButton; 

ing.JCheckBo

ing.JFrame; 

ing.JLabel; 

ing.JPanel; 

ing.JTextFiel

Element; 

Link; 

                     

All Rights Reser

ut; 

t; 

 

nEvent; 

nListener; 

tputStream;

putStream;

ox; 

d; 

                      

rved 

                      TWaver Web PPerformance Reeport 

Page 5: TWaver Web Performance Report

 

Copy

 

imp

imp

imp

imp

imp

imp

imp

imp

imp

 

pub

 priv

 priv

  

 priv

 priv

 priv

 priv

 priv

 priv

  

 priv

 priv

 priv

 priv

yright © 2010 S

ort twaver.N

ort twaver.R

ort twaver.T

ort twaver.T

ort twaver.T

ort twaver.T

ort twaver.c

ort twaver.w

ort twaver.w

lic class SVG

vate int stepC

vate int unitN

vate JPanel c

vate JCheckB

vate JCheckB

vate JTextFie

vate JTextFie

vate JButton 

vate Node bo

vate Node sv

vate Node sv

vate Node co

       

erva Software A

Node; 

ResizableNod

TDataBox; 

TUIManager;

TWaverConst

TWaverUtil; 

hart.BarCha

web.svg.netw

web.svg.netw

Performance

Count = 5; 

Number = 20

controlPane =

Box withImag

Box base64 =

eld stepCoun

eld unitNumb

testButton =

oxLoad = new

vgExport = ne

vgSize = new 

ompressedSi

                     

All Rights Reser

de; 

 

t; 

rt; 

work.SVGCon

work.TSVGNe

eTest extend

00; 

= new JPane

ge = new JCh

= new JCheck

tField = new

berField = ne

= new JButto

w Node(); 

ew Node();

Node(); 

ze = new No

                      

rved 

ntext; 

etwork; 

ds JPanel imp

l(); 

heckBox("wit

kBox("use ba

w JTextField(s

ew JTextField

on("do test")

ode(); 

                      

plements Act

th image");

ase64"); 

stepCount + 

d(unitNumbe

); 

TWaver Web P

tionListener 

""); 

er + ""); 

Performance Re

eport 

Page 6: TWaver Web Performance Report

 

Copy

 

 

 TDa

 TSV

 

 Bar

 

 Bar

  pro

   ret

  } 

 }; 

  

 pub

  sup

  JPa

  this

  ma

  ma

   

  this

 

  con

  con

 

  ste

yright © 2010 S

ataBox box =

VGNetwork n

Chart chart =

Chart svgSiz

otected Strin

turn super.g

blic SVGPerfo

per(new Bord

anel mainPan

s.add(mainP

ainPane.add(

ainPane.add(

s.add(contro

ntrolPane.ad

ntrolPane.ad

epCountField

       

erva Software A

= new TDataB

network = ne

= new BarCh

eChart = new

ng getFormat

etFormatedT

ormanceTest

derLayout())

ne = new JPa

Pane, Border

(chart); 

(svgSizeChar

olPane, Bord

dd(withImage

dd(base64); 

d.setPreferre

                     

All Rights Reser

Box(); 

ew TSVGNetw

hart(); 

w BarChart()

tedText(Elem

Text(elemen

t() { 

); 

anel(new Gri

Layout.CENT

t); 

erLayout.SO

e); 

edSize(new D

                      

rved 

work(box); 

ment elemen

nt, value, ind

dLayout(1, 1

TER); 

OUTH); 

Dimension(30

                      

nt, double va

ex) + "kb"; 

1)); 

0, 20)); 

TWaver Web P

lue, int index

Performance Re

x) { 

eport 

Page 7: TWaver Web Performance Report

 

Copy

 

  uni

  con

  con

  con

  con

   

  con

 

  tes

   

  init

 } 

 

 priv

  cha

  cha

  svg

  svg

   

  box

  svg

  svg

  com

   

  box

yright © 2010 S

itNumberFie

ntrolPane.ad

ntrolPane.ad

ntrolPane.ad

ntrolPane.ad

ntrolPane.ad

stButton.add

tCharts(); 

vate void init

art.getDataB

art.getDataB

gSizeChart.ge

gSizeChart.ge

xLoad.setNa

gExport.setN

gSize.setNam

mpressedSiz

xLoad.putCh

       

erva Software A

eld.setPrefer

dd(new JLabe

dd(stepCount

dd(new JLabe

dd(unitNumb

dd(testButto

dActionListen

tCharts() { 

Box().addElem

Box().addElem

etDataBox().

etDataBox().

me("DataBo

ame("SVG E

me("Uncomp

e.setName("

hartColor(Col

                     

All Rights Reser

redSize(new

el("step coun

tField); 

el("node cou

berField); 

n); 

ner(this); 

ment(this.bo

ment(this.svg

addElement

addElement

ox Loading Ti

xporting Tim

ressed SVG B

"Compressed

lor.BLUE.dar

                      

rved 

w Dimension(

nt")); 

unt")); 

oxLoad); 

gExport); 

t(this.svgSize

t(this.compre

me"); 

me"); 

Byte Size");

d SVG Byte S

rker()); 

                      

(80, 20)); 

e); 

essedSize); 

Size"); 

TWaver Web PPerformance Reeport 

Page 8: TWaver Web Performance Report

 

Copy

 

  svg

  svg

  com

 

  cha

  cha

  cha

  cha

  cha

  cha

//  c

  cha

  cha

  cha

   

 

  svg

  svg

  svg

  svg

  svg

  svg

//  s

  svg

  svg

yright © 2010 S

gExport.putC

gSize.putCha

mpressedSiz

art.setYAxisT

art.setTitle("

art.setValueT

art.setShado

art.setSelect

art.setBarTyp

chart.setXSca

art.setXScale

art.setLazyPu

art.setXAxisT

gSizeChart.se

gSizeChart.se

gSizeChart.se

gSizeChart.se

gSizeChart.se

gSizeChart.se

vgSizeChart.

gSizeChart.se

gSizeChart.se

       

erva Software A

ChartColor(Co

rtColor(Colo

e.putChartC

Text("Time C

TWaver SVG

TextFont(TU

owOffset(0); 

edOffset(0);

pe(TWaverC

aleTextOrien

eTextColor(C

ublishMode(

Text("Numbe

etYAxisText("

etTitle("TWa

etValueTextF

etShadowOff

etSelectedOf

etBarType(TW

.setXScaleTe

etXScaleText

etLazyPublish

                     

All Rights Reser

olor.GREEN.

or.GREEN.bri

olor(Color.G

onsuming (m

G Performanc

IManager.ge

 

onst.BAR_TY

tation(TWav

olor.RED); 

(true); 

ers of Eleme

"SVG File Siz

ver SVG Perf

Font(TUIMan

fset(0); 

ffset(0); 

WaverConst.

xtOrientatio

tColor(Color.

hMode(true)

                      

rved 

darker()); 

ghter()); 

GREEN.darker

ms)"); 

ce Report ‐ T

etDefaultFon

YPE_GROUP)

verConst.LAB

nt"); 

e (kb)"); 

formance Re

nager.getDef

.BAR_TYPE_G

on(TWaverCo

RED); 

); 

                      

r()); 

Time"); 

nt().deriveFo

); 

BEL_ORIENTA

eport ‐ Byte S

faultFont().d

GROUP); 

onst.LABEL_O

TWaver Web P

nt(9f)); 

ATION_RIGH

Size"); 

eriveFont(9f

ORIENTATIO

Performance Re

HT); 

f)); 

N_RIGHT); 

eport 

Page 9: TWaver Web Performance Report

 

Copy

 

  svg

   

 } 

  

 pub

  sho

 } 

 

 pub

  JFr

  fra

  fra

  fra

  fra

  TW

  fra

  ret

 } 

 

 @O

 pub

  tes

  ste

  uni

   

yright © 2010 S

gSizeChart.se

blic static voi

owFrame("",

blic static JFr

ame frame =

me.setTitle(t

me.getConte

me.setSize(8

me.setDefau

WaverUtil.cen

me.setVisibl

turn frame; 

Override 

blic void actio

stButton.setE

epCountField

itNumberFie

       

erva Software A

etXAxisText("

d main(Strin

, new SVGPe

ame showFr

= new JFram

title); 

entPane().ad

800, 500); 

ultCloseOper

nterWindow

e(true); 

onPerformed

Enabled(false

d.setEnabled

eld.setEnable

                     

All Rights Reser

"Numbers of

ng[] args) { 

rformanceTe

rame(String t

e(); 

dd(compone

ration(JFram

(frame); 

d(ActionEven

e); 

(false); 

ed(false); 

                      

rved 

f Element");

est()); 

title, Compo

nt, BorderLa

me.EXIT_ON_

nt e) { 

                      

nent compo

ayout.CENTE

_CLOSE); 

TWaver Web P

nent) { 

R); 

Performance Reeport 

Page 10: TWaver Web Performance Report

 

Copy

 

  this

  this

   

  this

  this

  this

  this

  this

  this

   

  int 

   

  wh

    

   int

   int

   bo

   bo

    

   lon

   lon

   lon

   lon

   lon

    

yright © 2010 S

s.stepCount 

s.unitNumbe

s.chart.setXS

s.svgSizeCha

s.boxLoad.se

s.svgExport.s

s.svgSize.set

s.compresse

step = 0; 

hile(step < ste

t nodeCount

t linkCount =

oolean useIco

oolean useBa

ng boxLoadT

ng[] svgInfo =

ng exportSVG

ng svgByteSi

ng svgByteCo

       

erva Software A

= Integer.pa

er = Integer.p

ScaleTextList

art.setXScale

etChartValue

setChartValu

tChartValues

edSize.setCha

epCount){ 

t = (int)(unitN

= (int)(nodeC

on = false; 

ase64 = base

Time = loadN

= exportSVG

GTime = svgI

ze = svgInfo[

ompressedSi

                     

All Rights Reser

arseInt(this.s

parseInt(this

t(null); 

TextList(null

es(null); 

ues(null); 

s(null); 

artValues(nu

Number*(Ma

Count*0.2);

64.isSelecte

Node(box, no

G(useBase64)

Info[0]; 

[1]; 

ize = svgInfo

                      

rved 

stepCountFie

s.unitNumbe

); 

ull); 

ath.pow(2, st

d(); 

odeCount, lin

); 

[2]; 

                      

eld.getText())

erField.getTe

tep))); 

nkCount, use

TWaver Web P

); 

ext()); 

Icon, 1000, 8

Performance Re

800); 

eport 

Page 11: TWaver Web Performance Report

 

Copy

 

   th

   thLink

    

   th

   th

   th

   th

   ste

  } 

 

  tes

  ste

  uni

 } 

  

  

 priv

  lon

  SVG

  con

  Str

  int 

  tim

   

  lon

yright © 2010 S

is.chart.addX

is.svgSizeChaks</html>"); 

is.boxLoad.a

is.svgExport.

is.svgSize.ad

is.compresse

ep++; 

stButton.setE

epCountField

itNumberFie

vate long[] ex

ng time = Sys

GContext co

ntext.setUse

ing svg = net

size = svg.le

me = System.

ng svgCompr

       

erva Software A

XScaleText("

art.addXScal

addChartValu

.addChartVa

ddChartValue

edSize.addCh

Enabled(true

d.setEnabled

eld.setEnable

xportSVG(bo

stem.current

ntext = new 

Base64(useB

twork.toSVG

ngth(); 

currentTime

essedSize = 0

                     

All Rights Reser

<html>"+nod

eText("<htm

ue(boxLoadT

lue(exportSV

e(svgByteSize

hartValue(sv

e); 

(true); 

ed(true); 

oolean useBa

tTimeMillis();

SVGContext

Base64); 

G(context); 

eMillis() ‐ tim

0; 

                      

rved 

deCount + " 

ml>"+nodeCo

Time); 

VGTime); 

e/1024); 

vgByteCompr

ase64){ 

t(); 

me; 

                      

Nodes <br>"

ount + " Node

ressedSize/1

TWaver Web P

"+linkCount+

es <br>"+link

1024); 

Performance Re

+" Links</htm

kCount+" 

eport 

ml>"); 

Page 12: TWaver Web Performance Report

 

Copy

 

  try 

   By

   GZ

   ou

   ou

   ou

   svg

   Sy

   ou

  } ca

   e.p

  } 

   

  ret

 } 

  

 pubxLim

  box

        

        

        

        

        

        

        

yright © 2010 S

yteArrayOutp

ZIPOutputStr

ut2.write(svg

ut2.flush(); 

ut2.close(); 

gCompresse

stem.out.pri

ut.close(); 

atch (IOExce

printStackTra

turn new lon

blic static lonmit, int yLimit

x.clear(); 

long start = 

List allNode

for (int i = 0

 ResizableN

 node.setSiz

 node.putBo

 node.putLa

       

erva Software A

putStream ou

ream out2 = 

g.getBytes());

dSize = out.s

intln(svgCom

ption e) { 

ace(); 

g[]{time, size

ng loadNode(t){ 

System.curr

es = new Arra

0; i < nodeCo

ode node  = 

ze(12, 12); 

orderColor(C

abelColor(ne

                     

All Rights Reser

ut = new Byt

new GZIPOu

size(); 

mpressedSize

e, svgCompr

(TDataBox b

rentTimeMill

ayList(nodeC

unt; i++) { 

new Resizab

Color.YELLOW

w Color(160

                      

rved 

teArrayOutp

utputStream

e); 

ressedSize};

ox, int nodeC

lis(); 

Count); 

bleNode(); 

W); 

0, 160, 160));

                      

utStream();

(out); 

Count, int lin

 

TWaver Web P

nkCount, boo

Performance Re

olean useIco

eport 

10 

n, int 

Page 13: TWaver Web Performance Report

 

Copy

 

        

        

        

        

        TWa

        

        

 

        

        

 

        

        

        

        

        

        

        

        

        

        

        

        

        

        

yright © 2010 S

 node.setNa

    if (!useIco

  node.putC

  node.putC

  node.putCaverUtil.getR

  node.putC

    } 

    int x = TW

    int y = TW

    node.setL

    box.addE

    allNodes.

for (int i = 0

    Node nod

    Node nod

     

    Link link =

    link.setNa

    link.putLa

    box.addE

return Syste

       

erva Software A

ame(""+i); 

on) { 

ustomDraw(

ustomDrawS

ustomDrawFRandomInt(1

ustomDrawO

WaverUtil.get

WaverUtil.get

Location(x, y

lement(node

add(node); 

0; i < linkCoun

de1 = (Node)

de2 = (Node)

= createLink(

ame(""+i); 

abelColor(Co

lement(link)

em.currentTi

                     

All Rights Reser

(true); 

ShapeFactor

FillColor(new120), 100)); 

OutlineColor

tRandomInt(

tRandomInt(

y); 

e); 

nt; i++) { 

)allNodes.get

)allNodes.get

(node1, node

olor.GRAY); 

imeMillis()‐s

                      

rved 

ry (TWaverCo

w Color(80 + 

r(Color.WHIT

(xLimit); 

(yLimit); 

t (TWaverUt

t (TWaverUt

e2, null); 

tart; 

                      

onst.SHAPE_

TWaverUtil.

TE); 

til.getRandom

til.getRandom

TWaver Web P

_ROUND); 

getRandomI

mInt(nodeCo

mInt(nodeCo

Performance Re

Int(120), 80 +

ount)); 

ount)); 

eport 

11 

Page 14: TWaver Web Performance Report

 

Copy

 

    } 

  

 priv

  Lin

  link

  link

  link

  link

  link

  ret

 } 

yright © 2010 S

vate static Lin

k link = new 

k.setName(n

k.putLinkOut

k.putLinkOut

k.putLinkWid

k.putLinkCol

turn link; 

       

erva Software A

nk createLin

Link(from, t

name); 

tlineWidth(1

tlineColor(Co

dth(1); 

or(Color.WH

                     

All Rights Reser

k(Node from

o); 

1); 

olor.BLACK);

HITE); 

                      

rved 

m, Node to, S

                      

String name){

TWaver Web P

Performance Reeport 

12