Hi Joe / readers,
I want to make some final comments; and this is my original point I wanted
to make. I just initially failed terribly at making it.
My Query:
Joe’s comment that ProEssentials was good but not 100% managed .NET.
My Response:
Should a tool that mathematically processes thousands of data points, via
intensive and iterative multi-pass artificial intelligence (AI) be written
in managed code? The correct answer is No, and ProEssentials falls into
this category. It handles large quantities of data with the most AI,
multiple rendering aspects taking dozens of passes to create a quality image
independent on data, control-shape, control-size, font-size, plotting-type,
and hundreds of additional options. A serious charting tool has to have
some of the most complex logic available within any third party tool
category. ProEssentials builds the most attentive and potentially robust
image magnitudes faster than any other 100% managed charting tool on the
planet; and that’s a fact the competition can not honestly deny. Sure the
competition can do some things ProEssentials can not do, but it does them
slowly, with less AI, so usability is limited to smaller data sets and
static configurations. When you consider the unique amount and type of
intense iterative processing that is involved, ProEssentials should be
native unmanaged code, there is no dependency on COM, and no worries in any
way; based on our twelve year track record. Experience with multiple tools
is the only true way to fully understand the differences ProEssentials has
to offer. Tools are cheap, easy to use, there’s lots of variety (I love the
idea of a flash based charting tool to show 4 to 8 data-points, just don’t
try it with 10,000 data-points). Buy the right tool for the job; don’t beat
a square peg into a round hole.
As for the memory management issue, I’ll make a point with a real-world
exercise. Take one of your highly used classes, add a custom Dispose
method, put a break-point in it, run/debug your app that’s creating many
instances of this object. You’ll find; surprising most; the breakpoint won’t
hit until your app shuts down. Is your managed app continuously using more
and more memory until it is shut down? That’s my point. There are many
scenarios within .NET where Dispose should be explicitly called and it’s not
getting called.
~~~~~ Deep Thoughts~~~~~~ by Robert Dede,
When I go hunting, I don’t drive my Lexus, I drive my truck. I never know
when I’ll cross a rough road or even go off-road. I also drive my truck
around town. If I could only afford one vehicle, it would have to be my
truck, it’s more useful. I can afford both the truck and the Lexus so I’m
lucky to have a choice. Charting is very similar; it’s a large diverse
subject; just as diverse as off-road versus highway driving. If you can
afford multiple tools, it’s best to use the tool that best suits the road.
If you can’t afford multiple tools, I’d hate to take my Lexus off-road. I
wouldn’t do it. I’d have to compromise, stop, turn-around, and limit my
freedom. It’s a good thing there are so many charting choices. Diversity and
variety are good things and should be fostered, not stifled. Utilize
diversity and don’t sweat the little stuff.
www.gigasoft.com