pipeline_perf.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. suite('lunr.Pipeline', function () {
  2. var tokenToToken = function(token) {
  3. return token
  4. }
  5. var tokenToTokenArray = function(token) {
  6. return [token, token]
  7. }
  8. var buildTokens = function(count) {
  9. return words.slice(0, count).map(function(word) {
  10. return new lunr.Token(word)
  11. })
  12. }
  13. lunr.Pipeline.registerFunction(tokenToToken, 'tokenToToken')
  14. lunr.Pipeline.registerFunction(tokenToTokenArray, 'tokenToTokenArray')
  15. var fewTokens = buildTokens(50);
  16. var manyTokens = buildTokens(1000)
  17. var tokenToTokenPipeline = new lunr.Pipeline
  18. tokenToTokenPipeline.add(tokenToToken)
  19. var tokenToTokenArrayPipeline = new lunr.Pipeline
  20. tokenToTokenArrayPipeline.add(tokenToTokenArray)
  21. this.add('few tokens, token -> token', function () {
  22. tokenToTokenPipeline.run(fewTokens)
  23. })
  24. this.add('many tokens, token -> token', function () {
  25. tokenToTokenPipeline.run(manyTokens)
  26. })
  27. this.add('few tokens, token -> token array', function () {
  28. tokenToTokenArrayPipeline.run(fewTokens)
  29. })
  30. this.add('many tokens, token -> token array', function () {
  31. tokenToTokenArrayPipeline.run(manyTokens)
  32. })
  33. })