viiite 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/CHANGELOG.md +70 -0
  2. data/Gemfile +2 -9
  3. data/Gemfile.lock +11 -32
  4. data/README.md +42 -123
  5. data/examples/bench_attr_vs_method-1.8.7.jpeg +0 -0
  6. data/examples/bench_attr_vs_method-1.9.3.jpeg +0 -0
  7. data/examples/bench_attr_vs_method.rb +18 -0
  8. data/examples/bench_iteration.rb +2 -4
  9. data/examples/bench_sort.rb +2 -7
  10. data/lib/viiite.rb +40 -18
  11. data/lib/viiite/bdb.rb +28 -0
  12. data/lib/viiite/bdb/cached.rb +63 -0
  13. data/lib/viiite/bdb/immediate.rb +46 -0
  14. data/lib/viiite/bdb/utils.rb +16 -0
  15. data/lib/viiite/benchmark.rb +35 -0
  16. data/lib/viiite/benchmark/runner.rb +50 -0
  17. data/lib/viiite/command.rb +33 -2
  18. data/lib/viiite/command/commons.rb +22 -0
  19. data/lib/viiite/command/help.rb +4 -5
  20. data/lib/viiite/command/plot.rb +44 -44
  21. data/lib/viiite/command/plot/to_gnuplot.rb +65 -0
  22. data/lib/viiite/command/{graph_style.rash → plot/to_gnuplot_graph.rash} +0 -0
  23. data/lib/viiite/command/{serie_style.rash → plot/to_gnuplot_serie.rash} +0 -0
  24. data/lib/viiite/command/plot/to_highcharts.rb +38 -0
  25. data/lib/viiite/command/plot/to_highcharts_graph.rb +29 -0
  26. data/lib/viiite/command/plot/to_text.rb +30 -0
  27. data/lib/viiite/command/report.rb +32 -10
  28. data/lib/viiite/command/run.rb +30 -7
  29. data/lib/viiite/errors.rb +5 -0
  30. data/lib/viiite/loader.rb +2 -2
  31. data/lib/viiite/tms.rb +21 -31
  32. data/lib/viiite/version.rb +5 -5
  33. data/spec/fixtures/bdb/Array/bench_sort.rb +7 -0
  34. data/spec/fixtures/{bench_iteration.rb → bdb/bench_iteration.rb} +2 -4
  35. data/spec/fixtures/command/bench_iteration.rb +3 -0
  36. data/spec/fixtures/saved/Array/bench_sort.rash +12 -0
  37. data/spec/fixtures/saved/bench_iteration.rash +18 -0
  38. data/spec/integration/plot/plot_1.cmd +1 -0
  39. data/spec/integration/plot/plot_1.stdout +64 -0
  40. data/spec/integration/plot/plot_2.cmd +1 -0
  41. data/spec/integration/plot/plot_2.stdout +37 -0
  42. data/spec/integration/plot/plot_3.cmd +1 -0
  43. data/spec/integration/plot/plot_3.stdout +64 -0
  44. data/spec/integration/plot/plot_4.cmd +1 -0
  45. data/spec/integration/plot/plot_4.stdout +1 -0
  46. data/spec/integration/report/viiite_report_1.cmd +1 -1
  47. data/spec/integration/report/viiite_report_1.stdout +7 -7
  48. data/spec/integration/report/viiite_report_2.cmd +1 -1
  49. data/spec/integration/report/viiite_report_2.stdout +22 -10
  50. data/spec/integration/report/viiite_report_3.cmd +1 -1
  51. data/spec/integration/report/viiite_report_3.stdout +46 -18
  52. data/spec/integration/report/viiite_report_4.cmd +1 -1
  53. data/spec/integration/report/viiite_report_4.stdout +34 -22
  54. data/spec/integration/report/viiite_report_5.cmd +1 -0
  55. data/spec/integration/report/viiite_report_5.stdout +7 -0
  56. data/spec/integration/report/viiite_report_6.cmd +1 -0
  57. data/spec/integration/report/viiite_report_6.stdout +7 -0
  58. data/spec/integration/report/viiite_report_7.cmd +1 -0
  59. data/spec/integration/report/viiite_report_7.stdout +7 -0
  60. data/spec/integration/report/viiite_report_8.cmd +1 -0
  61. data/spec/integration/report/viiite_report_8.stdout +16 -0
  62. data/spec/integration/report/viiite_report_9.cmd +1 -0
  63. data/spec/integration/report/viiite_report_9.stdout +88 -0
  64. data/spec/integration/test_command.rb +19 -23
  65. data/spec/integration/viiite/viiite_help.stdout +6 -0
  66. data/spec/spec_helper.rb +11 -17
  67. data/spec/unit/bdb/cached/test_dataset.rb +68 -0
  68. data/spec/unit/bdb/immediate/test_benchmark.rb +31 -0
  69. data/spec/unit/bdb/immediate/test_dataset.rb +31 -0
  70. data/spec/unit/bdb/immediate/test_enumerable.rb +20 -0
  71. data/spec/unit/bdb/immediate/test_pattern.rb +25 -0
  72. data/spec/unit/bdb/test_new.rb +44 -0
  73. data/spec/unit/bdb/utils/test_bench_file.rb +24 -0
  74. data/spec/unit/bdb/utils/test_replace_extension.rb +21 -0
  75. data/spec/unit/benchmark/bench_add.rb +3 -0
  76. data/spec/unit/benchmark/test_new.rb +28 -0
  77. data/spec/unit/command/commons/existing.rash +1 -0
  78. data/spec/unit/command/commons/test_single_source.rb +64 -0
  79. data/spec/unit/{formatter/plot → command/plot/gnuplot_utils}/test_to_data.rb +4 -4
  80. data/spec/unit/{formatter/plot → command/plot/gnuplot_utils}/test_to_dataset.rb +5 -5
  81. data/spec/unit/{formatter/plot → command/plot/gnuplot_utils}/test_to_plot.rb +4 -4
  82. data/spec/unit/command/test_run.rb +25 -12
  83. data/spec/unit/{test_runner.rb → test_benchmark.rb} +30 -11
  84. data/spec/unit/test_viiite.rb +17 -4
  85. data/spec/unit/tms/test_attributes.rb +11 -0
  86. data/spec/unit/tms/test_coerce.rb +11 -23
  87. data/spec/unit/tms/test_conversions.rb +23 -0
  88. data/spec/unit/tms/test_operations.rb +22 -0
  89. data/tasks/clean.rake +1 -1
  90. data/tasks/debug_mail.rake +13 -13
  91. data/tasks/gem.rake +13 -13
  92. data/tasks/integration_test.rake +3 -3
  93. data/tasks/spec_test.rake +9 -9
  94. data/tasks/unit_test.rake +9 -10
  95. data/tasks/yard.rake +13 -13
  96. data/viiite.gemspec +26 -29
  97. data/viiite.noespec +4 -7
  98. metadata +335 -235
  99. data/examples/bench_sort.eps +0 -816
  100. data/examples/bench_sort.rash +0 -100
  101. data/examples/raw.rash +0 -6
  102. data/lib/viiite/formatter.rb +0 -5
  103. data/lib/viiite/formatter/plot.rb +0 -38
  104. data/lib/viiite/runner.rb +0 -59
  105. data/lib/viiite/viiite_file.rb +0 -20
  106. data/spec/integration/raw_data.rash +0 -6
  107. data/spec/unit/tms/test_divide.rb +0 -26
  108. data/spec/unit/tms/test_minus.rb +0 -26
  109. data/spec/unit/tms/test_plus.rb +0 -34
  110. data/spec/unit/tms/test_times.rb +0 -26
  111. data/spec/unit/tms/test_to_a.rb +0 -11
  112. data/spec/unit/tms/test_to_ruby_literal.rb +0 -11
  113. data/spec/unit/tms/test_to_s.rb +0 -11
