Premature optimization bites once again
Why do I so easily succumb to the siren song of premature optimization? I'm now ripping out of Fabric a feature I meant to be a performance boost, but a couple of design decisions later and it was clear the feature was just making things complicated.
Simplify simplify simplify. Optimize later.
I've now gotten the first iteration of the Fabric test suite done with a test runner that reads test formulas out of specially delimited files, runs them and verifies the output. Currently I've written 800 lines or so of Fabric test formulas, and that will grow quickly as new functions are added.
So with the test suite in place I'm currently going through all the code and refactoring mercilessly: cleaning up, clarifiying code and comments, and looking for problems.
Big work items left to go:
Compiler error handling - Currently the compiler gives very cryptic error messages on bad formulas.
Core Functions - I've implemented all the operators already, but only a handful of the needed built-in functions.
Date/Time datatype - Completely unimplemented so far.
Performance profiling - I'd like to do some basic profiling just to shake out any egregious performance problems.
Memory Leak testing - I need to add detection of memory leaks into the test suite.
I'm hoping to have all this done and Fabric completely incorporated into CouchDb by March 1.
Posted January 16, 2006 1:58 AM