AOP Benchmark

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

AOP Benchmark

1、性能测试的AOP或代理框架

(1)字节码框架

l AspectWerkz 1.0

l AspectWerkz 2.x

l AspectJ 1.2

l JBoss AOP 1.0

(2)代理框架

l Spring AOP 1.1.1

l cglib proxy 2.0.2

l dynaop 1.0beta

(3)AspectWerkz可扩展Aspect容器

l AspectJ

l AOP Alliance

l Spring AOP

2、性能测试结果

AWBench (ns/invocation)

Aspect

Werkz2.x

awproxy

Aspect

Werkz1.0

aspectj

jboss

spring

dynaop

cglib

ext:

aopalliance

ext:

spring

ext:

aspectj

before, args() target()

10

25

606

10

220

355

390

145

-

220

-

around x 2, args() target()

80

85

651

50

290

436

455

155

465

476

-

before

15

20

520

15

145

275

320

70

-

40

10

before, static info access

30

30

501

25

175

275

330

70

35

before, rtti info access

50

55

535

50

175

275

335

75

35

after returning

10

20

541

10

135

285

315

85

-

45

15

after throwing

3540

3870

6103

3009

5032

6709

8127

-

3460

before + after

20

30

511

20

160

445

345

80

-

35

20

before, args() primitives

10

20

555

10

195

350

375

145

210

before, args() objects

5

25

546

10

185

325

345

115

200

around

60

95

470

10

225

315

75

-

90

around, rtti info access

70

70

520

50

140

250

340

80

70

70

-

around, static info access

80

90

486

25

135

245

330

75

80

80

-

下面的表格以AspectWerkz 2.0.RC2-snapshot 作为参考标准:

AWBench (relative %)

Aspect

Werkz2.x

awproxy

Aspect

werkz1.0

aspectj

jboss

spring

dynaop

cglib

ext:

aopalliance

ext:

spring

ext:

aspectj

before, args() target()

1 x

2.5 x

60.6 x

1 x

22 x

35.5 x

39 x

14.5 x

-

22 x

-

around x 2, args() target()

1 x

1 x

8.1 x

0.6 x

3.6 x

5.4 x

5.6 x

1.9 x

5.8 x

5.9 x

-

before

1 x

1.3 x

34.6 x

1 x

9.6 x

18.3 x

21.3 x

4.6 x

-

2.6 x

0.6 x

before, static info access

1 x

1 x

16.7 x

0.8 x

5.8 x

9.1 x

11 x

2.3 x

1.1 x

before, rtti info access

1 x

1.1 x

10.7 x

1 x

3.5 x

5.5 x

6.7 x

1.5 x

0.7 x

after returning

1 x

2 x

54.1 x

1 x

13.5 x

28.5 x

31.5 x

8.5 x

-

4.5 x

1.5 x

after throwing

1 x

1 x

1.7 x

0.8 x

1.4 x

1.8 x

2.2 x

-

0.9 x

before + after

1 x

1.5 x

25.5 x

1 x

8 x

22.2 x

17.2 x

4 x

-

1.7 x

1 x

before, args() primitives

1 x

2 x

55.5 x

1 x

19.5 x

35 x

37.5 x

14.5 x

21 x

before, args() objects

1 x

5 x

109.2 x

2 x

37 x

65 x

69 x

23 x

40 x

around

1 x

1.5 x

7.8 x

0.1 x

3.7 x

5.2 x

1.2 x

-

1.5 x

around, rtti info access

1 x

1 x

7.4 x

0.7 x

2 x

3.5 x

4.8 x

1.1 x

1 x

1 x

-

around, static info access

1 x

1.1 x

6 x

0.3 x

1.6 x

3 x

4.1 x

0.9 x

1 x

1 x

-

测试环境:Java HotSpot 1.4.2,Windows 2000 SP4,Pentium M 1.6 GHz,1 G RAM

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航