Project

General

Profile

Actions

Feature #3478

closed

Excruciatingly slow pathname implementation

Added by stouset (Stephen Touset) about 12 years ago. Updated about 11 years ago.

Status:
Closed
Priority:
Normal
Target version:

Description

=begin
In writing a pure-Ruby git implementation, I discovered with rprof that using Pathname was the source of a huge proportion of my library's running time. Recently, Rails contributor José Valim discovered a similar situation in Rails. Anecdotally, removing Pathname resulted in a speedup from 6s to 3s on a single request. Here's his commit removing some Pathname usage from Rails:

 http://github.com/rails/rails/commit/69abbe893413c99808c8cebd2f1d468c7921c573

I have rewritten Pathname, and the project is on GitHub.

 http://github.com/stouset/pathname3/

I've included the rewrite as a patch. It's backwards-compatible with the existing Pathname class, and passes RubySpec and MRI tests.
=end


Files

pathname.diff (42.2 KB) pathname.diff Patch to implement faster pathname. stouset (Stephen Touset), 06/25/2010 05:33 AM
Actions

Also available in: Atom PDF