Commit Graph

774 Commits

Author SHA1 Message Date
Jashank Jeremy 68333cd221 Slight stylistic tweak to LSI initialisation.
Recommended-by: parkr
2013-01-11 20:02:31 +11:00
Jashank Jeremy 85f2dfffa6 faster_lsi: Massively accelerate LSI performance.
Currently, Classifier::LSI rebuilds the index every time an entry is
added.  This runs into massive performance overheads on my website;
theoretically, disabling automatic index rebuilds, and explicitly
rebuilding the LSI index at the end of the LSI repopulation should
speed things up nicely.

As a side note, here, I use pandoc-ruby to provide a more featureful
Markdown transformer, so be mindful that the numbers I quote here have
artifically imposed I/O overheads.

With just the 76 posts I wrote this year (abysmal, I know), I come up
with the following figures:

    Without faster_lsi:
      jekyll --lsi  16.91s user 0.88s system 97% cpu 18.302 total
    With faster_lsi:
      jekyll --lsi  2.72s user 0.77s system 88% cpu 3.940 total

With 109 posts, we begin to see even better improvements:

    Without faster_lsi:
      jekyll --lsi  51.00s user 1.47s system 98% cpu 53.060 total
    With faster_lsi:
      jekyll --lsi  5.04s user 1.12s system 91% cpu 6.735 total

At this point, we begin to see I/O overheads being slower than LSI
when faster_lsi is active.  I call that fairly conclusive.  But wait,
there's more.  I have 273 posts lying around... I wonder what happens
if I feed them all in.  With faster_lsi, it was nice and clippy.
Without it, I simply gave up, and went and refilled my cup of tea.
And it was still going.

    Without faster_lsi:
      jekyll --lsi  1277.86s user 10.90s system 99% cpu 21:30.29 total
    With faster_lsi:
      jekyll --lsi  34.62s user 4.43s system 96% cpu 40.430 total

That is, in anyone's books, a major improvement.  Note, however, that
I don't know just how well this will perform with `jekyll --auto`
because I don't know how it does the LSI rebuilds.  I _think_ (but
please, don't commit me on this) that the LSI is rebuilt every time
Jekyll picks up a file change.

So, all up, the performance improvement is massive, and scales
depending on how many files you have.  At the last point, the
improvement is just on 3200%.

A more optimal solution would be to cache the LSI index and/or content
data somehow.  I'll leave that to when faster_lsi takes over ten
minutes to run.
2012-10-31 22:19:59 +11:00
Tom Preston-Werner fa8400ab61 Merge pull request #574 from tombell/remove-rbx-travisci
Update travis-ci configuration file
2012-06-11 16:53:45 -07:00
Tom Bell 49a4be44cd Update travis-ci configuration file 2012-06-12 00:35:21 +01:00
Tom Preston-Werner ee402dd18a Merge branch 'switch-to-pygmentsrb' of https://github.com/tombell/jekyll into tombell-switch-to-pygmentsrb 2012-06-11 15:53:44 -07:00
Tom Preston-Werner 88428a8eb1 Merge pull request #568 from tombell/travis-ci
Add travis-ci configuration file
2012-06-11 15:52:58 -07:00
Tom Preston-Werner 202894c196 Merge branch 'custom-layout-directory' of https://github.com/tombell/jekyll into tombell-custom-layout-directory
Conflicts:
	lib/jekyll/site.rb
2012-06-11 15:40:22 -07:00
Tom Preston-Werner 47090ffd2a Fix up a few TomDocs. 2012-06-06 11:59:49 -07:00
Tom Preston-Werner 0e9e7fbc85 Simplify Site#read_layouts. 2012-06-06 11:59:49 -07:00
Tom Bell 58654176de No longer need pygments locally 2012-05-31 16:06:49 -04:00
Tom Bell b2a1d61c04 Swap out albino for pygments.rb 2012-05-31 15:51:34 -04:00
Tom Bell c71d7d5290 Add travis-ci configuration file
* Tests against: 1.9.3, 1.9.2, 1.8.7, rbx-18mode
* Fixes #387
2012-05-31 14:55:16 -04:00
Tom Bell df2ad2ac59 Allow a custom 'layouts' directory
* Add 'layouts' option to change the dir from '_layouts' to anything relative
  to the source directory
* Add cucumber scenario for testing an alternative directory '_theme'
* Closes #563
2012-05-30 21:39:43 -04:00
Luca Grulla 7d88f72409 avoiding to call site_payload one time per each post and page. Speed site creation up of a 20%. 2012-04-29 00:27:11 -07:00
Tom Preston-Werner 305695398c Update History. 2012-04-23 17:23:11 -07:00
Tom Preston-Werner 4533e60489 Merge branch 'master' of https://github.com/daneharrigan/jekyll into daneharrigan-master
Conflicts:
	lib/jekyll.rb
