I have been touch-typing (yes, all ten fingers--not just the two index fingers) since I was about 10 years old, and I must say that I can type rather quickly. But I have never actually measured my typing speed in terms of words-per-minute (WPM). So I decided to fire up a Linux console and find out once and for all.
The method I used is actually very simple.
- Type a bunch of words in the console
- Find out how many words I typed
- Find out how long it took me to type those words
- Use those two figures to compute my typing speed in words-per-minute
Here is what I did:
time cat | wc -w
The quick brown fox jumped over the lazy dog's head
[^D]
10
real 0m9.113s
user 0m0.008s
sys 0m0.000s
For those of you who are new to the Linux console, this is what is happening in the above chain of commands:
- The cat command captures whatever you type at the keyboard until you type Ctrl+D.
- This text is then "piped" to the wc (Word Count) command. The -w option tells wc to return the number of words in the text piped to it.
- The above mentioned commands are executed through the time command which measures how much time it took to execute those commands. What is of interest is the first line with the "real"time required to execute.
Computing the Words-per-Minute
The output of the chain of commands (also known as a "pipeline") tells us the two things we need to compute my typing speed: The number of words I typed and the time it took me to type them. Here's some simple math:
In 9.113 seconds I typed 10 words
So in 1 second I could type 10/9.113 words
So in 60 seconds (1 minute) I could type 60*10/9.113
Therefore my typing speed is 65.84 words per minute
Improving the Accuracy
You can only get a rough idea of your typing speed if you type in only 10 words. To get an accurate idea of your typing speed you should try entering a paragraph or two (or more) of text and using the above formula to compute the speed.
Characters-per-Minute
If you want to compute the number of characters you can type in a minute, you should use the wc command's -c switch instead of -w.