Vexi PlatformVexi Platform
vexi: easy, extensible, flexible

Thursday, February 19, 2009

VUnit Explained

It has been said that languages without type verification don't need it because ultimately its just a limited form of testing and unit tests are a better way of doing things. Its fair to say that the argument is losing ground as people such as mozilla are looking at static type checking. Ultimately type information is much more than that, its also a way to navigate code. In any case Vexi ought to have its own testing framework, and as it turns out it does in VUnit, just not much had been written about it and how to use it. This is no longer the case, as i've updated the wiki with an explanation.

Vexidev 0.3.2

The latest release of the imaginitively titled eclipse plugin and vexi development environment 'vexidev' is now available. The new features are

  • vunit launching
  • library management

Saturday, February 14, 2009

Bench marking vexi javascript

Out of curiosity I decided to benchmark the javascript in vexi. The first benchmark i found was on a blog called celtickane.com. I am not entirely convinced by the methodology or the naming of the tests (error handling did not seem to have handling exceptions as its bottleneck), but it will do as a first effort.

Below are the results for the benchmarks that I could run substantially unchanged in Vexi. All values are time in ms. Everything was run on my fairly old T30 thinkpad.

Vexi 3 build 3385 Firefox 3.06 IE 7.0.5730.13
Array object 210 25 80
Error handling 401 55 181
Math object 120 49 230
String object 560 221 160
Regex object 521 65 711

Remarks

The string object benchmark is essentially testing the performance of the replace method. The reason it might be running slowly in Vexi is that it always is interpreted as a regular expression, but this does not appear to be the case in the browsers. Perhaps this is something that should be corrected.