diff --git a/lib/express/view.js b/lib/express/view.js
index <HASH>..<HASH> 100644
--- a/lib/express/view.js
+++ b/lib/express/view.js
@@ -34,6 +34,14 @@ var cache = {};
 var viewCache = {};
 
 /**
+ * Cache view path derived names.
+ *
+ * @type Object
+ */
+
+var viewNameCache = {};
+
+/**
  * Synchronously cache view at the given `path`.
  *
  * @param {String} path
@@ -136,7 +144,9 @@ http.ServerResponse.prototype.partial = function(view, options, ext, locals){
   options.layout = false;
 
   // Deduce name from view path
-  var name = options.as || view.split('/').slice(-1)[0].split('.')[0];
+  var name = options.as
+    || viewNameCache[view]
+    || (viewNameCache[view] = view.split('/').slice(-1)[0].split('.')[0]);
 
   // Collection support
   var collection = options.collection;
Caching view path derived partial object names