package Ġorg . samp l . benchmark Ċ Ċ import Ġorg . junit . Test Ċ import Ġjava . util . Random Ċ Ċ /** Ċ Ġ* Ġ[ Reflection Benchmark Test ] Ġtests Ġthe Ġperformance Ġpenalty Ġof Ġusing Ġreflection . Ċ Ġ*/ Ċ class ĠReflection Benchmark Test Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ[ repe ats ] Ġdefines Ġthe Ġnumber Ġof Ġtimes Ġof Ġrepeat . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġrepe ats Ġ= Ġ 1 Ġshl Ġ 2 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ[ Tester ] Ġis Ġused Ġto Ġtest Ġthe Ġperformance Ġof Ġreflection . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġobject ĠTest er Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ random ] Ġis Ġthe Ġrandom Ġnumber Ġgenerator Ġused . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrandom Ġ= ĠRandom () ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ test ] Ġis Ġa Ġtrivial Ġmethod . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrandom . nextInt () Ġ+ Ġrandom . nextInt () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ reflection Test ] Ġis Ġthe Ġsame Ġas Ġ[ test ] Ġbut Ġinvoked Ġusing Ġreflection . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġreflection Test () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava Class . getMethod (" test "). invoke ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsimple Invocation Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepeat ( times Ġ= Ġrepe ats ) Ġ{ ĠTest er . test () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġreflection Invocation Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepeat ( times Ġ= Ġrepe ats ) Ġ{ ĠTest er . reflection Test () Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