Our software is known to be fast, even when running on average hardware. When comparing our products to other clunky enterprise software, the speed can be jaw-dropping.
The secret behind our lightening-fast software is not superb hardware, but highly efficient designs.
Minimal Resource Consumption
The capabilities of server hardware have been increasing exponentially. In the age of cloud computing, however, this growth is simply not enough to support the demands of an exploding user base.
The solution is to be extremely resource-efficient. The overall performance of a web application is mainly bound by the types of resource:
- server's CPU time
- server's memory
- number of connections
- network bandwidth
- browser's CPU time
In the past few years, the advancement in web development focused on the lowering the requirements of programmers. With the help of code generation tools and cooking-cutter libraries, today's developers only need to be concerned with "higher level logic". The inter-workings of an application are abstracted away from the programmer. This abstraction offers great convenience but at a cost: the lack of direct control. Besides, most of these tools show no respect for resource usage.
We care about efficiency, so we wrote our code base from ground up. Since our code has no dependencies on bloated 3rd party libraries, our software enjoys unparalleled level of speed and robustness.
PDF Stream Injection
We developed a technique that extracts vector graphics from a PDF file and store the information in a way that can be injected in other dynamically generated PDF files without parsing. This process is analogous to organ transplant or grafting.
Zero-parsing means significant performance. Imagine the time required to read a book is the time needed to pick the book up. For a book that has only a cover, the speed gain is trivial, but for books that have many pages, the performance boost is infinite.
Caching is an optimization technique that's proven to be effective. A cache sits between a slower component and a faster component, providing quick read/write access. The RAM is a form of cache between the hard disk and the CPU; browsers store web images instead of downloading them every time--this is also a form of cache.
In developing websites and applications that can handle heavy traffic, we've systematically deployed a special kind of cache - a short-term memory that "forgets" in a fraction of a second. Since this cache only kicks in when two requests arrive at nearly the same time, we call it a "collision cache". The storage requirement of the collision cache is minimal, but in the event of high traffic it makes a world of difference.