manveru-ramaze 2009.04.22 → 2009.05

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/CHANGELOG +199 -0
  2. data/MANIFEST +16 -7
  3. data/{README.markdown → README.md} +0 -14
  4. data/Rakefile +20 -20
  5. data/benchmark/bench_templates/bench.rb +67 -0
  6. data/benchmark/bench_templates/view/large.erb +79 -0
  7. data/benchmark/bench_templates/view/large.haml +41 -0
  8. data/benchmark/bench_templates/view/large.xhtml +79 -0
  9. data/benchmark/bench_templates/view/small.erb +21 -0
  10. data/benchmark/bench_templates/view/small.haml +12 -0
  11. data/benchmark/bench_templates/view/small.xhtml +21 -0
  12. data/benchmark/run.rb +14 -21
  13. data/benchmark/suite/minimal.rb +3 -5
  14. data/benchmark/suite/no_informer.rb +0 -2
  15. data/benchmark/suite/no_sessions.rb +3 -4
  16. data/benchmark/suite/no_template.rb +1 -3
  17. data/benchmark/suite/simple.rb +1 -3
  18. data/benchmark/suite/template_erubis.rb +0 -2
  19. data/benchmark/suite/template_etanni.rb +8 -0
  20. data/benchmark/suite/template_ezamar.rb +1 -3
  21. data/benchmark/suite/template_haml.rb +0 -2
  22. data/benchmark/suite/template_liquid.rb +0 -2
  23. data/benchmark/suite/template_markaby.rb +0 -2
  24. data/benchmark/suite/template_nagoro.rb +1 -3
  25. data/benchmark/suite/template_redcloth.rb +0 -2
  26. data/benchmark/suite/template_tenjin.rb +0 -2
  27. data/bin/ramaze +9 -248
  28. data/doc/AUTHORS +11 -7
  29. data/examples/app/chat/layout/{default.nag → default.xhtml} +0 -0
  30. data/examples/app/chat/view/{chat.nag → chat.xhtml} +0 -0
  31. data/examples/app/chat/view/{index.nag → index.xhtml} +0 -0
  32. data/examples/helpers/cache.rb +6 -4
  33. data/lib/proto/config.ru +1 -1
  34. data/lib/ramaze.rb +2 -3
  35. data/lib/ramaze/cache/sequel.rb +17 -5
  36. data/lib/ramaze/gestalt.rb +3 -0
  37. data/lib/ramaze/helper/cache.rb +19 -9
  38. data/lib/ramaze/helper/gestalt.rb +32 -0
  39. data/lib/ramaze/helper/paginate.rb +1 -0
  40. data/lib/ramaze/helper/ultraviolet.rb +2 -0
  41. data/lib/ramaze/log/rotatinginformer.rb +10 -10
  42. data/lib/ramaze/request.rb +1 -4
  43. data/lib/ramaze/tool/bin.rb +330 -0
  44. data/lib/ramaze/version.rb +1 -1
  45. data/lib/ramaze/view.rb +3 -13
  46. data/lib/ramaze/view/erubis.rb +2 -2
  47. data/lib/ramaze/view/ezamar.rb +2 -2
  48. data/lib/ramaze/view/gestalt.rb +14 -0
  49. data/lib/ramaze/view/haml.rb +1 -1
  50. data/lib/ramaze/view/liquid.rb +2 -2
  51. data/lib/ramaze/view/maruku.rb +2 -1
  52. data/lib/ramaze/view/sass.rb +1 -1
  53. data/lib/ramaze/view/tenjin.rb +7 -4
  54. data/lib/vendor/route_exceptions.rb +8 -9
  55. data/ramaze.gemspec +6 -3
  56. data/spec/examples/caching.rb +2 -4
  57. data/spec/examples/element.rb +1 -0
  58. data/spec/examples/templates/template_ezamar.rb +1 -0
  59. data/spec/examples/templates/template_nagoro.rb +1 -0
  60. data/spec/ramaze/error.rb +1 -1
  61. data/spec/ramaze/gestalt.rb +22 -16
  62. data/spec/ramaze/helper/cache.rb +29 -1
  63. data/spec/ramaze/helper/localize.rb +10 -8
  64. data/spec/ramaze/helper/sequel_form.rb +2 -0
  65. data/spec/ramaze/helper/user.rb +2 -2
  66. data/spec/ramaze/view/gestalt.rb +94 -0
  67. data/spec/ramaze/view/gestalt/external.ges +8 -0
  68. data/tasks/install_dependencies.rake +1 -1
  69. data/tasks/release.rake +5 -4
  70. data/tasks/setup.rake +3 -23
  71. metadata +29 -11
  72. data/benchmark/suite/template_builder.rb +0 -12
  73. data/examples/helpers/provide.rb +0 -23
  74. data/lib/ramaze/snippets/kernel/constant.rb +0 -41
