If you are talking about actually compressing the text not just shortening then Deflate/gzip (wrapper around gzip), zip work well for smaller files and text. Other algorithms are highly efficient for larger files like bzip2 etc.
WikipediaWikipedia has a list of compression times on this page: http://en.wikipedia.org/wiki/Comparison_of_file_archivers. (look for comparison of efficiency)
Name ↓ Text % ↓ | Text time (s) ↓ Binaries % ↓ | Binaries time (s) ↓ Raw images % ↓ | Raw images time (s) ↓
-----------+--------------+---------------+-------------
7-zip 19 | 19% in 18.8 8s | 27% 27in 59.6 6s | 5050% in 36.44s
bzip2 20 4.7 | 20% in 374.7s | 32.837% in 32.8s | 5151% in 20.00s
rar (2.01) | 2323% in 30.0 0s | 3636% in 275.4 4s | 5858% in 52.77s
advzip 24 | 24% in 21.1 1s | 37% 37in 70.6 6s | 5757& in 41.66s
gzip 25 4.2 | 25% in 394.2s | 39% in 23.1 1s | 60% 60in 5.44s
zip 25 4.3 | 25% in 394.3s | 39% in 23.3 3s | 60% 60in 5.7
lha7s