The If Works This dirt was a building before

Sylvester 0.1.1 released

As I’m sure I’ve mentioned before, Sylvester 0.1.0 was slow. Very very slow in fact. With that in mind, today sees the release of version 0.1.1. Here’s what’s changed.

First and foremost: the vast majority of the framework has got much faster. Some notable highlights (speed comparisons are approximate and may depend on your computer):

One change that really helped to speed the whole thing up was removing value-checking from the vector and matrix setElements methods. If you pass non-numeric values to the vector and matrix constructors, you will not get null any more, but you’ll find that method calls on the objects you get back probably break. Why you’d be using non-numeric values I don’t know, but you might find it useful, maybe for doing searches.

There are a couple of new methods:

A bug has been fixed: Matrix#augment was chopping columns off due to some row/column indexes being writted the wrong way round.

And finally, 0.1.0 has some ambiguity regarding use of vectors versus plain arrays. In 0.1.1, any method that takes a vector as an argument will also accept an array. There are situations when you’ll get faster code by taking advantage of this. Methods that take matrices as arguments also accept plain arrays but you need to be careful with this feature. I’ll be writing more about use of arrays shortly.

Go and download Sylvester and let me know how you get on.


No Comments Yet


There are no comments yet. You could be the first!

Leave a Comment