処理速度を最適化すると、ほとんどのアプリケーションのパフォーマンスも向上します。しかし C ライブラリの中には、処理速度を最適化することができないものがあります。次にその例を挙げます。
整数算術ルーチン - 現在の SPARC V8 プロセッサでは、整数の乗算や除算の命令をサポートしています。しかし標準の C ライブラリルーチンがそれらの命令を使用すると、プログラムが SPARC V7 プロセッサ上で実行されている場合、カーネルエミュレーションの負荷のために処理速度が遅くなるか、また最悪の場合にはまったく実行できないことも予想されます。したがって、整数の乗算や除算の命令は標準の C ライブラリルーチンでは使用できません。
ダブルワードのメモリーアクセス - SPARC のダブルワードのロード命令やストア命令 (ldd および std) を使用すると、memmove() や bcopy() といったブロックのコピーや移動のルーチンの処理速度を飛躍的に上げることができます。しかし memmove() や bcopy() は、フレームバッファーのような 64 ビットアクセスをサポートしていないメモリーにマップされたデバイスには適していません。したがって、ldd や std は標準 C ライブラリルーチンでは使用できません。
メモリー割り当てアルゴリズム - C ライブラリルーチンの malloc() と free() は、処理速度や使用領域、およびコーディング時のエラーの起こしやすさなどを考慮した結果の妥協案として UNIX で実装されたものです。協調システム (buddy system) アルゴリズムに基づくメモリーアロケータは、標準ライブラリより処理速度が速いものがほとんどですが、そのかわりに使用する領域も増えてしまいがちです。