Wintertree Software Inc.

Wintertree Spelling Server

 

Home Site index Contact us Catalog Shopping Cart Products Support Search

You are here: Home > Products > Developer tools > Wintertree Spelling Server > About Performance


About Wintertree Spelling Server's Performance

Why is speed important?

You may wonder why we emphasize Wintertree Spelling Server's speed, or even why we mention it at all.

You may use the spelling checker in a desktop application such as Microsoft Word, and notice that it seems to underline misspelled words more or less instantly, and assume that any spelling checker will be fast enough for your server.

With the gigahertz clock speeds of modern computers, even the most inefficient spelling checker can determine whether a single word is misspelled faster than you can perceive. The time needed to check the spelling of a single word is minuscule, faster than the blink of an eye, so speed is really not all that important in a desktop application. Truth be told, it takes far longer for you to type a single letter of a word — even if you are a world-class typist — than it does for even the slowest spellcheck software to check the entire word. The performance of a spelling checker in a desktop application is not critical.

The situation in a server-based application, however, is quite different. When you multiply the time needed to check one word by 1000 — the number of words in a typical text submission made in a web application — things begin to add up. You may notice a small delay when an average spelling checker checks 1000 words. However, a small delay is not so bad.

What happens if 100 clients all want check spelling at the same time? Now, the small delay has been multiplied by 100, and it is no longer so small. Some of those clients may have to wait some time for their results. The time needed for your server to check their spelling is added to all the other round-trip delays incurred between submission and response. The result is increased user frustration.

Even clients who are not checking spelling may experience frustrating delays. Spell-checking is CPU bound, meaning all of the time required to check spelling is spent in the server's CPU. If one second is needed to process 100 spelling requests of 1000 words each, that is one second your server is unable to do anything else. Your server can't update a database, process logins, or even return HTML pages. One second may not seem like a lot of time, but if your server's CPU is already running close to 100%, the additional burden of checking spelling will certainly result in delays for your clients. If your web site runs on a single server, you may be forced to upgrade to a multi-server farm. If your site is already hosted on a farm, you may need to add another server and accept the hardware, software, support, maintenance, and infrastructure (power, air conditioning, and space) costs that entails.

It stands to reason, then, that efficiency and speed are important qualities of a server-based spelling checker. Wintertree Spelling Server delivers both. Wintertree Spelling Server is, quite simply, the fastest web-based spelling engine available. And we have the numbers to prove it.

How fast is Wintertree Spelling Server?

Calling yourself "rapid" or "fast" is one thing. Backing up the claim with easily reproducible performance measurements is another. We are so confident in Wintertree Spelling Server's speed that we include performance measuring applications — with full source code, so you can see how the results are measured — with the product. You can use these applications to reproduce our results, or you can try your own tests to see for yourself.

The test below was measured using the ASP and C# "Performance" examples included with Wintertree Spelling Server. The Performance examples submit text to Spelling Server for checking. They use operating-system functions to count the number of clock ticks that elapse while the text is being checked. Results from each run, including the elapsed time and number of misspelled words detected, are returned to the client for display. Each test can be run a number of times to average out artificial delays caused by background processes, etc. The average time from all runs is also calculated and displayed on the client. We ran the test on a 2.66 GHz Celeron(R) single-CPU system with 1GB of RAM, running Windows XP, IIS 5.0, and .NET 2.0 — a fairly average server platform. We obtained the text of Alice in Wonderland from Project Gutenberg. This document contains 26,538 words and about 144K characters. We pasted the document in the Performance example's text area, and checked its spelling 100 times, producing the following results:

  • ASP Performance test: Average: 0.05765625 seconds (57.6 ms) per run. 460,279 words per second.

  • C# Performance test: Average 51.1 ms per run. 511,575 words per second.

Looking at these results another way, Wintertree Spelling Server takes about 2 microseconds to check a single word. That's two millionths of a second. Spelling Server could check the spelling of all 564,224 words of War and Peace in about 1.25 seconds.

Chances are, your users are not submitting epic novels to your web application. However, whether you're checking the spelling of books, blogs, classified ads, e-mail, or recipes, Wintertree Spelling Server's speed and efficiency will keep your server free to do its job.

 

More information on Wintertree Spelling Server:

 


Home Site index Contact us Catalog Shopping Cart Products Support Search


Copyright © 2015 Wintertree Software Inc.