Actions
Feature #3478
closedExcruciatingly slow pathname implementation
Feature #3478:
Excruciatingly slow pathname implementation
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
Actions