Steve Hebert's Development Blog

.Steve's .Blog

<December 2008>
SuMoTuWeThFrSa
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910


Navigation

Blogs I Follow

Favorite Tools

Development Articles

Subscriptions

Post Categories

Article Categories



Monday, May 17, 2004 - Posts

Introducing dotMath...

I've created a math compiler written entirely in C# called dotMath.  I'm thinking about releasing it under GPL, I'm in the process of seeing how to release it and the associated pro's and con's.  I'd love to find someone who has done or is doing this and blogging the experience. 

The library is a two-pass compiler.  Once the compilation phase is complete, parsing is no longer needed to evaluate the expression.  The library offers roughly 100-fold speed improvement over parsing-based evaluators.

The library can be used with variables and the API allows for full discovery/setting of the variables.  Here's sample code that uses the library:

dotMath.CFuncCompiler oComp = new dotMath.CFuncCompiler( "(3*sin(x))/5");
oComp.Compile();  // normally set try..catch to trap syntax/expression errors

double dXValue = 10;
double dYValue = 0;
for( int i = 0; i < 100; i++)
{
   oComp.SetValue("x", dXValue++ );
   dYvalue = oComp.Evaluate();

   // do something with y-value here
}

In addition,  users may create and register their own functions with the class thereby increasing the capabilities of the compiler without dealing with the parsing and compilation details.

I'll keep blogging the experience of taking this public.... stay tuned!  :)

 

posted Monday, May 17, 2004 1:29 PM by sdhebert

Improving .NET Speed and Scalability article now available

I've spent a chunk of my weekend reading the Improving .NET Speed and Scalability article.  There's quite a bit of useful info here,  I originally read about at the MSDN .NET Framework Developer Center's RSS feed.  I saw this morning that Don Box decided he needed to spend a bunch of time with this article on his blog site.  I guess if Don is reading it, it might be worth considering...

 

 

posted Monday, May 17, 2004 10:55 AM by sdhebert




Powered by Dot Net Junkies, by Telligent Systems