Measuring Sprockets Sass rendering
CoffeeScript Ruby JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Sprockets is slow to render Sass in Rails that has a reasonable number of @imports. Trying to figure out why.

Here I have taken out my project's assets and set up the "render.rb" script to manually bootstrap Sass, Compass and Sprockets to compare:

  1. Direct Sass rendering (no Sprockets)
  2. Sprockets rendering without its own cache
  3. Monkeypatched Sprockets rendering (experimenting)

The results I'm getting are pretty consistent:

$ bundle exec ruby render.rb 

Rendering a changed stylesheet 20 times:
                        user     system      total        real
direct:             4.330000   0.260000   4.590000 (  4.572378)
sprockets:         11.250000   0.510000  11.760000 ( 11.751674)
sprockets hacked:   7.230000   0.300000   7.530000 (  7.510054)

Direct Sass is reasonably fast. Same stylesheet through Sprockets is twice as slow. Currently experimenting on optimizing it makes it closer to direct rendering, but not quite there yet.