sys.setdefaultencoding() should only be called in case the standard
default encoding ("ascii") is changed. This safes quite a few cycles
during startup since the first call to .setdefaultencoding() will
initialize the codec registry and the encodings package.

See python-dev for a discussion (Subject: "[Python-Dev] [comp.lang.python] sys.setdefaultencoding (2.0b1)").
diff --git a/Lib/site.py b/Lib/site.py
index 1c25f50..a9f5480 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -175,7 +175,7 @@
 # default is 'ascii', but if you're willing to experiment, you can
 # change this.
 
-encoding = "ascii" # default
+encoding = "ascii" # Default value set by _PyUnicode_Init()
 
 if 0:
     # Enable to support locale aware default string encodings.
@@ -189,7 +189,8 @@
     # Unicode to string conversion.
     encoding = "undefined"
 
-sys.setdefaultencoding(encoding)
+if encoding != "ascii":
+    sys.setdefaultencoding(encoding)
 
 #
 # Run custom site specific code, if available.