2012-04-23 16:48:18 -07:00
Tom Preston-Werner 8a0fbf02f5 Cleanup for RDiscount TOC support. Closes #333. 2012-04-23 16:15:55 -07:00
Michishige Kaito 6471ebf0ef Fixed helper inclusion in redcarpet test 2012-04-23 15:57:06 -07:00
Michishige Kaito fd5447a6e6 Added a test case for rdiscount toc rendering. 2012-04-23 15:56:46 -07:00
Michishige Kaito f5b2acf8cd Added support for inline TOCs with RDiscount 2012-04-23 15:56:28 -07:00
Tom Preston-Werner e29490c1c6 Allow setting of Kramdown smart_quotes. Fixes #482. 2012-04-23 15:34:54 -07:00
Dane Harrigan 316cc8559c moved paginate_path to default config 2012-02-26 20:58:14 -08:00
Tom Preston-Werner 4499df8033 Shorten plugin loading code and update history. 2012-01-29 12:49:57 -08:00
Tom Preston-Werner 02366ae5ff Merge branch 'PluginsAsArray' of https://github.com/simensen/jekyll into simensen-PluginsAsArray 2012-01-29 12:32:59 -08:00
Tom Preston-Werner 9d70088f01 Properly select dotfiles during directory scan.
Fixes #363.
Fixes #431.
Fixes #377.
2012-01-23 00:21:08 -08:00
Beau Simensen e6d89c6a0f More testing, whitespace and comment cleanup. 2012-01-22 22:17:25 -08:00
Beau Simensen dcf546275b Tweaked plugin directory handling, tests. 2012-01-22 22:10:12 -08:00
Tom Preston-Werner e27e2554d9 Merge pull request #472 from nfm/patch-1
Update Posterous migrator to take an api_token
2012-01-22 16:27:32 -08:00
Tom Preston-Werner 2da64d9c44 Update history. 2012-01-22 16:25:15 -08:00
Tom Preston-Werner 16a4855200 Merge branch 'post_url' of https://github.com/thatguystone/jekyll into thatguystone-post_url 2012-01-22 16:03:10 -08:00
Tom Preston-Werner c04a9549ea Make note of self.name requirement for Convertible. 2012-01-22 15:02:41 -08:00
Tom Preston-Werner ac41b459fc Merge pull request #446 from ossxp-com/patch-1
Invalid migrator for WordPress because of a typo.
2012-01-22 15:02:09 -08:00
Tom Preston-Werner 3c2519f07d Merge pull request #419 from vjt/master
Exception handler in Convertible references nonexisting method .name
2012-01-22 00:25:55 -08:00
Tom Preston-Werner 613a7a46a3 Merge pull request #460 from kendagriff/master
RSS Migrator
2012-01-22 00:20:33 -08:00
Tom Preston-Werner 8adfaea339 Merge pull request #426 from joshbrown/master
Added a Joomla migrator
2012-01-22 00:19:35 -08:00
Tom Preston-Werner 22159b3d61 Merge pull request #368 from jacius/wordpress
Greatly improved and extended the wordpress.rb migrator.
2012-01-22 00:18:33 -08:00
Tom Preston-Werner 1292c02ec0 Merge pull request #384 from voxpelli/drupal-alias-redirect
Added redirects for Drupal posts' URL-aliases
2012-01-21 20:04:40 -08:00
Tom Preston-Werner 6e921c5852 Merge pull request #383 from voxpelli/drupal-db-prefix
Added table prefix option to Drupal migration
2012-01-21 20:03:09 -08:00
Tom Preston-Werner 574e933d81 Merge branch 'master' of https://github.com/jpravetz/jekyll into jpravetz-master 2012-01-21 19:59:05 -08:00
Tom Preston-Werner d36a1064a7 Merge pull request #437 from stephenmcd/master
Improved Tumblr Support
2012-01-21 19:54:00 -08:00
Tom Preston-Werner 456a9f3574 Update history. 2012-01-21 19:49:41 -08:00
Tom Preston-Werner d00bc8e8fe Merge branch 'master' of https://github.com/tmtk75/jekyll into tmtk75-master 2012-01-21 19:49:08 -08:00
Tom Preston-Werner 8d48992f22 Merge pull request #447 from mking/master
Fix comment typo
2012-01-21 19:46:27 -08:00
Tom Preston-Werner c797d420c4 Merge branch 'patch-1' of https://github.com/hypertexthero/jekyll into hypertexthero-patch-1 2012-01-21 19:45:24 -08:00
Tom Preston-Werner 03ad973523 Update history. 2012-01-21 19:43:32 -08:00
Tom Preston-Werner 65890da3d1 Merge branch 'categories_with_space' of https://github.com/spk/jekyll into spk-categories_with_space 2012-01-21 19:36:09 -08:00
Nicholas Firth-McCoy 19fc8cb488 Oops, still need email and pass. Update usage comment 2012-01-18 11:08:02 +11:00
Nicholas Firth-McCoy c3b12457a0 Update Posterous migrator to take an api_token instead of email and pass
The Posterous API call for retrieving a user's API token (`/api/2/auth/token`) is no longer supported and returns 410 GONE. This patch updates the #process method to accept an API token instead of an email address and password. A user's API token can be retrieved from http://posterous.com/api.
2012-01-18 10:55:58 +11:00
Tom Preston-Werner fa6d013791 Update history. 2012-01-15 21:08:21 -08:00
Tom Preston-Werner d0d143452a Merge branch 'master' of https://github.com/laumann/jekyll 2012-01-15 20:39:55 -08:00