Atalasoft
Since 2000, Atalasoft has been providing commercial imaging products, developer components, and custom solutions to companies around the world. Our products have an international reputation for being the best in imaging and are designed, built, and tested with quality, ease of use, and functionality in mind. Atalasoft's components have been used to add imaging functionality to applications in record time saving companies money and reducing development time.
The technology behind our imaging products has been in development since the mid 90's by our predecessors and is continuously enhanced and improved as we push the envelope with the introduction of components for Microsoft's .NET framework. Our PhD scientists on staff work to provide algorithms and custom solutions that meet specialized developer and industry needs, while also adding to our product's imaging base. Our developers and architects on staff continue to provide trusted, high class components for developers who have basic or advanced imaging needs.
Atalasoft prides itself on its customer service and support. We value every customer and do all we can to ensure their success. Our customers include fortune 500 companies, document imaging corporations, engineering firms, software development firms, and developers from all over the world.
Atalasoft's headquarters is in Easthampton, Massachusetts, USA.
Atalasoft provides commercial imaging products, developer components, and custom solutions to companies around the world. Their products have an international reputation for being the best in imaging and are designed, built, and tested with quality, ease of use, and functionality in mind. Atalasoft's strong desire to improve their software and a need for a tool that supports managed and unmanaged code led them to AQtime.
Overview
Atalasoft's Steve Hawley's title is Chief Architect, but on any given day he could be writing new code, maintaining old code, fixing bugs, writing documentation or helping other engineers, in addition to his daily design work. "For the most part, I oversee the design, evolution and implementation of Atalasoft's DotImage® and its add-on components. I also specifically handle the DotImage OCR module," said Steve.
"As part of our normal mode of operation, we make a concerted effort to ensure that we are on par with our competition, if not better in as many aspects as possible. From time to time, we discover cases where some of our components do not perform as well as we think that they should. This drives us to analyze the performance of our code with AQtime in order to improve it. We also like to get a metric of how effective we are in unit testing our code."
Support for Managed and Unmanaged Code
Steve said support for both managed and unmanaged code was vital, "Other products didn't have this support and it was very important to us to have a product that was as effective with managed code as with unmanaged code. A great deal of our technology is based around supporting managed code with strong unmanaged implementations. Any tool that stops at that dividing line is only half a tool to us."
The First Stop in Performance Issues
"For us, AQtime is the first stop in any performance issue. We will create an isolated unit performance test and use AQtime to find bottlenecks. We’ve been able to find a surprising number of simple fixes and changes in coding practice that afford significant improvements in execution time with minimum risk," said Steve.
"One example that stands out is in our weighted median filter. The initial implementation was in C# and the performance was not what we hoped. Using AQtime, we found that by re-implementing the code in managed C++, we were able to factor out a number of bottlenecks and apply optimizations that are not in the vocabulary of C#. From there we could quickly find the remaining bottlenecks and push them into unmanaged code. The majority of the code is still managed and receives all the benefits of running in the CLR, but the real hotspots are running as close to the metal as you can get. Without AQtime and its ability to measure performance between the two areas, I think we would waste a lot of time writing unmanaged code when it’s not necessary."
AQtime Provides Confidence
Steve said AQtime increases their confidence, "With AQtime, we have been able to respond to customer requests in short order and turn around a product that we’re proud of. In one case, examining a particularly sticky problem led us to a novel algorithm that is now patent pending. With AQtime, we can be confident in the quality and performance of our products. My success with AQtime led us to purchasing copies for all of engineering, and each engineer uses it regularly."