I made an updated version of the Test Suite so now we can easily compare the performance of each one of the sub variations. It runs the test a number of times, showing each partial result. Then it stops and shows the total averaged results.
These are the average results from repeating 10 times a 500000 calls test.
R:19186 signND:100 signND:52 signNDNE:54
R/sign:192 R/signND:369 R/signNDNE:355
---
R:13462 signND:100 signND:48 signNDNE:49
R/sign:135 R/signND:280 R/signNDNE:275
---
R:13402 signND:97 signND:48 signNDNE:48
R/sign:138 R/signND:279 R/signNDNE:279
---
R:14145 signND:97 signND:48 signNDNE:49
R/sign:146 R/signND:295 R/signNDNE:289
---
R:13666 signND:99 signND:47 signNDNE:48
R/sign:138 R/signND:291 R/signNDNE:285
---
R:13576 signND:97 signND:49 signNDNE:48
R/sign:140 R/signND:277 R/signNDNE:283
---
R:13561 signND:98 signND:49 signNDNE:48
R/sign:138 R/signND:277 R/signNDNE:283
---
R:13880 signND:119 signND:50 signNDNE:50
R/sign:117 R/signND:278 R/signNDNE:278
---
R:13914 signND:97 signND:48 signNDNE:48
R/sign:143 R/signND:290 R/signNDNE:290
---
R:13584 signND:100 signND:50 signNDNE:49
R/sign:136 R/signND:272 R/signNDNE:277
--------------
R:14237 sign:100 signND:48 signNDNE:49
R/sign:142 R/signND:297 R/signNDNE:291
R: version using reflection
sign: sub version using division (klaus)
signND: sub version without using division (myriaddev)
signNDNE: sub version without using division nor elses (kickaha)
Two last ones are equally fast. The difference must be only syntactical.