@@ -1,100 +0,0 @@
1
- {:bench => :quicksort, :i => 1, :size => 100, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.000931978225708008)}
2
- {:bench => :bubblesort, :i => 1, :size => 100, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.02,0.0,0.0,0.0,0.0198590755462646)}
3
- {:bench => :quicksort, :i => 2, :size => 100, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.000818967819213867)}
4
- {:bench => :bubblesort, :i => 2, :size => 100, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.00999999999999998,0.0,0.0,0.0,0.0110490322113037)}
5
- {:bench => :quicksort, :i => 3, :size => 100, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.000854969024658203)}
6
- {:bench => :bubblesort, :i => 3, :size => 100, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.01,0.0,0.0,0.0,0.0112569332122803)}
7
- {:bench => :quicksort, :i => 4, :size => 100, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.000792026519775391)}
8
- {:bench => :bubblesort, :i => 4, :size => 100, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.02,0.0,0.0,0.0,0.0127270221710205)}
9
- {:bench => :quicksort, :i => 5, :size => 100, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.000833034515380859)}
10
- {:bench => :bubblesort, :i => 5, :size => 100, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.01,0.0,0.0,0.0,0.010761022567749)}
11
- {:bench => :quicksort, :i => 1, :size => 200, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00189709663391113)}
12
- {:bench => :bubblesort, :i => 1, :size => 200, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.06,0.0,0.0,0.0,0.051987886428833)}
13
- {:bench => :quicksort, :i => 2, :size => 200, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0019068717956543)}
14
- {:bench => :bubblesort, :i => 2, :size => 200, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.06,0.0,0.0,0.0,0.0540499687194824)}
15
- {:bench => :quicksort, :i => 3, :size => 200, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00184392929077148)}
16
- {:bench => :bubblesort, :i => 3, :size => 200, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.06,0.0,0.0,0.0,0.053170919418335)}
17
- {:bench => :quicksort, :i => 4, :size => 200, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00193214416503906)}
18
- {:bench => :bubblesort, :i => 4, :size => 200, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.06,0.0,0.0,0.0,0.0532131195068359)}
19
- {:bench => :quicksort, :i => 5, :size => 200, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00188493728637695)}
20
- {:bench => :bubblesort, :i => 5, :size => 200, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.04,0.0,0.0,0.0,0.0441248416900635)}
21
- {:bench => :quicksort, :i => 1, :size => 300, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.01,0.0,0.0,0.0,0.0118849277496338)}
22
- {:bench => :bubblesort, :i => 1, :size => 300, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.12,0.0,0.0,0.0,0.11739706993103)}
23
- {:bench => :quicksort, :i => 2, :size => 300, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0030369758605957)}
24
- {:bench => :bubblesort, :i => 2, :size => 300, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.12,0.0,0.0,0.0,0.120995044708252)}
25
- {:bench => :quicksort, :i => 3, :size => 300, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00286102294921875)}
26
- {:bench => :bubblesort, :i => 3, :size => 300, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.12,0.0,0.0,0.0,0.117074012756348)}
27
- {:bench => :quicksort, :i => 4, :size => 300, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00310397148132324)}
28
- {:bench => :bubblesort, :i => 4, :size => 300, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.11,0.0,0.0,0.0,0.112523078918457)}
29
- {:bench => :quicksort, :i => 5, :size => 300, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00554203987121582)}
30
- {:bench => :bubblesort, :i => 5, :size => 300, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.12,0.0,0.0,0.0,0.116988897323608)}
31
- {:bench => :quicksort, :i => 1, :size => 400, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.01,0.0,0.0,0.0,0.00453591346740723)}
32
- {:bench => :bubblesort, :i => 1, :size => 400, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.19,0.0,0.0,0.0,0.197253942489624)}
33
- {:bench => :quicksort, :i => 2, :size => 400, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.01,0.0,0.0,0.0,0.00448203086853027)}
34
- {:bench => :bubblesort, :i => 2, :size => 400, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.21,0.0,0.0,0.0,0.26711893081665)}
35
- {:bench => :quicksort, :i => 3, :size => 400, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.01,0.0,0.0,0.0,0.00516200065612793)}
36
- {:bench => :bubblesort, :i => 3, :size => 400, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.2,0.0,0.0,0.0,0.215794086456299)}
37
- {:bench => :quicksort, :i => 4, :size => 400, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00426316261291504)}
38
- {:bench => :bubblesort, :i => 4, :size => 400, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.21,0.0,0.0,0.0,0.210376024246216)}
39
- {:bench => :quicksort, :i => 5, :size => 400, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.01,0.0,0.0,0.0,0.00404000282287598)}
40
- {:bench => :bubblesort, :i => 5, :size => 400, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.2,0.0,0.0,0.0,0.198137998580933)}
41
- {:bench => :quicksort, :i => 1, :size => 500, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0100000000000002,0.0,0.0,0.0,0.0057070255279541)}
42
- {:bench => :bubblesort, :i => 1, :size => 500, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.31,0.0,0.0,0.0,0.315191030502319)}
43
- {:bench => :quicksort, :i => 2, :size => 500, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.00999999999999979,0.0,0.0,0.0,0.00527501106262207)}
44
- {:bench => :bubblesort, :i => 2, :size => 500, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.31,0.0,0.0,0.0,0.315762042999268)}
45
- {:bench => :quicksort, :i => 3, :size => 500, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0100000000000002,0.0,0.0,0.0,0.0150480270385742)}
46
- {:bench => :bubblesort, :i => 3, :size => 500, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.32,0.0,0.0,0.0,0.317266941070557)}
47
- {:bench => :quicksort, :i => 4, :size => 500, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0100000000000002,0.0,0.0,0.0,0.00540494918823242)}
48
- {:bench => :bubblesort, :i => 4, :size => 500, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.32,0.0,0.0,0.0,0.3280189037323)}
49
- {:bench => :quicksort, :i => 5, :size => 500, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0100000000000002,0.0,0.0,0.0,0.0057520866394043)}
50
- {:bench => :bubblesort, :i => 5, :size => 500, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.31,0.0,0.0,0.0,0.31823205947876)}
51
- {:ruby => "ruby 1.9.3dev", :size => 100, :i => 1, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0004265308380126953)}
52
- {:ruby => "ruby 1.9.3dev", :size => 100, :i => 1, :bench => :bubblesort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0036416053771972656)}
53
- {:ruby => "ruby 1.9.3dev", :size => 100, :i => 2, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0003561973571777344)}
54
- {:ruby => "ruby 1.9.3dev", :size => 100, :i => 2, :bench => :bubblesort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.003675222396850586)}
55
- {:ruby => "ruby 1.9.3dev", :size => 100, :i => 3, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0003838539123535156)}
56
- {:ruby => "ruby 1.9.3dev", :size => 100, :i => 3, :bench => :bubblesort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0036492347717285156)}
57
- {:ruby => "ruby 1.9.3dev", :size => 100, :i => 4, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00033593177795410156)}
58
- {:ruby => "ruby 1.9.3dev", :size => 100, :i => 4, :bench => :bubblesort, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.003430604934692383)}
59
- {:ruby => "ruby 1.9.3dev", :size => 100, :i => 5, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0003409385681152344)}
60
- {:ruby => "ruby 1.9.3dev", :size => 100, :i => 5, :bench => :bubblesort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0037250518798828125)}
61
- {:ruby => "ruby 1.9.3dev", :size => 200, :i => 1, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0049359798431396484)}
62
- {:ruby => "ruby 1.9.3dev", :size => 200, :i => 1, :bench => :bubblesort, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.01381993293762207)}
63
- {:ruby => "ruby 1.9.3dev", :size => 200, :i => 2, :bench => :quicksort, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.0007574558258056641)}
64
- {:ruby => "ruby 1.9.3dev", :size => 200, :i => 2, :bench => :bubblesort, :tms => Viiite::Tms(0.020000000000000018,0.0,0.0,0.0,0.019170284271240234)}
65
- {:ruby => "ruby 1.9.3dev", :size => 200, :i => 3, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.000804901123046875)}
66
- {:ruby => "ruby 1.9.3dev", :size => 200, :i => 3, :bench => :bubblesort, :tms => Viiite::Tms(0.019999999999999962,0.0,0.0,0.0,0.019022464752197266)}
67
- {:ruby => "ruby 1.9.3dev", :size => 200, :i => 4, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0008702278137207031)}
68
- {:ruby => "ruby 1.9.3dev", :size => 200, :i => 4, :bench => :bubblesort, :tms => Viiite::Tms(0.020000000000000018,0.0,0.0,0.0,0.02009725570678711)}
69
- {:ruby => "ruby 1.9.3dev", :size => 200, :i => 5, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0008249282836914062)}
70
- {:ruby => "ruby 1.9.3dev", :size => 200, :i => 5, :bench => :bubblesort, :tms => Viiite::Tms(0.020000000000000018,0.0,0.0,0.0,0.01993274688720703)}
71
- {:ruby => "ruby 1.9.3dev", :size => 300, :i => 1, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0012989044189453125)}
72
- {:ruby => "ruby 1.9.3dev", :size => 300, :i => 1, :bench => :bubblesort, :tms => Viiite::Tms(0.03999999999999998,0.0,0.0,0.0,0.03730130195617676)}
73
- {:ruby => "ruby 1.9.3dev", :size => 300, :i => 2, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0013666152954101562)}
74
- {:ruby => "ruby 1.9.3dev", :size => 300, :i => 2, :bench => :bubblesort, :tms => Viiite::Tms(0.030000000000000027,0.0,0.0,0.0,0.037523508071899414)}
75
- {:ruby => "ruby 1.9.3dev", :size => 300, :i => 3, :bench => :quicksort, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.0013306140899658203)}
76
- {:ruby => "ruby 1.9.3dev", :size => 300, :i => 3, :bench => :bubblesort, :tms => Viiite::Tms(0.039999999999999925,0.0,0.0,0.0,0.039438724517822266)}
77
- {:ruby => "ruby 1.9.3dev", :size => 300, :i => 4, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0012905597686767578)}
78
- {:ruby => "ruby 1.9.3dev", :size => 300, :i => 4, :bench => :bubblesort, :tms => Viiite::Tms(0.040000000000000036,0.0,0.0,0.0,0.035891056060791016)}
79
- {:ruby => "ruby 1.9.3dev", :size => 300, :i => 5, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0013623237609863281)}
80
- {:ruby => "ruby 1.9.3dev", :size => 300, :i => 5, :bench => :bubblesort, :tms => Viiite::Tms(0.040000000000000036,0.0,0.0,0.0,0.03461289405822754)}
81
- {:ruby => "ruby 1.9.3dev", :size => 400, :i => 1, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.001710653305053711)}
82
- {:ruby => "ruby 1.9.3dev", :size => 400, :i => 1, :bench => :bubblesort, :tms => Viiite::Tms(0.06999999999999995,0.0,0.0,0.0,0.06537675857543945)}
83
- {:ruby => "ruby 1.9.3dev", :size => 400, :i => 2, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0019588470458984375)}
84
- {:ruby => "ruby 1.9.3dev", :size => 400, :i => 2, :bench => :bubblesort, :tms => Viiite::Tms(0.06999999999999995,0.0,0.0,0.0,0.06493997573852539)}
85
- {:ruby => "ruby 1.9.3dev", :size => 400, :i => 3, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0017993450164794922)}
86
- {:ruby => "ruby 1.9.3dev", :size => 400, :i => 3, :bench => :bubblesort, :tms => Viiite::Tms(0.07000000000000006,0.0,0.0,0.0,0.06435179710388184)}
87
- {:ruby => "ruby 1.9.3dev", :size => 400, :i => 4, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0017900466918945312)}
88
- {:ruby => "ruby 1.9.3dev", :size => 400, :i => 4, :bench => :bubblesort, :tms => Viiite::Tms(0.06999999999999995,0.0,0.0,0.0,0.06733965873718262)}
89
- {:ruby => "ruby 1.9.3dev", :size => 400, :i => 5, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0017752647399902344)}
90
- {:ruby => "ruby 1.9.3dev", :size => 400, :i => 5, :bench => :bubblesort, :tms => Viiite::Tms(0.07000000000000006,0.0,0.0,0.0,0.06759476661682129)}
91
- {:ruby => "ruby 1.9.3dev", :size => 500, :i => 1, :bench => :quicksort, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.0022673606872558594)}
92
- {:ruby => "ruby 1.9.3dev", :size => 500, :i => 1, :bench => :bubblesort, :tms => Viiite::Tms(0.09999999999999987,0.0,0.0,0.0,0.10301375389099121)}
93
- {:ruby => "ruby 1.9.3dev", :size => 500, :i => 2, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.0025730133056640625)}
94
- {:ruby => "ruby 1.9.3dev", :size => 500, :i => 2, :bench => :bubblesort, :tms => Viiite::Tms(0.1100000000000001,0.0,0.0,0.0,0.10222816467285156)}
95
- {:ruby => "ruby 1.9.3dev", :size => 500, :i => 3, :bench => :quicksort, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.028038501739501953)}
96
- {:ruby => "ruby 1.9.3dev", :size => 500, :i => 3, :bench => :bubblesort, :tms => Viiite::Tms(0.10000000000000009,0.0,0.0,0.0,0.10360383987426758)}
97
- {:ruby => "ruby 1.9.3dev", :size => 500, :i => 4, :bench => :quicksort, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.002351999282836914)}
98
- {:ruby => "ruby 1.9.3dev", :size => 500, :i => 4, :bench => :bubblesort, :tms => Viiite::Tms(0.08999999999999986,0.0,0.0,0.0,0.10294198989868164)}
99
- {:ruby => "ruby 1.9.3dev", :size => 500, :i => 5, :bench => :quicksort, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.00250244140625)}
100
- {:ruby => "ruby 1.9.3dev", :size => 500, :i => 5, :bench => :bubblesort, :tms => Viiite::Tms(0.10000000000000009,0.0,0.0,0.0,0.09821605682373047)}
@@ -1,6 +0,0 @@
1
- {:ruby => "ruby 1.9.2p136", :bench => :for, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.007596015930175781)}
2
- {:ruby => "ruby 1.9.2p136", :bench => :times, :tms => Viiite::Tms(0.009999999999999953,0.0,0.0,0.0,0.0069234371185302734)}
3
- {:ruby => "ruby 1.9.2p136", :bench => :upto, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.007051944732666016)}
4
- {:ruby => "ruby 1.9.2p136", :bench => :for, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.0076732635498046875)}
5
- {:ruby => "ruby 1.9.2p136", :bench => :times, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00760650634765625)}
6
- {:ruby => "ruby 1.9.2p136", :bench => :upto, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.007064342498779297)}
@@ -1,5 +0,0 @@
1
- module Viiite
2
- class Formatter
3
- end # class Formatter
4
- end # module Viiite
5
- require 'viiite/formatter/plot'
@@ -1,38 +0,0 @@
1
- module Viiite
2
- class Formatter
3
- class Plot < Formatter
4
-
5
- def self.to_data(rel)
6
- [rel.collect{|t| t[:x]}, rel.collect{|t| t[:y]}]
7
- end
8
-
9
- def self.to_dataset(tuple)
10
- ds = Gnuplot::DataSet.new(to_data(tuple[:data]))
11
- tuple.each_pair do |k,v|
12
- next if k == :data
13
- if ds.respond_to?(:"#{k}=")
14
- ds.send(:"#{k}=", v)
15
- end
16
- end
17
- ds
18
- end
19
-
20
- def self.to_plot(graph)
21
- Gnuplot::Plot.new do |plot|
22
- graph.each_pair do |k,v|
23
- next if k == :series
24
- plot.set(k.id2name, v)
25
- end
26
- plot.data = graph[:series].collect{|d| to_dataset(d)}
27
- end
28
- end
29
-
30
- def self.to_plots(graphs, buffer = "")
31
- graphs.each do |tuple|
32
- buffer << to_plot(tuple).to_gplot << "\n"
33
- end
34
- end
35
-
36
- end # class Plot
37
- end # class Formatter
38
- end # module Viiite
@@ -1,59 +0,0 @@
1
- module Viiite
2
- class Runner
3
- include Alf::Iterator
4
-
5
- def initialize(defn)
6
- @defn = defn
7
- end
8
-
9
- ### DSL
10
-
11
- def with(hash)
12
- if block_given?
13
- @stack << @stack.last.merge(hash)
14
- res = yield
15
- @stack.pop
16
- res
17
- else
18
- @stack.last.merge!(hash)
19
- end
20
- end
21
-
22
- def range_over(range, name, &block)
23
- range.each do |value|
24
- with(name => value){ block.call(value) }
25
- end
26
- end
27
-
28
- def variation_point(name, value, &proc)
29
- h = {name => value}
30
- with(h, &proc)
31
- end
32
-
33
- def report(hash = {}, &block)
34
- hash = {:bench => hash} unless hash.is_a?(Hash)
35
- with(hash) {
36
- with(:tms => Viiite.measure{block.call}){ output }
37
- }
38
- end
39
-
40
- ### Alf contract
41
-
42
- def each(&reporter)
43
- self.dup._each(&reporter)
44
- end
45
-
46
- protected
47
-
48
- def _each(&reporter)
49
- @stack, @reporter = [ {} ], reporter
50
- self.instance_eval &@defn
51
- @stack, @reporter = nil, nil
52
- end
53
-
54
- def output
55
- @reporter.call @stack.last.dup
56
- end
57
-
58
- end # class Runner
59
- end # module Viiite
@@ -1,20 +0,0 @@
1
- def viiite_clean_binding
2
- binding
3
- end
4
-
5
- module Viiite
6
- class ViiiteFile < Alf::Reader
7
-
8
- # (see Alf::Reader#each)
9
- def each
10
- op = if input.is_a?(String)
11
- Kernel.eval(input_text, viiite_clean_binding, input)
12
- else
13
- Kernel.eval(input_text, viiite_clean_binding)
14
- end
15
- op.each(&Proc.new)
16
- end
17
-
18
- Alf::Reader.register(:viiite, [".viiite", ".rb"], self)
19
- end # class ViiiteFile
20
- end # module Viiite
@@ -1,6 +0,0 @@
1
- {:bench => :for, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.01,0.0,0.0,0.0,0.0111169815063477)}
2
- {:bench => :times, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.01,0.0,0.0,0.0,0.00408315658569336)}
3
- {:bench => :upto, :ruby => "ruby 1.8.7", :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.00950002670288086)}
4
- {:ruby => "ruby 1.9.2p136", :bench => :for, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.0076122283935546875)}
5
- {:ruby => "ruby 1.9.2p136", :bench => :times, :tms => Viiite::Tms(0.010000000000000009,0.0,0.0,0.0,0.006944417953491211)}
6
- {:ruby => "ruby 1.9.2p136", :bench => :upto, :tms => Viiite::Tms(0.0,0.0,0.0,0.0,0.003862142562866211)}
@@ -1,26 +0,0 @@
1
- require 'spec_helper'
2
- module Viiite
3
- describe Tms, "#divide" do
4
-
5
- subject{ tms / operand }
6
- let(:tms){ Viiite::Tms.new([1.0, 2.0, 3.0, 4.0, 5.0]) }
7
-
8
- describe "with an integer" do
9
- let(:operand){ 2 }
10
- specify{
11
- subject.should be_a(Tms)
12
- subject.to_a.should eq([0.5, 1.0, 1.5, 2.0, 2.5])
13
- }
14
- end
15
-
16
- describe "with another tms" do
17
- let(:operand){ tms }
18
- specify{
19
- subject.should be_a(Tms)
20
- subject.to_a.should eq([1.0, 1.0, 1.0, 1.0, 1.0])
21
- }
22
- end
23
-
24
- end
25
- end
26
-
@@ -1,26 +0,0 @@
1
- require 'spec_helper'
2
- module Viiite
3
- describe Tms, "#minus" do
4
-
5
- subject{ tms - operand }
6
- let(:tms){ Viiite::Tms.new([1.0, 2.0, 3.0, 4.0, 5.0]) }
7
-
8
- describe "with an integer" do
9
- let(:operand){ 1 }
10
- specify{
11
- subject.should be_a(Tms)
12
- subject.to_a.should eq([0.0, 1.0, 2.0, 3.0, 4.0])
13
- }
14
- end
15
-
16
- describe "with another tms" do
17
- let(:operand){ tms }
18
- specify{
19
- subject.should be_a(Tms)
20
- subject.to_a.should eq([0.0, 0.0, 0.0, 0.0, 0.0])
21
- }
22
- end
23
-
24
- end
25
- end
26
-
@@ -1,34 +0,0 @@
1
- require 'spec_helper'
2
- module Viiite
3
- describe Tms, "#plus" do
4
-
5
- subject{ tms + operand }
6
- let(:tms){ Viiite::Tms.new([1.0, 2.0, 3.0, 4.0, 5.0]) }
7
-
8
- describe "with an integer" do
9
- let(:operand){ 2 }
10
- specify{
11
- subject.should be_a(Tms)
12
- subject.to_a.should eq([3.0, 4.0, 5.0, 6.0, 7.0])
13
- }
14
- end
15
-
16
- describe "with another tms" do
17
- let(:operand){ tms }
18
- specify{
19
- subject.should be_a(Tms)
20
- subject.to_a.should eq([2.0, 4.0, 6.0, 8.0, 10.0])
21
- }
22
- end
23
-
24
- describe "the other way around" do
25
- subject{ 2 + tms }
26
- specify{
27
- subject.should be_a(Tms)
28
- subject.to_a.should eq([3.0, 4.0, 5.0, 6.0, 7.0])
29
- }
30
- end
31
-
32
- end
33
- end
34
-
@@ -1,26 +0,0 @@
1
- require 'spec_helper'
2
- module Viiite
3
- describe Tms, "#times" do
4
-
5
- subject{ tms * operand }
6
- let(:tms){ Viiite::Tms.new([1.0, 2.0, 3.0, 4.0, 5.0]) }
7
-
8
- describe "with an integer" do
9
- let(:operand){ 2 }
10
- specify{
11
- subject.should be_a(Tms)
12
- subject.to_a.should eq([2.0, 4.0, 6.0, 8.0, 10.0])
13
- }
14
- end
15
-
16
- describe "with another tms" do
17
- let(:operand){ tms }
18
- specify{
19
- subject.should be_a(Tms)
20
- subject.to_a.should eq([1.0, 4.0, 9.0, 16.0, 25.0])
21
- }
22
- end
23
-
24
- end
25
- end
26
-
@@ -1,11 +0,0 @@
1
- require 'spec_helper'
2
- module Viiite
3
- describe Tms, "#to_a" do
4
-
5
- subject{ tms.to_a }
6
- let(:tms){ Tms.coerce([1.0, 2.0, 3.0, 4.0, 5.0]) }
7
-
8
- it{ should eq([1.0, 2.0, 3.0, 4.0, 5.0]) }
9
-
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- require 'spec_helper'
2
- module Viiite
3
- describe Tms, "#to_ruby_literal" do
4
-
5
- it "should be such that eval leads the same value" do
6
- tms = Viiite::Tms.new([1.0, 2.0, 3.0, 4.0, 5.0])
7
- eval(tms.to_ruby_literal).should eql(tms)
8
- end
9
-
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- require 'spec_helper'
2
- module Viiite
3
- describe Tms, "#to_s" do
4
-
5
- subject{ tms.to_s }
6
- let(:tms){ Tms.coerce([1.0, 2.0, 3.0, 4.0, 5.0]) }
7
-
8
- it{ should eq(" 1.000000 2.000000 10.000000 ( 5.000000)") }
9
-
10
- end
11
- end