AOP Benchmark

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

3AspectWerkz可扩展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.2Windows 2000 SP4Pentium M 1.6 GHz1 G RAM

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值