=pod

=head1 NAME

speed - test library performance

=head1 SYNOPSIS

B<openssl speed>
[B<-engine id>]
[B<md2>]
[B<mdc2>]
[B<md5>]
[B<hmac>]
[B<sha1>]
[B<rmd160>]
[B<idea-cbc>]
[B<rc2-cbc>]
[B<rc5-cbc>]
[B<bf-cbc>]
[B<des-cbc>]
[B<des-ede3>]
[B<rc4>]
[B<rsa512>]
[B<rsa1024>]
[B<rsa2048>]
[B<rsa4096>]
[B<dsa512>]
[B<dsa1024>]
[B<dsa2048>]
[B<idea>]
[B<rc2>]
[B<des>]
[B<rsa>]
[B<blowfish>]

=head1 DESCRIPTION

This command is used to test the performance of cryptographic algorithms.

=head1 OPTIONS

=over 4

=item B<-engine id>

specifying an engine (by its unique B<id> string) will cause B<speed>
to attempt to obtain a functional reference to the specified engine,
thus initialising it if needed. The engine will then be set as the default
for all available algorithms.

=item B<[zero or more test algorithms]>

If any options are given, B<speed> tests those algorithms, otherwise all of
the above are tested.

=back

=cut
