Friday, August 3, 2012

Stupid Vectors

GJSieve for Windows uses a vector to determine a trial division number. It's set up like this:


Whereas with the Mac version, it looks like this:


And guess what? It does the same thing.

Now, this may be the reason GJSieve for Windows is a bit more limited in what it can do. Vectors are luckily thread-safe and not a memory leak, but a vector of the maximum size possible? That can't be too kind to the program.

I'm going to re-write GJSieve for Windows to use this vector-less approach, which simply makes more sense in both an implementation and practical sense.

I have to say though, Objective-C is really wonderful in memory management and whatnot. Even if there was a leak, it would probably tell me how to patch it up.

So, expect a new version of GJSieve for Windows in the near-ish future. If it works well (or, preferably, better), the vector-less approach will be implemented in MuPuPriNT as well.

Speaking of the multi-tester, expect a Mac version of that sometime soon-ish as well!

No comments:

Post a Comment