data/CHANGELOG CHANGED
@@ -1,3 +1,202 @@
1
+ [6025293 | Wed May 06 15:36:58 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
2
+
3
+ * VERSION=xxx rake release:xxx
4
+
5
+ [025d2f0 | Wed May 06 15:33:00 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
6
+
7
+ * bring rakefile up to date
8
+
9
+ [645a7e9 | Wed May 06 15:31:47 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
10
+
11
+ * Finally move readme to README.md
12
+
13
+ [fe285e1 | Wed May 06 15:31:26 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
14
+
15
+ * Remove some useless stuff from the readme
16
+
17
+ [9622f31 | Wed May 06 15:21:25 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
18
+
19
+ * Last minute changes to tasks
20
+
21
+ [966fce3 | Wed May 06 12:38:55 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
22
+
23
+ * Remove Object#constant since it collides with facets
24
+
25
+ [1d9215a | Sun May 03 18:10:44 UTC 2009] Andreas Karlsson <andreas@proxel.se>
26
+
27
+ * Clean up benchmarking.
28
+
29
+ Clean up benchmarking a bit adding support for a mode switch,
30
+ which defaults to "live". Move "require 'ramaze'" to support
31
+ custom environments and killing the logging correctly.
32
+
33
+ Also fix bug where Ramaze.start was run in one of the files
34
+ in the suite, and finally remove the unused --no-sessions.
35
+
36
+ Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
37
+
38
+ [b8337e9 | Tue May 05 15:29:15 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
39
+
40
+ * Add some more non-serious fail
41
+
42
+ [be9d471 | Tue May 05 14:23:58 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
43
+
44
+ * Don't use Binding#eval
45
+
46
+ [b79699a | Tue May 05 06:13:37 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
47
+
48
+ * Add comment about the state of serialization in Sequel
49
+
50
+ [38a1f25 | Tue May 05 05:13:25 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
51
+
52
+ * Make the sequel cache and the spec of sequel_form compatible with sequel 3.0.0
53
+
54
+ [0a0553a | Mon May 04 16:39:29 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
55
+
56
+ * Chat examples uses Etanni, not Nagoro
57
+
58
+ [5778a31 | Sat May 02 21:04:38 UTC 2009] TJ Vanderpoel <bougy.man@gmail.com>
59
+
60
+ * refactored bin code to lib/ramaze/tool/bin
61
+
62
+ [b84b566 | Sun May 03 14:53:26 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
63
+
64
+ * Request::current is in Innate
65
+
66
+ [53108b8 | Sat May 02 13:29:18 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
67
+
68
+ * We don't rely on STATE anymore
69
+
70
+ [8d2e57b | Sat May 02 14:09:37 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
71
+
72
+ * Fix the benchmarks
73
+
74
+ [2d5dda3 | Fri May 01 10:22:13 UTC 2009] Andreas Karlsson <andreas@proxel.se>
75
+
76
+ * Use faster method for erubis templates.
77
+
78
+ The evaluate method uses instance_eval on a cached proc instead of using
79
+ eval like the erb compatible result method does.
80
+
81
+ Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
82
+
83
+ [cfd250c | Fri May 01 07:02:03 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
84
+
85
+ * Skip :install_dependencies until we figure out something better
86
+
87
+ [1829f38 | Fri May 01 07:00:39 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
88
+
89
+ * Seems like a regression in rack-test...
90
+
91
+ [09d6fa1 | Fri May 01 07:00:07 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
92
+
93
+ * Fix the errors spec, it should run in :dev mode since :live has no ShowExceptions anymore
94
+
95
+ [499c4ed | Fri May 01 06:55:57 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
96
+
97
+ * Make RouteExceptions a little bit less verbose
98
+
99
+ [a8c6383 | Fri May 01 06:55:35 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
100
+
101
+ * Give the other engines compile caching as well (where it makes sense)
102
+
103
+ [81380cf | Fri May 01 05:49:55 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
104
+
105
+ * Adapt gestalt spec to latest rack-test
106
+
107
+ [e784317 | Fri May 01 05:43:50 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
108
+
109
+ * Fix the helper/caching example
110
+
111
+ [93a741b | Thu Apr 30 09:06:35 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
112
+
113
+ * Use caching for Haml
114
+
115
+ [47a6dec | Thu Apr 30 09:06:17 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
116
+
117
+ * Integrate View better with Innate
118
+
119
+ [e86a143 | Thu Apr 30 07:57:51 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
120
+
121
+ * Split up Haml engine, prepare for caching
122
+
123
+ [b2747cc | Wed Apr 29 09:33:40 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
124
+
125
+ * Don't use ShowExceptinos in live mode
126
+
127
+ [552a4c3 | Tue Apr 28 17:52:34 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
128
+
129
+ * Fix RotatingInformer
130
+
131
+ [2e53d6e | Tue Apr 28 04:50:27 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
132
+
133
+ * Fix the release tasks
134
+
135
+ [e3c1418 | Tue Apr 28 04:49:49 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
136
+
137
+ * Give the paginator a count
138
+
139
+ [a395c1c | Mon Apr 27 03:33:16 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
140
+
141
+ * Ultraviolet needs traited
142
+
143
+ [a65aaad | Mon Apr 27 01:47:48 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
144
+
145
+ * Forward logging to Ramaze::Log by default
146
+
147
+ [d0536fa | Sun Apr 26 12:21:41 UTC 2009] Tadahiko Uehara <kikofx@gmail.com>
148
+
149
+ * Add support Gestalt as another template engine.
150
+
151
+
152
+ Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
153
+
154
+ [37b2928 | Sun Apr 26 11:51:52 UTC 2009] Tadahiko Uehara <kikofx@gmail.com>
155
+
156
+ * Add gestalt to take text and attributes as arguments.
157
+
158
+
159
+ Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
160
+
161
+ [42e96b1 | Sat Apr 25 15:19:31 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
162
+
163
+ * Version 2009.04
164
+
165
+ [8a0c6ac | Sat Apr 25 14:31:04 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
166
+
167
+ * Update dependencies
168
+
169
+ [1da636d | Thu Apr 23 07:14:51 UTC 2009] TJ Vanderpoel <bougy.man@gmail.com>
170
+
171
+ * Fixes for bin/ramaze on Win32
172
+
173
+ * Added #rackup_path for finding the location of
174
+ the rackup binary
175
+ * Added #is_windows? for a standard platform check
176
+ * Added new exec formats for Win32
177
+
178
+ Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
179
+
180
+ [b734de6 | Fri Apr 24 02:52:28 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
181
+
182
+ * Remove ancient example
183
+
184
+ [156f355 | Thu Apr 23 15:56:34 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
185
+
186
+ * Make all text in config.ru ASCII
187
+
188
+ [b8fff75 | Wed Apr 22 14:31:15 UTC 2009] Ryan Grove <ryan@wonko.com>
189
+
190
+ * Action cache now uses the full path (including params) as the cache key, preserves the Content-Type, and catches :respond
191
+
192
+ [410576f | Tue Apr 21 12:32:01 UTC 2009] Ryan Grove <ryan@wonko.com>
193
+
194
+ * Evaluate cache key blocks in the scope of the node instance for the current action
195
+
196
+ [41746b9 | Tue Apr 21 16:12:48 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
197
+
198
+ * Version 2009.04.22
199
+
1
200
  [711c5df | Tue Apr 21 16:11:37 UTC 2009] Michael Fellinger <m.fellinger@gmail.com>
2
201
 
3
202
  * strip some whitespace
data/MANIFEST CHANGED
@@ -1,8 +1,15 @@
1
1
  .mailmap
2
2
  CHANGELOG
3
3
  MANIFEST
4
- README.markdown
4
+ README.md
5
5
  Rakefile
6
+ benchmark/bench_templates/bench.rb
7
+ benchmark/bench_templates/view/large.erb
8
+ benchmark/bench_templates/view/large.haml
9
+ benchmark/bench_templates/view/large.xhtml
10
+ benchmark/bench_templates/view/small.erb
11
+ benchmark/bench_templates/view/small.haml
12
+ benchmark/bench_templates/view/small.xhtml
6
13
  benchmark/results.txt
7
14
  benchmark/run.rb
8
15
  benchmark/suite/minimal.rb
@@ -10,8 +17,8 @@ benchmark/suite/no_informer.rb
10
17
  benchmark/suite/no_sessions.rb
11
18
  benchmark/suite/no_template.rb
12
19
  benchmark/suite/simple.rb
13
- benchmark/suite/template_builder.rb
14
20
  benchmark/suite/template_erubis.rb
21
+ benchmark/suite/template_etanni.rb
15
22
  benchmark/suite/template_ezamar.rb
16
23
  benchmark/suite/template_haml.rb
17
24
  benchmark/suite/template_liquid.rb
@@ -69,15 +76,15 @@ examples/app/blog/view/feed.atom.nag
69
76
  examples/app/blog/view/feed.rss.nag
70
77
  examples/app/blog/view/index.nag
71
78
  examples/app/blog/view/tag/index.nag
72
- examples/app/chat/layout/default.nag
79
+ examples/app/chat/layout/default.xhtml
73
80
  examples/app/chat/model/history.rb
74
81
  examples/app/chat/model/message.rb
75
82
  examples/app/chat/public/css/chat.css
76
83
  examples/app/chat/public/js/chat.js
77
84
  examples/app/chat/public/js/jquery.js
78
85
  examples/app/chat/start.rb
79
- examples/app/chat/view/chat.nag
80
- examples/app/chat/view/index.nag
86
+ examples/app/chat/view/chat.xhtml
87
+ examples/app/chat/view/index.xhtml
81
88
  examples/app/localization/start.rb
82
89
  examples/app/sourceview/public/coderay.css
83
90
  examples/app/sourceview/public/images/file.gif
@@ -153,7 +160,6 @@ examples/helpers/httpdigest.rb
153
160
  examples/helpers/identity.rb
154
161
  examples/helpers/nitro_form.rb
155
162
  examples/helpers/paginate.rb
156
- examples/helpers/provide.rb
157
163
  examples/helpers/rest.rb
158
164
  examples/helpers/simple_captcha.rb
159
165
  examples/misc/css.rb
@@ -280,7 +286,6 @@ lib/ramaze/snippets/binding/locals.rb
280
286
  lib/ramaze/snippets/blankslate.rb
281
287
  lib/ramaze/snippets/divide.rb
282
288
  lib/ramaze/snippets/fiber.rb
283
- lib/ramaze/snippets/kernel/constant.rb
284
289
  lib/ramaze/snippets/kernel/pretty_inspect.rb
285
290
  lib/ramaze/snippets/metaid.rb
286
291
  lib/ramaze/snippets/numeric/filesize_format.rb
@@ -311,12 +316,14 @@ lib/ramaze/spec/helper/bacon.rb
311
316
  lib/ramaze/spec/helper/pretty_output.rb
312
317
  lib/ramaze/spec/helper/snippets.rb
313
318
  lib/ramaze/spec/helper/template_examples.rb
319
+ lib/ramaze/tool/bin.rb
314
320
  lib/ramaze/tool/create.rb
315
321
  lib/ramaze/tool/project_creator.rb
316
322
  lib/ramaze/version.rb
317
323
  lib/ramaze/view.rb
318
324
  lib/ramaze/view/erubis.rb
319
325
  lib/ramaze/view/ezamar.rb
326
+ lib/ramaze/view/gestalt.rb
320
327
  lib/ramaze/view/haml.rb
321
328
  lib/ramaze/view/liquid.rb
322
329
  lib/ramaze/view/maruku.rb
@@ -428,6 +435,8 @@ spec/ramaze/view/erubis/sum.rhtml
428
435
  spec/ramaze/view/ezamar.rb
429
436
  spec/ramaze/view/ezamar/external.zmr
430
437
  spec/ramaze/view/ezamar/sum.zmr
438
+ spec/ramaze/view/gestalt.rb
439
+ spec/ramaze/view/gestalt/external.ges
431
440
  spec/ramaze/view/haml.rb
432
441
  spec/ramaze/view/haml/external.haml
433
442
  spec/ramaze/view/haml/sum.haml
@@ -399,20 +399,6 @@ For help you can:
399
399
  - Join the Mailinglist at http://ramaze.rubyforge.org
400
400
 
401
401
 
402
- # Appendix
403
-
404
- * Performance
405
- * Serving
406
-
407
- For best performance you should consider using Mongrel to host your
408
- application.
409
-
410
- * Caching
411
-
412
- You can easily cache your pages using the CacheHelper.
413
- Also, using MemCache gives you high-end performance and security.
414
-
415
-
416
402
  # And thanks to...
417
403
 
418
404
  There is a large number of people who made Ramaze possibe by their ongoing
data/Rakefile CHANGED
@@ -11,11 +11,11 @@ PROJECT_SPECS = FileList[
11
11
  'lib/proto/spec/*.rb'
12
12
  ]
13
13
 
14
- PROJECT_MODULE = 'Ramaze'
14
+ PROJECT_MODULE = 'Ramaze'
15
15
  PROJECT_JQUERY_FILE = 'lib/proto/public/js/jquery.js'
16
- PROJECT_README = 'README.markdown'
17
- PROJECT_RUBYFORGE_GROUP_ID = 3034
18
- PROJECT_COPYRIGHT = [
16
+ PROJECT_README = 'README.md'
17
+ PROJECT_VERSION = ENV['VERSION'] || Date.today.strftime('%Y.%m.%d')
18
+ PROJECT_COPYRIGHT = [
19
19
  "# Copyright (c) #{Time.now.year} Michael Fellinger m.fellinger@gmail.com",
20
20
  "# All files in this distribution are subject to the terms of the Ruby license."
21
21
  ]
@@ -31,30 +31,30 @@ GEMSPEC = Gem::Specification.new{|s|
31
31
  s.email = 'm.fellinger@gmail.com'
32
32
  s.homepage = 'http://github.com/manveru/org'
33
33
  s.platform = Gem::Platform::RUBY
34
- s.version = (ENV['PROJECT_VERSION'] || Date.today.strftime("%Y.%m.%d"))
34
+ s.version = PROJECT_VERSION
35
35
  s.files = `git ls-files`.split("\n").sort
36
36
  s.has_rdoc = true
37
37
  s.require_path = 'lib'
38
- s.bindir = "bin"
39
- s.executables = ["ramaze"]
38
+ s.bindir = "bin"
39
+ s.executables = ["ramaze"]
40
40
  s.rubyforge_project = "ramaze"
41
41
 
42
- # s.add_dependency('rack', '>= 0.9.9') # lies!
43
- # s.add_dependency('manveru-innate', '>= 2009.04')
42
+ s.add_dependency('innate', '~> 2009.05')
44
43
 
45
- # s.add_development_dependency('rack-test', '>=0.1.0')
46
- # s.add_development_dependency('json', '>=1.1.3')
47
- # s.add_development_dependency('erubis', '>=2.6.4')
44
+ # rip those out if they cause you trouble
45
+ # s.add_development_dependency('rack-test', '>=0.2.0')
46
+ # s.add_development_dependency('json', '>=1.1.3')
47
+ # s.add_development_dependency('erubis', '>=2.6.4')
48
48
  # s.add_development_dependency('ezamar')
49
- # s.add_development_dependency('haml', '~>2.0.9')
50
- # s.add_development_dependency('hpricot', '>=0.7')
51
- # s.add_development_dependency('liquid', '~>2.0.0')
52
- # s.add_development_dependency('memcache', '~>1.7.0')
49
+ # s.add_development_dependency('haml', '~>2.0.9')
50
+ # s.add_development_dependency('hpricot', '>=0.8.1')
51
+ # s.add_development_dependency('liquid', '~>2.0.0')
52
+ # s.add_development_dependency('memcache-client', '~>1.7.2')
53
53
  # s.add_development_dependency('nagoro')
54
- # s.add_development_dependency('Remarkably', '~>0.5.2')
55
- # s.add_development_dependency('sequel', '>=2.11.0')
56
- # s.add_development_dependency('tagz', '>=5.0.1')
57
- # s.add_development_dependency('tenjin', '~>0.6.1')
54
+ # s.add_development_dependency('Remarkably', '~>0.5.2')
55
+ # s.add_development_dependency('sequel', '= 3.0.0')
56
+ # s.add_development_dependency('tagz', '>=5.0.1')
57
+ # s.add_development_dependency('tenjin', '~>0.6.1')
58
58
 
59
59
  s.post_install_message = <<MESSAGE.strip
60
60
  ============================================================
@@ -0,0 +1,67 @@
1
+ require 'ramaze'
2
+
3
+ class BenchCore < Ramaze::Controller
4
+ map '/'
5
+ end
6
+
7
+ Ramaze.start(:started => true)
8
+
9
+ Innate::Log.loggers.clear
10
+
11
+ require 'benchmark'
12
+
13
+ Benchmark.bmbm(20) do |b|
14
+ n = 500
15
+ urls = ['/small', '/large']
16
+ engines = %w[Etanni Haml ERB]
17
+
18
+ urls.each do |url|
19
+ engines.each do |engine|
20
+ b.report("Unached %10s %p:" % [engine, url]) do
21
+ BenchCore.provide(:html, :engine => engine)
22
+ Innate::View.options.cache = false
23
+ n.times{ Innate::Mock.get(url) }
24
+ end
25
+
26
+ b.report("Cached %11s %p:" % [engine, url]) do
27
+ BenchCore.provide(:html, :engine => engine)
28
+ Innate::Cache.view.clear
29
+ Innate::View.options.cache = true
30
+ n.times{ Innate::Mock.get(url) }
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ __END__
37
+ This benchmark is from Sat May 2 14:58:14 JST 2009
38
+ n = 500
39
+
40
+ Rehearsal ----------------------------------------------------------------
41
+ Unached Etanni "/small": 6.560000 0.490000 7.050000 ( 7.138829)
42
+ Cached Etanni "/small": 6.370000 0.420000 6.790000 ( 6.859946)
43
+ Unached Haml "/small": 8.680000 0.600000 9.280000 ( 9.379500)
44
+ Cached Haml "/small": 6.830000 0.370000 7.200000 ( 7.239311)
45
+ Unached ERB "/small": 8.980000 0.540000 9.520000 ( 9.585725)
46
+ Cached ERB "/small": 6.470000 0.450000 6.920000 ( 6.961339)
47
+ Unached Etanni "/large": 7.800000 0.490000 8.290000 ( 8.338521)
48
+ Cached Etanni "/large": 7.480000 0.400000 7.880000 ( 7.927069)
49
+ Unached Haml "/large": 11.970000 0.620000 12.590000 ( 12.645620)
50
+ Cached Haml "/large": 6.760000 0.490000 7.250000 ( 7.296633)
51
+ Unached ERB "/large": 20.700000 1.000000 21.700000 ( 21.752810)
52
+ Cached ERB "/large": 7.590000 0.430000 8.020000 ( 8.079993)
53
+ ----------------------------------------------------- total: 112.490000sec
54
+
55
+ user system total real
56
+ Unached Etanni "/small": 6.450000 0.420000 6.870000 ( 6.869656)
57
+ Cached Etanni "/small": 6.280000 0.420000 6.700000 ( 6.702520)
58
+ Unached Haml "/small": 8.810000 0.510000 9.320000 ( 9.343563)
59
+ Cached Haml "/small": 6.670000 0.450000 7.120000 ( 7.125798)
60
+ Unached ERB "/small": 8.890000 0.540000 9.430000 ( 9.450362)
61
+ Cached ERB "/small": 6.530000 0.400000 6.930000 ( 6.942688)
62
+ Unached Etanni "/large": 7.830000 0.500000 8.330000 ( 8.348678)
63
+ Cached Etanni "/large": 7.320000 0.470000 7.790000 ( 7.798482)
64
+ Unached Haml "/large": 11.880000 0.630000 12.510000 ( 12.531796)
65
+ Cached Haml "/large": 6.870000 0.410000 7.280000 ( 7.298600)
66
+ Unached ERB "/large": 20.570000 0.930000 21.500000 ( 21.523399)
67
+ Cached ERB "/large": 7.560000 0.430000 7.990000 ( 7.999896)
@@ -0,0 +1,79 @@
1
+ <html>
2
+ <head>
3
+ <title>
4
+ <% if @title %>
5
+ <%= @title %>
6
+ <% end %>
7
+ </title>
8
+ </head>
9
+ <body>
10
+ <h1>
11
+ <% if @h1 %>
12
+ <%= @h1 %>
13
+ <% end %>
14
+ </h1>
15
+ <div>
16
+ <% if @v1 %>
17
+ <% if @v2 %>
18
+ <% if @v3 %>
19
+ <% if @v4 %>
20
+ <% if @v5 %>
21
+ <% if @v6 %>
22
+ <% if @v7 %>
23
+ <% if @v8 %>
24
+ <% if @v9 %>
25
+ <% if @v10 %>
26
+ <% if @v11 %>
27
+ <% if @v12 %>
28
+ <% if @v13 %>
29
+ <% if @v14 %>
30
+ <% if @v15 %>
31
+ <% if @v16 %>
32
+ <% if @v17 %>
33
+ <% if @v18 %>
34
+ <% if @v19 %>
35
+ <% if @v20 %>
36
+ <% if @v21 %>
37
+ <% if @v22 %>
38
+ <% if @v23 %>
39
+ <% if @v24 %>
40
+ <% if @v25 %>
41
+ <% if @v26 %>
42
+ <% if @v27 %>
43
+ <% if @v28 %>
44
+ <% if @v29 %>
45
+ <% if @v30 %>
46
+ <%= stuff %>
47
+ <% end %>
48
+ <% end %>
49
+ <% end %>
50
+ <% end %>
51
+ <% end %>
52
+ <% end %>
53
+ <% end %>
54
+ <% end %>
55
+ <% end %>
56
+ <% end %>
57
+ <% end %>
58
+ <% end %>
59
+ <% end %>
60
+ <% end %>
61
+ <% end %>
62
+ <% end %>
63
+ <% end %>
64
+ <% end %>
65
+ <% end %>
66
+ <% end %>
67
+ <% end %>
68
+ <% end %>
69
+ <% end %>
70
+ <% end %>
71
+ <% end %>
72
+ <% end %>
73
+ <% end %>
74
+ <% end %>
75
+ <% end %>
76
+ <% end %>
77
+ </div>
78
+ </body>
79
+ </html>