Use string interning and caching to get speedups on the mac (Jack).
diff --git a/Python/import.c b/Python/import.c
index 446b499..f33e5d6 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -570,7 +570,17 @@
 		if ((int)strlen(buf) != len)
 			continue; /* v contains '\0' */
 #ifdef macintosh
-		if ( PyMac_FindResourceModule(name, buf) ) {
+#ifdef INTERN_STRINGS
+		/* 
+		** Speedup: each sys.path item is interned, and
+		** FindResourceModule remembers which items refer to
+		** folders (so we don't have to bother trying to look
+		** into them for resources). 
+		*/
+		PyString_InternInPlace(&PyList_GET_ITEM(path, i));
+		v = PyList_GET_ITEM(path, i);
+#endif
+		if ( PyMac_FindResourceModule((PyStringObject *)v, name, buf) ) {
 			static struct filedescr resfiledescr =
 				{"", "", PY_RESOURCE};
 			
@@ -579,6 +589,11 @@
 #endif
 		if (len > 0 && buf[len-1] != SEP)
 			buf[len++] = SEP;
+#ifdef macintosh
+		fdp = PyMac_FindModuleExtension(buf, &len, name);
+		if ( fdp )
+			fp = fopen(buf, fdp->mode);
+#else
 #ifdef IMPORT_8x3_NAMES
 		/* see if we are searching in directory dos_8x3 */
 		if (len > 7 && !strncmp(buf + len - 8, "dos_8x3", 7)){
@@ -604,6 +619,7 @@
 			if (fp != NULL)
 				break;
 		}
+#endif /* !macintosh */
 		if (fp != NULL)
 			break;
 	}