From c27da02b28457f86068631f87a37fd5775a59c3f Mon Sep 17 00:00:00 2001 From: Araslanov Evgeny Date: Sun, 26 Jan 2025 15:56:01 +0500 Subject: [PATCH 1/7] Added performance test --- .gitignore | 2 ++ case-study.md | 56 ++++++++++++++++++++++++++++++++++++ task-1-assert-performance.rb | 16 +++++++++++ task-1-test.rb | 36 +++++++++++++++++++++++ task-1.rb | 38 ++---------------------- 5 files changed, 112 insertions(+), 36 deletions(-) create mode 100644 .gitignore create mode 100644 case-study.md create mode 100644 task-1-assert-performance.rb create mode 100644 task-1-test.rb diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..cf9787f5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +data_large.txt +result.json \ No newline at end of file diff --git a/case-study.md b/case-study.md new file mode 100644 index 00000000..d41034d9 --- /dev/null +++ b/case-study.md @@ -0,0 +1,56 @@ +# Case-study оптимизации + +## Актуальная проблема +В нашем проекте возникла серьёзная проблема. + +Необходимо было обработать файл с данными, чуть больше ста мегабайт. + +У нас уже была программа на `ruby`, которая умела делать нужную обработку. + +Она успешно работала на файлах размером пару мегабайт, но для большого файла она работала слишком долго, и не было понятно, закончит ли она вообще работу за какое-то разумное время. + +Я решил исправить эту проблему, оптимизировав эту программу. + +## Формирование метрики +Для того, чтобы понимать, дают ли мои изменения положительный эффект на быстродействие программы я придумал использовать такую метрику: *тут ваша метрика* + +## Гарантия корректности работы оптимизированной программы +Программа поставлялась с тестом. Выполнение этого теста в фидбек-лупе позволяет не допустить изменения логики программы при оптимизации. + +## Feedback-Loop +Для того, чтобы иметь возможность быстро проверять гипотезы я выстроил эффективный `feedback-loop`, который позволил мне получать обратную связь по эффективности сделанных изменений за *время, которое у вас получилось* + +Вот как я построил `feedback_loop`: *как вы построили feedback_loop* + +## Вникаем в детали системы, чтобы найти главные точки роста +Для того, чтобы найти "точки роста" для оптимизации я воспользовался *инструментами, которыми вы воспользовались* + +Вот какие проблемы удалось найти и решить + +### Ваша находка №1 +- какой отчёт показал главную точку роста +- как вы решили её оптимизировать +- как изменилась метрика +- как изменился отчёт профилировщика - исправленная проблема перестала быть главной точкой роста? + +### Ваша находка №2 +- какой отчёт показал главную точку роста +- как вы решили её оптимизировать +- как изменилась метрика +- как изменился отчёт профилировщика - исправленная проблема перестала быть главной точкой роста? + +### Ваша находка №X +- какой отчёт показал главную точку роста +- как вы решили её оптимизировать +- как изменилась метрика +- как изменился отчёт профилировщика - исправленная проблема перестала быть главной точкой роста? + +## Результаты +В результате проделанной оптимизации наконец удалось обработать файл с данными. +Удалось улучшить метрику системы с *того, что у вас было в начале, до того, что получилось в конце* и уложиться в заданный бюджет. + +*Какими ещё результами можете поделиться* + +## Защита от регрессии производительности +Для защиты от потери достигнутого прогресса при дальнейших изменениях программы *о performance-тестах, которые вы написали* + diff --git a/task-1-assert-performance.rb b/task-1-assert-performance.rb new file mode 100644 index 00000000..b3985113 --- /dev/null +++ b/task-1-assert-performance.rb @@ -0,0 +1,16 @@ +# rspec task-1-assert-performance.rb + +require 'rspec-benchmark' +require_relative 'task-1' + +RSpec.configure do |config| + config.include RSpec::Benchmark::Matchers +end + +describe 'Performance' do + describe 'task-1#work' do + it 'works with large data under 30 sec' do + expect { work(file_name: "data_large.txt") }.to perform_under(30).sec + end + end +end diff --git a/task-1-test.rb b/task-1-test.rb new file mode 100644 index 00000000..236ef262 --- /dev/null +++ b/task-1-test.rb @@ -0,0 +1,36 @@ +# ruby task-1-test.rb + +require 'minitest/autorun' +require_relative 'task-1' + +class TestMe < Minitest::Test + def setup + File.write('result.json', '') + File.write('data.txt', +'user,0,Leida,Cira,0 +session,0,0,Safari 29,87,2016-10-23 +session,0,1,Firefox 12,118,2017-02-27 +session,0,2,Internet Explorer 28,31,2017-03-28 +session,0,3,Internet Explorer 28,109,2016-09-15 +session,0,4,Safari 39,104,2017-09-27 +session,0,5,Internet Explorer 35,6,2016-09-01 +user,1,Palmer,Katrina,65 +session,1,0,Safari 17,12,2016-10-21 +session,1,1,Firefox 32,3,2016-12-20 +session,1,2,Chrome 6,59,2016-11-11 +session,1,3,Internet Explorer 10,28,2017-04-29 +session,1,4,Chrome 13,116,2016-12-28 +user,2,Gregory,Santos,86 +session,2,0,Chrome 35,6,2018-09-21 +session,2,1,Safari 49,85,2017-05-22 +session,2,2,Firefox 47,17,2018-02-02 +session,2,3,Chrome 20,84,2016-11-25 +') + end + + def test_result + work(file_name: 'data.txt') + expected_result = '{"totalUsers":3,"uniqueBrowsersCount":14,"totalSessions":15,"allBrowsers":"CHROME 13,CHROME 20,CHROME 35,CHROME 6,FIREFOX 12,FIREFOX 32,FIREFOX 47,INTERNET EXPLORER 10,INTERNET EXPLORER 28,INTERNET EXPLORER 35,SAFARI 17,SAFARI 29,SAFARI 39,SAFARI 49","usersStats":{"Leida Cira":{"sessionsCount":6,"totalTime":"455 min.","longestSession":"118 min.","browsers":"FIREFOX 12, INTERNET EXPLORER 28, INTERNET EXPLORER 28, INTERNET EXPLORER 35, SAFARI 29, SAFARI 39","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-09-27","2017-03-28","2017-02-27","2016-10-23","2016-09-15","2016-09-01"]},"Palmer Katrina":{"sessionsCount":5,"totalTime":"218 min.","longestSession":"116 min.","browsers":"CHROME 13, CHROME 6, FIREFOX 32, INTERNET EXPLORER 10, SAFARI 17","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-04-29","2016-12-28","2016-12-20","2016-11-11","2016-10-21"]},"Gregory Santos":{"sessionsCount":4,"totalTime":"192 min.","longestSession":"85 min.","browsers":"CHROME 20, CHROME 35, FIREFOX 47, SAFARI 49","usedIE":false,"alwaysUsedChrome":false,"dates":["2018-09-21","2018-02-02","2017-05-22","2016-11-25"]}}}' + "\n" + assert_equal expected_result, File.read('result.json') + end +end \ No newline at end of file diff --git a/task-1.rb b/task-1.rb index 778672df..a8bbd905 100644 --- a/task-1.rb +++ b/task-1.rb @@ -3,8 +3,6 @@ require 'json' require 'pry' require 'date' -require 'minitest/autorun' - class User attr_reader :attributes, :sessions @@ -43,8 +41,8 @@ def collect_stats_from_users(report, users_objects, &block) end end -def work - file_lines = File.read('data.txt').split("\n") +def work(file_name:) + file_lines = File.read(file_name).split("\n") users = [] sessions = [] @@ -142,35 +140,3 @@ def work File.write('result.json', "#{report.to_json}\n") end - -class TestMe < Minitest::Test - def setup - File.write('result.json', '') - File.write('data.txt', -'user,0,Leida,Cira,0 -session,0,0,Safari 29,87,2016-10-23 -session,0,1,Firefox 12,118,2017-02-27 -session,0,2,Internet Explorer 28,31,2017-03-28 -session,0,3,Internet Explorer 28,109,2016-09-15 -session,0,4,Safari 39,104,2017-09-27 -session,0,5,Internet Explorer 35,6,2016-09-01 -user,1,Palmer,Katrina,65 -session,1,0,Safari 17,12,2016-10-21 -session,1,1,Firefox 32,3,2016-12-20 -session,1,2,Chrome 6,59,2016-11-11 -session,1,3,Internet Explorer 10,28,2017-04-29 -session,1,4,Chrome 13,116,2016-12-28 -user,2,Gregory,Santos,86 -session,2,0,Chrome 35,6,2018-09-21 -session,2,1,Safari 49,85,2017-05-22 -session,2,2,Firefox 47,17,2018-02-02 -session,2,3,Chrome 20,84,2016-11-25 -') - end - - def test_result - work - expected_result = '{"totalUsers":3,"uniqueBrowsersCount":14,"totalSessions":15,"allBrowsers":"CHROME 13,CHROME 20,CHROME 35,CHROME 6,FIREFOX 12,FIREFOX 32,FIREFOX 47,INTERNET EXPLORER 10,INTERNET EXPLORER 28,INTERNET EXPLORER 35,SAFARI 17,SAFARI 29,SAFARI 39,SAFARI 49","usersStats":{"Leida Cira":{"sessionsCount":6,"totalTime":"455 min.","longestSession":"118 min.","browsers":"FIREFOX 12, INTERNET EXPLORER 28, INTERNET EXPLORER 28, INTERNET EXPLORER 35, SAFARI 29, SAFARI 39","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-09-27","2017-03-28","2017-02-27","2016-10-23","2016-09-15","2016-09-01"]},"Palmer Katrina":{"sessionsCount":5,"totalTime":"218 min.","longestSession":"116 min.","browsers":"CHROME 13, CHROME 6, FIREFOX 32, INTERNET EXPLORER 10, SAFARI 17","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-04-29","2016-12-28","2016-12-20","2016-11-11","2016-10-21"]},"Gregory Santos":{"sessionsCount":4,"totalTime":"192 min.","longestSession":"85 min.","browsers":"CHROME 20, CHROME 35, FIREFOX 47, SAFARI 49","usedIE":false,"alwaysUsedChrome":false,"dates":["2018-09-21","2018-02-02","2017-05-22","2016-11-25"]}}}' + "\n" - assert_equal expected_result, File.read('result.json') - end -end From 0a9e95ba79df419a529150d32fdea8d2143a8328 Mon Sep 17 00:00:00 2001 From: Araslanov Evgeny Date: Sun, 26 Jan 2025 17:09:43 +0500 Subject: [PATCH 2/7] Optimization #1 - added select_sessions_for_users method --- .gitignore | 2 + case-study.md | 22 +- prof_reports/ruby_prof_callstack_after.html | 4504 ++++ prof_reports/ruby_prof_callstack_before.html | 4486 ++++ prof_reports/ruby_prof_graph_after.html | 21013 +++++++++++++++++ prof_reports/ruby_prof_graph_before.html | 20897 ++++++++++++++++ task-1-ruby-prof-callstack.rb | 14 + task-1-ruby-prof-graph.rb | 14 + task-1.rb | 32 +- 9 files changed, 50968 insertions(+), 16 deletions(-) create mode 100644 prof_reports/ruby_prof_callstack_after.html create mode 100644 prof_reports/ruby_prof_callstack_before.html create mode 100644 prof_reports/ruby_prof_graph_after.html create mode 100644 prof_reports/ruby_prof_graph_before.html create mode 100644 task-1-ruby-prof-callstack.rb create mode 100644 task-1-ruby-prof-graph.rb diff --git a/.gitignore b/.gitignore index cf9787f5..6411db61 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ +.DS_Store data_large.txt +data_prof.txt result.json \ No newline at end of file diff --git a/case-study.md b/case-study.md index d41034d9..e5dd3a58 100644 --- a/case-study.md +++ b/case-study.md @@ -12,32 +12,26 @@ Я решил исправить эту проблему, оптимизировав эту программу. ## Формирование метрики -Для того, чтобы понимать, дают ли мои изменения положительный эффект на быстродействие программы я придумал использовать такую метрику: *тут ваша метрика* +Для того, чтобы понимать, дают ли мои изменения положительный эффект на быстродействие программы я придумал использовать такую метрику: Время выполнения программы ## Гарантия корректности работы оптимизированной программы Программа поставлялась с тестом. Выполнение этого теста в фидбек-лупе позволяет не допустить изменения логики программы при оптимизации. ## Feedback-Loop -Для того, чтобы иметь возможность быстро проверять гипотезы я выстроил эффективный `feedback-loop`, который позволил мне получать обратную связь по эффективности сделанных изменений за *время, которое у вас получилось* +Для того, чтобы иметь возможность быстро проверять гипотезы я выстроил эффективный `feedback-loop`, который позволил мне получать обратную связь по эффективности сделанных изменений за 10-20 секунд. -Вот как я построил `feedback_loop`: *как вы построили feedback_loop* +Вот как я построил `feedback_loop`: Создавал файл с N строк, чтобы программа могла выполнятся 10-20 секунд ## Вникаем в детали системы, чтобы найти главные точки роста -Для того, чтобы найти "точки роста" для оптимизации я воспользовался *инструментами, которыми вы воспользовались* +Для того, чтобы найти "точки роста" для оптимизации я воспользовался RubyProf, с отчетами в видел Graph и CallStack Вот какие проблемы удалось найти и решить ### Ваша находка №1 -- какой отчёт показал главную точку роста -- как вы решили её оптимизировать -- как изменилась метрика -- как изменился отчёт профилировщика - исправленная проблема перестала быть главной точкой роста? - -### Ваша находка №2 -- какой отчёт показал главную точку роста -- как вы решили её оптимизировать -- как изменилась метрика -- как изменился отчёт профилировщика - исправленная проблема перестала быть главной точкой роста? +- CallStack показал что программа 94.55% времени тратит на Array#select. С помощью Graph стало понятно что много времени тратиться на поиск сессий пользователя. +- Для решения данной проблемы, перед тем как проходится по пользователям, нужно подготовить данные users_sessions в виде хэша, ключем будет id пользователя, а значение массив его сессий, тогда мы один раз пройдемся по sessions +- Время выполнения программы уменьшилось с ~20 секунд до ~1 секунды, при входных данных в 30000 строк. +- Отчет профилировщика стал указывать на другие проблемы, главная точкой роста изменилась. ### Ваша находка №X - какой отчёт показал главную точку роста diff --git a/prof_reports/ruby_prof_callstack_after.html b/prof_reports/ruby_prof_callstack_after.html new file mode 100644 index 00000000..3df7ad63 --- /dev/null +++ b/prof_reports/ruby_prof_callstack_after.html @@ -0,0 +1,4504 @@ + + + + + ruby-prof call tree + + + + + + + +
+
+ Call tree for application task-1-ruby-prof-callstack.rb
Generated on 2025-01-26 16:56:15 +0500 + with options {}
+
+
+ Threshold: + + + + + +
+ + + + +
+ Thread: 80, Fiber: 60 (100.00% ~ 1.0779466619715095) +
    + +
  • + +100.00% (100.00%) [global]# [1 calls, 1 total] +
      +
    • + +100.00% (100.00%) Object#work [1 calls, 1 total] +
        +
      • + +80.12% (80.12%) Array#each [3 calls, 37 total] +
          +
        • + +53.67% (66.99%) Array#all? [25408 calls, 30000 total] +
            +
          • + +31.12% (57.98%) BasicObject#!= [2538741 calls, 2538753 total] +
              +
            • + +10.48% (33.66%) String#== [2538741 calls, 2598742 total] +
            • +
            +
          • +
          +
        • +
        • + +16.50% (20.60%) Array#+ [34792 calls, 34792 total] +
        • +
        • + +3.85% (4.80%) Object#parse_session [25408 calls, 25408 total] +
            +
          • + +1.24% (32.24%) String#split [25408 calls, 60001 total] +
          • + +
          +
        • +
        • + +1.36% (1.70%) String#split [30000 calls, 60001 total] +
        • + + + + + +
        +
      • +
      • + +16.88% (16.88%) Object#collect_stats_from_users [7 calls, 7 total] +
          +
        • + +16.88% (100.00%) Array#each [7 calls, 37 total] +
            +
          • + +8.67% (51.36%) Array#map [50512 calls, 50514 total] +
              +
            • + +5.39% (62.20%) <Class::Date>#parse [25408 calls, 25408 total] +
                + + + + + + +
              +
            • + + + +
            +
          • + + + + + + + + + + + + + + + +
          +
        • +
        +
      • +
      • + +1.33% (1.33%) Object#select_sessions_for_users [1 calls, 1 total] +
          +
        • + +1.33% (99.99%) Array#each [1 calls, 37 total] +
            + + + +
          +
        • +
        +
      • + + + + + + + + + + + + + +
      +
    • +
    +
  • + +
+
+ +
+
+ + diff --git a/prof_reports/ruby_prof_callstack_before.html b/prof_reports/ruby_prof_callstack_before.html new file mode 100644 index 00000000..9b88306b --- /dev/null +++ b/prof_reports/ruby_prof_callstack_before.html @@ -0,0 +1,4486 @@ + + + + + ruby-prof call tree + + + + + + + +
+
+ Call tree for application task-1-ruby-prof-callstack.rb
Generated on 2025-01-26 16:23:16 +0500 + with options {}
+
+
+ Threshold: + + + + + +
+ + + + +
+ Thread: 80, Fiber: 60 (100.00% ~ 19.554544920101762) +
    + +
  • + +100.00% (100.00%) [global]# [1 calls, 1 total] +
      +
    • + +100.00% (100.00%) Object#work [1 calls, 1 total] +
        +
      • + +98.92% (98.92%) Array#each [3 calls, 36 total] +
          +
        • + +94.55% (95.58%) Array#select [4592 calls, 4594 total] +
            +
          • + +23.63% (24.99%) String#== [116673536 calls, 119272278 total] +
          • +
          +
        • +
        • + +2.87% (2.90%) Array#all? [25408 calls, 30000 total] +
            +
          • + +1.66% (58.07%) BasicObject#!= [2538741 calls, 2538753 total] +
              + +
            +
          • +
          +
        • + + + + + + + +
        +
      • + + + + + + + + + + + + + + +
      +
    • +
    +
  • + +
+
+ +
+
+ + diff --git a/prof_reports/ruby_prof_graph_after.html b/prof_reports/ruby_prof_graph_after.html new file mode 100644 index 00000000..a4fb54c9 --- /dev/null +++ b/prof_reports/ruby_prof_graph_after.html @@ -0,0 +1,21013 @@ + + + + + + +
+
+
+
Profile Report
+

Wall_time

+
+
+
Sunday, January 26 at 5:03:37 PM (+05)
+ +
+
+
+
+ + + + + + + + + + + + + +
Thread IDFiber IDTotal
80601.0928937452845275
+ + + +

Thread 80, Fiber: 60

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
%Total%SelfTotalSelfWaitChildCallsNameLine
100.00%0.00%1.090.000.001.091 + + [global]# + + 10
  1.090.000.001.091/1Object#work10 +
  1.090.000.001.091/1[global]#10
100.00%0.02%1.090.000.001.091 + + Object#work + + 53
  0.880.030.000.853/37Array#each66 +
  0.180.000.000.187/7Object#collect_stats_from_users127 +
  0.010.000.000.011/1Object#select_sessions_for_users115 +
  0.010.000.000.002/50514Array#map104 +
  0.000.000.000.001/60001String#split60 +
  0.000.000.000.001/1JSON::Ext::Generator::GeneratorMethods::Hash#to_json168 +
  0.000.000.000.001/9185Array#sort104 +
  0.000.000.000.0012/12ProgressBar::Base#increment61 +
  0.000.000.000.001/15IO#write168 +
  0.000.000.000.001/1<Class::IO>#read60 +
  0.000.000.000.001/1Array#uniq104 +
  0.000.000.000.001/1<Class::ProgressBar>#create57 +
  0.000.000.000.001/4593Array#join104 +
  0.000.000.000.003/4595Array#count90 +
  0.000.000.000.001/2598742String#==57 +
  0.000.000.000.001/41330Hash#[]=90 +
  0.000.000.000.002/37Enumerable#find
  0.000.000.000.0024/37<Class::ProgressBar::Format::Formatter>#process7
  0.010.010.000.011/37Enumerable#each_with_object
  0.180.040.000.147/37Object#collect_stats_from_users39
  0.880.030.000.853/37Object#work66
98.26%7.39%1.070.080.000.9937 + + Array#each + +
  0.580.240.000.3330000/30000Array#all?96 +
  0.190.190.000.0034792/34792Array#+68 +
  0.090.030.000.0650512/50514Array#map134 +
  0.040.020.000.0225408/25408Object#parse_session69 +
  0.010.010.000.0030000/60001String#split67 +
  0.010.010.000.00119696/119756Hash#[]119 +
  0.010.010.000.004592/4611Class#new119 +
  0.010.010.000.009184/9185Array#sort146 +
  0.010.010.000.0073472/73484String#+40 +
  0.010.010.000.0041328/41330Hash#[]=48 +
  0.010.000.000.004592/4592Array#any?152 +
  0.010.000.000.004592/4592Object#parse_user68 +
  0.000.000.000.0032144/32146Hash#merge128 +
  0.000.000.000.0060000/2598742String#==68 +
  0.000.000.000.0064288/64288User#attributes40 +
  0.000.000.000.0060000/205545Array#[]68 +
  0.000.000.000.0032144/32144User#sessions128 +
  0.000.000.000.004592/4593Array#join146 +
  0.000.000.000.0025408/25412Array#<<49 +
  0.000.000.000.009184/9184Integer#to_s134 +
  0.000.000.000.0048/48ProgressBar::Format::Molecule#lookup_value8 +
  0.000.000.000.004592/4592Array#sum134 +
  0.000.000.000.004592/4592Array#reverse164 +
  0.000.000.000.004592/4592Array#max140 +
  0.000.000.000.004592/4595Array#count128 +
  0.000.000.000.0048/25468String#gsub!8 +
  0.000.000.000.0048/48ProgressBar::Format::Molecule#full_key8 +
  0.000.000.000.008/20Kernel#respond_to?21 +
  0.000.000.000.008/54ProgressBar::Time#time21 +
  0.580.240.000.3330000/30000Array#each
52.67%22.05%0.580.240.000.3330000 + + Array#all? + +
  0.330.220.000.112538741/2538753BasicObject#!=96 +
  0.000.000.000.005952/19187String#=~158 +
  0.000.000.000.005952/69991String#upcase158 +
  0.000.000.000.0012/2538753ProgressBar::Calculators::Length#length_changed?22
  0.330.220.000.112538741/2538753Array#all?
30.48%20.13%0.330.220.000.112538753 + + BasicObject#!= + +
  0.110.110.000.002538741/2598742String#== +
  0.000.000.000.0011/119Integer#== +
  0.000.000.000.001/1BasicObject#== +
  0.190.190.000.0034792/34792Array#each
17.79%17.79%0.190.190.000.0034792 + + Array#+ + +
  0.180.000.000.187/7Object#work127
16.64%0.00%0.180.000.000.187 + + Object#collect_stats_from_users + + 38
  0.180.040.000.147/37Array#each39 +
  0.000.000.000.001/2598742Object#work57
  0.000.000.000.0060000/2598742Array#each
  0.110.110.000.002538741/2598742BasicObject#!=
10.68%10.68%0.120.120.000.002598742 + + String#== + +
  0.010.000.000.002/50514Object#work104
  0.090.030.000.0650512/50514Array#each
8.93%2.93%0.100.030.000.0750514 + + Array#map + +
  0.060.030.000.0325408/25408<Class::Date>#parse164 +
  0.000.000.000.0025408/25408Date#iso8601164 +
  0.000.000.000.0050816/69991String#upcase107 +
  0.000.000.000.0050816/50816String#to_i134 +
  0.060.030.000.0325408/25408Array#map
5.08%2.33%0.060.030.000.0325408 + + <Class::Date>#parse + +
  0.010.010.000.0050816/50816Regexp#match +
  0.010.010.000.0025408/25468String#gsub! +
  0.010.010.000.0025408/25408MatchData#begin +
  0.000.000.000.0025408/25408String#[]= +
  0.000.000.000.0025408/25408MatchData#end +
  0.000.000.000.0025408/25408Integer#div +
  0.040.020.000.0225408/25408Array#each
3.87%2.17%0.040.020.000.0225408 + + Object#parse_session + + 27
  0.010.010.000.0025408/60001String#split28 +
  0.010.010.000.00127040/205545Array#[]30 +
  0.000.000.000.004592/60001Object#parse_user18
  0.000.000.000.001/60001Object#work60
  0.010.010.000.0025408/60001Object#parse_session28
  0.010.010.000.0030000/60001Array#each
3.02%3.02%0.030.030.000.0060001 + + String#split + +
  0.010.000.000.011/1Object#work115
1.32%0.00%0.010.000.000.011 + + Object#select_sessions_for_users + + 46
  0.010.000.000.011/1Enumerable#each_with_object47 +
  0.010.000.000.011/1Object#select_sessions_for_users47
1.32%0.00%0.010.000.000.011 + + Enumerable#each_with_object + +
  0.010.010.000.011/37Array#each +
  0.010.010.000.0050816/50816<Class::Date>#parse
0.99%0.99%0.010.010.000.0050816 + + Regexp#match + +
  0.000.000.000.001/119756ProgressBar::Components::Percentage#initialize7
  0.000.000.000.001/119756ProgressBar::Throttle#initialize9
  0.000.000.000.002/119756<Class::ProgressBar::Output>#detect21
  0.000.000.000.002/119756ProgressBar::Calculators::Length#initialize9
  0.000.000.000.001/119756ProgressBar::Components::Title#initialize9
  0.000.000.000.003/119756ProgressBar::Components::Time#initialize22
  0.000.000.000.001/119756ProgressBar::Projectors::SmoothedAverage#initialize14
  0.000.000.000.003/119756ProgressBar::Components::Rate#initialize9
  0.000.000.000.002/119756ProgressBar::Timer#initialize9
  0.000.000.000.003/119756ProgressBar::Output#initialize11
  0.000.000.000.005/119756ProgressBar::Components::Bar#initialize18
  0.000.000.000.002/119756ProgressBar::Progress#start19
  0.000.000.000.002/119756ProgressBar::Projectors::SmoothedAverage#start21
  0.000.000.000.008/119756ProgressBar::Base#initialize46
  0.000.000.000.0012/119756ProgressBar::Output#refresh51
  0.000.000.000.0012/119756ProgressBar::Components::Bar#to_s28
  0.010.010.000.00119696/119756Array#each
0.98%0.98%0.010.010.000.00119756 + + Hash#[] + +
  0.000.000.000.001/9185Object#work104
  0.010.010.000.009184/9185Array#each
0.95%0.68%0.010.010.000.009185 + + Array#sort + +
  0.000.000.000.0051787/51787Date#<=> +
  0.000.000.000.001/4611ProgressBar::Throttle#initialize12
  0.000.000.000.002/4611ProgressBar::Timer#initialize9
  0.000.000.000.004/4611String#scan
  0.000.000.000.002/4611ProgressBar::Output#initialize13
  0.000.000.000.001/4611<Class::ProgressBar::Output>#detect24
  0.000.000.000.008/4611ProgressBar::Base#initialize52
  0.000.000.000.001/4611<Class::ProgressBar>#create10
  0.010.010.000.004592/4611Array#each
0.87%0.79%0.010.010.000.004611 + + *Class#new + +
  0.000.000.000.004592/4592User#initialize +
  0.000.000.000.001/1ProgressBar::Base#initialize +
  0.000.000.000.001/1ProgressBar::Projectors::SmoothedAverage#initialize +
  0.000.000.000.001/1ProgressBar::Output#initialize +
  0.000.000.000.004/4ProgressBar::Format::Molecule#initialize +
  0.000.000.000.001/1ProgressBar::Progress#initialize +
  0.000.000.000.001/1ProgressBar::Throttle#initialize +
  0.000.000.000.002/2ProgressBar::Timer#initialize +
  0.000.000.000.001/1ProgressBar::Components::Bar#initialize +
  0.000.000.000.001/1ProgressBar::Components::Rate#initialize +
  0.000.000.000.001/1ProgressBar::Calculators::Length#initialize +
  0.000.000.000.001/1ProgressBar::Components::Time#initialize +
  0.000.000.000.002/2ProgressBar::Time#initialize +
  0.000.000.000.001/1ProgressBar::Components::Title#initialize +
  0.000.000.000.001/1ProgressBar::Components::Percentage#initialize +
  0.000.000.000.0012/25468<Class::ProgressBar::Format::Formatter>#process11
  0.000.000.000.0048/25468Array#each
  0.010.010.000.0025408/25468<Class::Date>#parse
0.87%0.87%0.010.010.000.0025468 + + String#gsub! + +
  0.000.000.000.0028/205545ProgressBar::Projectors::SmoothedAverage#absolute67
  0.000.000.000.0013/205545ProgressBar::Projectors::SmoothedAverage#progress33
  0.000.000.000.0096/205545ProgressBar::Format::Molecule#lookup_value51
  0.000.000.000.0018368/205545Object#parse_user20
  0.000.000.000.0060000/205545Array#each
  0.010.010.000.00127040/205545Object#parse_session30
0.82%0.82%0.010.010.000.00205545 + + Array#[] + +
  0.000.000.000.0012/73484ProgressBar::Output#print_and_flush67
  0.010.010.000.0073472/73484Array#each
0.71%0.71%0.010.010.000.0073484 + + String#+ + +
  0.000.000.000.001/41330Object#work90
  0.000.000.000.001/41330ProgressBar::Base#initialize46
  0.010.010.000.0041328/41330Array#each
0.51%0.51%0.010.010.000.0041330 + + Hash#[]= + +
  0.010.000.000.004592/4592Array#each
0.51%0.23%0.010.000.000.004592 + + Array#any? + +
  0.000.000.000.0013223/19187String#=~152 +
  0.000.000.000.0013223/69991String#upcase152 +
  0.010.000.000.004592/4592Array#each
0.49%0.27%0.010.000.000.004592 + + Object#parse_user + + 17
  0.000.000.000.004592/60001String#split18 +
  0.000.000.000.0018368/205545Array#[]20 +
  0.010.010.000.0025408/25408<Class::Date>#parse
0.49%0.49%0.010.010.000.0025408 + + MatchData#begin + +
  0.000.000.000.005952/69991Array#all?
  0.000.000.000.0013223/69991Array#any?
  0.000.000.000.0050816/69991Array#map
0.43%0.43%0.000.000.000.0069991 + + String#upcase + +
  0.000.000.000.002/32146ProgressBar::Base#initialize71
  0.000.000.000.0032144/32146Array#each
0.38%0.38%0.000.000.000.0032146 + + Hash#merge + +
  0.000.000.000.0025408/25408Array#map
0.37%0.37%0.000.000.000.0025408 + + Date#iso8601 + +
  0.000.000.000.001/1Object#work168
0.29%0.29%0.000.000.000.001 + + JSON::Ext::Generator::GeneratorMethods::Hash#to_json + +
  0.000.000.000.001/1JSON::Ext::Generator::State#initialize +
  0.000.000.000.0064288/64288Array#each
0.29%0.29%0.000.000.000.0064288 + + User#attributes + +
  0.000.000.000.0012/19187ProgressBar::Calculators::Length#unix?94
  0.000.000.000.005952/19187Array#all?
  0.000.000.000.0013223/19187Array#any?
0.30%0.30%0.000.000.000.0019187 + + String#=~ + +
  0.000.000.000.0051787/51787Array#sort
0.26%0.26%0.000.000.000.0051787 + + Date#<=> + +
  0.000.000.000.0050816/50816Array#map
0.23%0.23%0.000.000.000.0050816 + + String#to_i + +
  0.000.000.000.001/13ProgressBar::Base#start89
  0.000.000.000.0012/13ProgressBar::Base#increment142
0.18%0.00%0.000.000.000.0013 + + ProgressBar::Base#update_progress + + 226
  0.000.000.000.0013/13ProgressBar::Output#with_refresh227 +
  0.000.000.000.0013/26ProgressBar::Base#output227 +
  0.000.000.000.0032144/32144Array#each
0.18%0.18%0.000.000.000.0032144 + + User#sessions + +
  0.000.000.000.0013/13ProgressBar::Base#update_progress227
0.18%0.01%0.000.000.000.0013 + + ProgressBar::Output#with_refresh + + 45
  0.000.000.000.0013/13ProgressBar::Output#refresh47 +
  0.000.000.000.0012/12ProgressBar::Projectors::SmoothedAverage#increment229 +
  0.000.000.000.0012/12ProgressBar::Progress#increment228 +
  0.000.000.000.0013/36ProgressBar::Base#finished?230 +
  0.000.000.000.001/2ProgressBar::Projectors::SmoothedAverage#start229 +
  0.000.000.000.001/1ProgressBar::Timer#stop230 +
  0.000.000.000.0013/50ProgressBar::Base#progressable228 +
  0.000.000.000.0013/14ProgressBar::Base#projector229 +
  0.000.000.000.001/2ProgressBar::Progress#start228 +
  0.000.000.000.001/28ProgressBar::Base#timer230 +
  0.000.000.000.0025408/25408<Class::Date>#parse
0.18%0.18%0.000.000.000.0025408 + + String#[]= + +
  0.000.000.000.0012/12Object#work61
0.16%0.00%0.000.000.000.0012 + + ProgressBar::Base#increment + + 141
  0.000.000.000.0012/13ProgressBar::Base#update_progress142 +
  0.000.000.000.0014/15IO#print
  0.000.000.000.001/15Object#work168
0.16%0.16%0.000.000.000.0015 + + IO#write + +
  0.000.000.000.001/4593Object#work104
  0.000.000.000.004592/4593Array#each
0.17%0.17%0.000.000.000.004593 + + Array#join + +
  0.000.000.000.0013/13ProgressBar::Output#with_refresh47
0.15%0.00%0.000.000.000.0013 + + ProgressBar::Output#refresh + + 50
  0.000.000.000.0013/13ProgressBar::Throttle#choke51 +
  0.000.000.000.0013/25ProgressBar::Base#stopped?51 +
  0.000.000.000.0013/13ProgressBar::Output#throttle51 +
  0.000.000.000.0013/37ProgressBar::Output#bar51 +
  0.000.000.000.0012/119756Hash#[]51 +
  0.000.000.000.004/25412String#scan
  0.000.000.000.0025408/25412Array#each
0.15%0.15%0.000.000.000.0025412 + + Array#<< + +
  0.000.000.000.0013/13ProgressBar::Output#refresh51
0.14%0.00%0.000.000.000.0013 + + ProgressBar::Throttle#choke + + 15
  0.000.000.000.0012/12ProgressBar::Output#print_and_flush54 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#length_changed?52 +
  0.000.000.000.0012/12ProgressBar::Timer#restart20 +
  0.000.000.000.0011/34ProgressBar::Timer#elapsed_seconds16 +
  0.000.000.000.001/1ProgressBar::Outputs::Tty#clear52 +
  0.000.000.000.0013/61ProgressBar::Timer#started?16 +
  0.000.000.000.0036/36ProgressBar::Throttle#timer16 +
  0.000.000.000.0012/21Hash#fetch16 +
  0.000.000.000.0011/11Float#>=16 +
  0.000.000.000.0012/25ProgressBar::Output#length_calculator52 +
  0.000.000.000.0013/27BasicObject#!16 +
  0.000.000.000.0011/11ProgressBar::Throttle#rate16 +
  0.000.000.000.0025408/25408<Class::Date>#parse
0.12%0.12%0.000.000.000.0025408 + + MatchData#end + +
  0.000.000.000.0025408/25408<Class::Date>#parse
0.10%0.10%0.000.000.000.0025408 + + Integer#div + +
  0.000.000.000.0012/12ProgressBar::Throttle#choke54
0.10%0.00%0.000.000.000.0012 + + ProgressBar::Output#print_and_flush + + 66
  0.000.000.000.0012/12ProgressBar::Outputs::Tty#bar_update_string67 +
  0.000.000.000.0012/14IO#print67 +
  0.000.000.000.0012/12ProgressBar::Outputs::Tty#eol67 +
  0.000.000.000.0024/27ProgressBar::Output#stream67 +
  0.000.000.000.0012/73484String#+67 +
  0.000.000.000.0012/12IO#flush68 +
  0.000.000.000.0012/12ProgressBar::Output#print_and_flush67
0.09%0.00%0.000.000.000.0012 + + ProgressBar::Outputs::Tty#bar_update_string + + 15
  0.000.000.000.0012/12ProgressBar::Base#to_s16 +
  0.000.000.000.0012/37ProgressBar::Output#bar16 +
  0.000.000.000.0012/12ProgressBar::Outputs::Tty#bar_update_string16
0.09%0.00%0.000.000.000.0012 + + ProgressBar::Base#to_s + + 169
  0.000.000.000.0012/12<Class::ProgressBar::Format::Formatter>#process172 +
  0.000.000.000.0012/12ProgressBar::Output#length172 +
  0.000.000.000.0012/26ProgressBar::Base#output172 +
  0.000.000.000.0012/12ProgressBar::Base#to_s172
0.09%0.00%0.000.000.000.0012 + + <Class::ProgressBar::Format::Formatter>#process + + 4
  0.000.000.000.0024/37Array#each7 +
  0.000.000.000.0012/12ProgressBar::Format::String#displayable_length13 +
  0.000.000.000.0012/12String#dup5 +
  0.000.000.000.0012/12ProgressBar::Format::String#non_bar_molecules7 +
  0.000.000.000.0012/12ProgressBar::Format::String#bar_molecule_placeholder_length13 +
  0.000.000.000.0012/25468String#gsub!11 +
  0.000.000.000.0012/13ProgressBar::Format::String#bar_molecules18 +
  0.000.000.000.0012/38Integer#-13 +
  0.000.000.000.0012/36Integer#+13 +
  0.000.000.000.0012/24Integer#<16 +
  0.000.000.000.009184/9184Array#each
0.07%0.07%0.000.000.000.009184 + + Integer#to_s + +
  0.000.000.000.001/1Object#work104
0.05%0.05%0.000.000.000.001 + + Array#uniq + +
  0.000.000.000.001/1Object#work60
0.06%0.06%0.000.000.000.001 + + <Class::IO>#read + +
  0.000.000.000.004592/4592Class#new
0.06%0.06%0.000.000.000.004592 + + User#initialize + + 11
  0.000.000.000.0048/48Array#each
0.06%0.01%0.000.000.000.0048 + + ProgressBar::Format::Molecule#lookup_value + + 50
  0.000.000.000.0012/12ProgressBar::Components::Time#estimated_with_friendly_oob56 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#complete_bar54 +
  0.000.000.000.0012/13ProgressBar::Components::Time#elapsed_with_label56 +
  0.000.000.000.0012/12ProgressBar::Components::Percentage#justified_percentage_with_precision56 +
  0.000.000.000.0048/56ProgressBar::Format::Molecule#bar_molecule?53 +
  0.000.000.000.0096/96ProgressBar::Format::Molecule#method_name51 +
  0.000.000.000.0096/205545Array#[]51 +
  0.000.000.000.0048/60String#to_s56 +
  0.000.000.000.0024/24ProgressBar::Base#time_component51 +
  0.000.000.000.0012/12ProgressBar::Base#bar_component51 +
  0.000.000.000.0012/12ProgressBar::Base#percentage_component51 +
  0.000.000.000.003/4595Object#work90
  0.000.000.000.004592/4595Array#each
0.02%0.02%0.000.000.000.004595 + + Array#count + +
  0.000.000.000.001/1Object#work57
0.03%0.00%0.000.000.000.001 + + <Class::ProgressBar>#create + + 9
  0.000.000.000.001/4611Class#new10 +
  0.000.000.000.001/1Class#new
0.03%0.00%0.000.000.000.001 + + ProgressBar::Base#initialize + + 45
  0.000.000.000.001/1ProgressBar::Base#start84 +
  0.000.000.000.008/4611Class#new52 +
  0.000.000.000.001/1<Class::ProgressBar::Output>#detect81 +
  0.000.000.000.001/1ProgressBar::Base#time_component=79 +
  0.000.000.000.001/1<Class::String>#new82 +
  0.000.000.000.001/1<Class::ProgressBar::Projector>#from_type66 +
  0.000.000.000.001/1ProgressBar::Base#percentage_component=77 +
  0.000.000.000.008/119756Hash#[]46 +
  0.000.000.000.002/21Hash#fetch48 +
  0.000.000.000.002/32146Hash#merge71 +
  0.000.000.000.001/1ProgressBar::Base#timer=52 +
  0.000.000.000.001/1ProgressBar::Base#title_component=75 +
  0.000.000.000.001/1Hash#any?53 +
  0.000.000.000.001/1ProgressBar::Base#autofinish=49 +
  0.000.000.000.001/1ProgressBar::Base#autostart=48 +
  0.000.000.000.001/41330Hash#[]=46 +
  0.000.000.000.001/1ProgressBar::Base#output=81 +
  0.000.000.000.001/1ProgressBar::Base#bar_component=76 +
  0.000.000.000.001/14ProgressBar::Base#projector71 +
  0.000.000.000.001/50ProgressBar::Base#progressable71 +
  0.000.000.000.001/1ProgressBar::Base#progressable=69 +
  0.000.000.000.001/1ProgressBar::Base#finished=50 +
  0.000.000.000.001/1ProgressBar::Base#projector=66 +
  0.000.000.000.001/1ProgressBar::Base#rate_component=78 +
  0.000.000.000.001/1ProgressBar::Outputs::Tty#resolve_format82 +
  0.000.000.000.001/26ProgressBar::Base#output82 +
  0.000.000.000.001/28ProgressBar::Base#timer71 +
  0.000.000.000.001/1ProgressBar::Base#autostart84 +
  0.000.000.000.004592/4592Array#each
0.03%0.03%0.000.000.000.004592 + + Array#sum + +
  0.000.000.000.004592/4592Array#each
0.03%0.03%0.000.000.000.004592 + + Array#reverse + +
  0.000.000.000.004592/4592Array#each
0.03%0.03%0.000.000.000.004592 + + Array#max + +
  0.000.000.000.0012/12ProgressBar::Output#with_refresh229
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Projectors::SmoothedAverage#increment + + 28
  0.000.000.000.0012/14ProgressBar::Projectors::SmoothedAverage#progress=29 +
  0.000.000.000.0012/13ProgressBar::Projectors::SmoothedAverage#progress29 +
  0.000.000.000.0012/36Integer#+29 +
  0.000.000.000.001/1ProgressBar::Base#initialize84
0.02%0.00%0.000.000.000.001 + + ProgressBar::Base#start + + 87
  0.000.000.000.001/13ProgressBar::Base#update_progress89 +
  0.000.000.000.001/13ProgressBar::Timer#start88 +
  0.000.000.000.001/28ProgressBar::Base#timer88 +
  0.000.000.000.0010/34ProgressBar::Components::Time#estimated_seconds_remaining97
  0.000.000.000.0013/34ProgressBar::Timer#elapsed_whole_seconds64
  0.000.000.000.0011/34ProgressBar::Throttle#choke16
0.01%0.00%0.000.000.000.0034 + + ProgressBar::Timer#elapsed_seconds + + 57
  0.000.000.000.0032/46ProgressBar::Time#now60 +
  0.000.000.000.0034/34Time#-60 +
  0.000.000.000.0034/61ProgressBar::Timer#started?58 +
  0.000.000.000.0034/105ProgressBar::Timer#started_at60 +
  0.000.000.000.0034/82ProgressBar::Timer#stopped_at60 +
  0.000.000.000.0032/46ProgressBar::Timer#time60 +
  0.000.000.000.0012/12ProgressBar::Throttle#choke52
0.02%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#length_changed? + + 18
  0.000.000.000.0012/12ProgressBar::Calculators::Length#calculate_length20 +
  0.000.000.000.0012/2538753BasicObject#!=22 +
  0.000.000.000.0024/37ProgressBar::Calculators::Length#current_length19 +
  0.000.000.000.0012/13ProgressBar::Calculators::Length#current_length=20 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#length_changed?20
0.02%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#calculate_length + + 25
  0.000.000.000.0012/12ProgressBar::Calculators::Length#terminal_width26 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#length_override26 +
  0.000.000.000.002/14ProgressBar::Outputs::Tty#clear11
  0.000.000.000.0012/14ProgressBar::Output#print_and_flush67
0.01%0.00%0.000.000.000.0014 + + IO#print + +
  0.000.000.000.0014/15IO#write +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#calculate_length26
0.02%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#terminal_width + + 43
  0.000.000.000.0012/12ProgressBar::Calculators::Length#dynamic_width46 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#unix?44 +
  0.000.000.000.0012/24Integer#<47 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#terminal_width46
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#dynamic_width + + 56
  0.000.000.000.0012/13IO#tty?57 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object58 +
  0.000.000.000.0012/20Kernel#respond_to?57 +
  0.000.000.000.0036/48ProgressBar::Calculators::Length#output57 +
  0.000.000.000.0012/12ProgressBar::Format::Molecule#lookup_value56
0.02%0.00%0.000.000.000.0012 + + ProgressBar::Components::Time#estimated_with_friendly_oob + + 43
  0.000.000.000.0012/12ProgressBar::Components::Time#estimated_with_elapsed_fallback44 +
  0.000.000.000.0012/12ProgressBar::Output#with_refresh228
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Progress#increment + + 31
  0.000.000.000.0012/14ProgressBar::Progress#progress=38 +
  0.000.000.000.0036/107ProgressBar::Progress#progress32 +
  0.000.000.000.0024/119Integer#==32 +
  0.000.000.000.0012/36Integer#+38 +
  0.000.000.000.0024/193ProgressBar::Progress#total32 +
  0.000.000.000.001/13ProgressBar::Components::Time#estimated_with_elapsed_fallback89
  0.000.000.000.0012/13ProgressBar::Format::Molecule#lookup_value56
0.01%0.00%0.000.000.000.0013 + + ProgressBar::Components::Time#elapsed_with_label + + 31
  0.000.000.000.0013/13ProgressBar::Components::Time#elapsed32 +
  0.000.000.000.0012/12ProgressBar::Format::Molecule#lookup_value54
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#complete_bar + + 41
  0.000.000.000.0012/12ProgressBar::Components::Bar#to_s44 +
  0.000.000.000.0012/13ProgressBar::Components::Bar#length=42 +
  0.000.000.000.0012/12ProgressBar::Components::Time#estimated_with_friendly_oob44
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Components::Time#estimated_with_elapsed_fallback + + 88
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated_with_label91 +
  0.000.000.000.001/13ProgressBar::Components::Time#elapsed_with_label89 +
  0.000.000.000.0012/48ProgressBar::Progress#finished?89 +
  0.000.000.000.0012/43ProgressBar::Components::Time#progress89 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#complete_bar44
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#to_s + + 25
  0.000.000.000.0012/12ProgressBar::Components::Bar#standard_complete_string29 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#incomplete_string29 +
  0.000.000.000.0012/23ProgressBar::Progress#unknown?26 +
  0.000.000.000.0012/12Symbol#==28 +
  0.000.000.000.0012/36ProgressBar::Components::Bar#progress26 +
  0.000.000.000.0012/119756Hash#[]28 +
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated_with_elapsed_fallback91
0.01%0.00%0.000.000.000.0011 + + ProgressBar::Components::Time#estimated_with_label + + 27
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated28 +
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated_with_label28
0.01%0.00%0.000.000.000.0011 + + ProgressBar::Components::Time#estimated + + 66
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated_seconds_remaining67 +
  0.000.000.000.0010/23ProgressBar::Timer#divide_seconds71 +
  0.000.000.000.0010/35String#%76 +
  0.000.000.000.0010/79ProgressBar::Components::Time#timer71 +
  0.000.000.000.0010/24Integer#>73 +
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated67
0.01%0.00%0.000.000.000.0011 + + ProgressBar::Components::Time#estimated_seconds_remaining + + 94
  0.000.000.000.0010/34ProgressBar::Timer#elapsed_seconds97 +
  0.000.000.000.0011/11ProgressBar::Projectors::SmoothedAverage#none?95 +
  0.000.000.000.0010/10ProgressBar::Progress#none?95 +
  0.000.000.000.0011/23ProgressBar::Progress#unknown?95 +
  0.000.000.000.0010/10ProgressBar::Timer#reset?95 +
  0.000.000.000.0010/10Float#round97 +
  0.000.000.000.0010/48ProgressBar::Timer#stopped?95 +
  0.000.000.000.0021/21ProgressBar::Components::Time#projector95 +
  0.000.000.000.0030/79ProgressBar::Components::Time#timer95 +
  0.000.000.000.0031/43ProgressBar::Components::Time#progress95 +
  0.000.000.000.0010/36Float#*97 +
  0.000.000.000.0010/21ProgressBar::Projectors::SmoothedAverage#projection97 +
  0.000.000.000.0010/24Float#-97 +
  0.000.000.000.0010/193ProgressBar::Progress#total97 +
  0.000.000.000.0010/82Integer#/97 +
  0.000.000.000.001/1JSON::Ext::Generator::GeneratorMethods::Hash#to_json
0.00%0.00%0.000.000.000.001 + + JSON::Ext::Generator::State#initialize + +
  0.000.000.000.001/26ProgressBar::Base#initialize82
  0.000.000.000.0012/26ProgressBar::Base#to_s172
  0.000.000.000.0013/26ProgressBar::Base#update_progress227
0.00%0.00%0.000.000.000.0026 + + ProgressBar::Base#output + +
  0.000.000.000.0013/13ProgressBar::Components::Time#elapsed_with_label32
0.01%0.00%0.000.000.000.0013 + + ProgressBar::Components::Time#elapsed + + 80
  0.000.000.000.0013/13ProgressBar::Timer#elapsed_whole_seconds83 +
  0.000.000.000.0013/35String#%85 +
  0.000.000.000.0013/23ProgressBar::Timer#divide_seconds83 +
  0.000.000.000.0013/61ProgressBar::Timer#started?81 +
  0.000.000.000.0039/79ProgressBar::Components::Time#timer81 +
  0.000.000.000.001/1ProgressBar::Output#with_refresh230
0.00%0.00%0.000.000.000.001 + + ProgressBar::Timer#stop + + 17
  0.000.000.000.001/46ProgressBar::Time#now20 +
  0.000.000.000.001/61ProgressBar::Timer#started?18 +
  0.000.000.000.001/46ProgressBar::Timer#time20 +
  0.000.000.000.001/26ProgressBar::Timer#stopped_at=20 +
  0.000.000.000.001/1ProgressBar::Base#initialize82
0.00%0.00%0.000.000.000.001 + + ProgressBar::Outputs::Tty#resolve_format + + 23
  0.000.000.000.001/1ProgressBar::Base#initialize75
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#title_component= + +
  0.000.000.000.001/1ProgressBar::Base#initialize52
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#timer= + +
  0.000.000.000.001/28ProgressBar::Base#start88
  0.000.000.000.001/28ProgressBar::Base#initialize71
  0.000.000.000.001/28ProgressBar::Output#with_refresh230
  0.000.000.000.0025/28ProgressBar::Base#stopped?124
0.00%0.00%0.000.000.000.0028 + + ProgressBar::Base#timer + +
  0.000.000.000.001/1ProgressBar::Base#initialize79
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#time_component= + +
  0.000.000.000.001/1ProgressBar::Base#initialize78
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#rate_component= + +
  0.000.000.000.001/1ProgressBar::Base#initialize66
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#projector= + +
  0.000.000.000.001/14ProgressBar::Base#initialize71
  0.000.000.000.0013/14ProgressBar::Output#with_refresh229
0.00%0.00%0.000.000.000.0014 + + ProgressBar::Base#projector + +
  0.000.000.000.001/1ProgressBar::Base#initialize69
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#progressable= + +
  0.000.000.000.001/50ProgressBar::Base#initialize71
  0.000.000.000.0013/50ProgressBar::Output#with_refresh228
  0.000.000.000.0036/50ProgressBar::Base#finished?130
0.00%0.00%0.000.000.000.0050 + + ProgressBar::Base#progressable + +
  0.000.000.000.001/1ProgressBar::Base#initialize77
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#percentage_component= + +
  0.000.000.000.001/1ProgressBar::Base#initialize81
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#output= + +
  0.000.000.000.0023/36ProgressBar::Base#stopped?124
  0.000.000.000.0013/36ProgressBar::Output#with_refresh230
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Base#finished? + + 129
  0.000.000.000.0036/48ProgressBar::Progress#finished?130 +
  0.000.000.000.0036/36ProgressBar::Base#finished130 +
  0.000.000.000.0036/50ProgressBar::Base#progressable130 +
  0.000.000.000.0036/36ProgressBar::Base#autofinish130 +
  0.000.000.000.001/1ProgressBar::Base#initialize50
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#finished= + +
  0.000.000.000.001/1ProgressBar::Base#initialize76
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#bar_component= + +
  0.000.000.000.001/1ProgressBar::Base#initialize48
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#autostart= + +
  0.000.000.000.001/1ProgressBar::Base#initialize84
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#autostart + +
  0.000.000.000.001/1ProgressBar::Base#initialize49
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#autofinish= + +
  0.000.000.000.001/21ProgressBar::Throttle#initialize12
  0.000.000.000.001/21<Class::ProgressBar::Projector>#from_type11
  0.000.000.000.001/21ProgressBar::Progress#initialize13
  0.000.000.000.004/21ProgressBar::Format::Molecule#initialize35
  0.000.000.000.002/21ProgressBar::Base#initialize48
  0.000.000.000.0012/21ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0021 + + Hash#fetch + +
  0.000.000.000.001/1ProgressBar::Base#initialize53
0.00%0.00%0.000.000.000.001 + + Hash#any? + +
  0.000.000.000.001/1ProgressBar::Base#initialize82
0.00%0.00%0.000.000.000.001 + + <Class::String>#new + +
  0.000.000.000.001/1String#initialize +
  0.000.000.000.001/1ProgressBar::Base#initialize66
0.00%0.00%0.000.000.000.001 + + <Class::ProgressBar::Projector>#from_type + + 10
  0.000.000.000.001/21Hash#fetch11 +
  0.000.000.000.001/1ProgressBar::Base#initialize81
0.00%0.00%0.000.000.000.001 + + <Class::ProgressBar::Output>#detect + + 20
  0.000.000.000.001/4611Class#new24 +
  0.000.000.000.001/13IO#tty?23 +
  0.000.000.000.001/1Kernel#is_a?21 +
  0.000.000.000.002/119756Hash#[]21 +
  0.000.000.000.001/1<Class::String>#new
0.00%0.00%0.000.000.000.001 + + String#initialize + +
  0.000.000.000.001/46ProgressBar::Timer#stop20
  0.000.000.000.0013/46ProgressBar::Timer#start13
  0.000.000.000.0032/46ProgressBar::Timer#elapsed_seconds60
0.00%0.00%0.000.000.000.0046 + + ProgressBar::Timer#time + +
  0.000.000.000.001/26ProgressBar::Timer#stop20
  0.000.000.000.0013/26ProgressBar::Timer#start14
  0.000.000.000.0012/26ProgressBar::Timer#reset45
0.00%0.00%0.000.000.000.0026 + + ProgressBar::Timer#stopped_at= + +
  0.000.000.000.001/61ProgressBar::Timer#stop18
  0.000.000.000.0013/61ProgressBar::Components::Time#elapsed81
  0.000.000.000.0013/61ProgressBar::Throttle#choke16
  0.000.000.000.0034/61ProgressBar::Timer#elapsed_seconds58
0.00%0.00%0.000.000.000.0061 + + ProgressBar::Timer#started? + + 35
  0.000.000.000.0061/105ProgressBar::Timer#started_at36 +
  0.000.000.000.001/13ProgressBar::Base#start88
  0.000.000.000.0012/13ProgressBar::Timer#restart54
0.01%0.00%0.000.000.000.0013 + + ProgressBar::Timer#start + + 12
  0.000.000.000.0013/46ProgressBar::Time#now13 +
  0.000.000.000.0013/48ProgressBar::Timer#stopped?13 +
  0.000.000.000.0013/25ProgressBar::Timer#started_at=13 +
  0.000.000.000.0013/46ProgressBar::Timer#time13 +
  0.000.000.000.0013/26ProgressBar::Timer#stopped_at=14 +
  0.000.000.000.002/2Class#new
0.00%0.00%0.000.000.000.002 + + ProgressBar::Timer#initialize + + 8
  0.000.000.000.002/4611Class#new9 +
  0.000.000.000.002/2ProgressBar::Timer#time=9 +
  0.000.000.000.002/119756Hash#[]9 +
  0.000.000.000.001/46ProgressBar::Timer#stop20
  0.000.000.000.0013/46ProgressBar::Timer#start13
  0.000.000.000.0032/46ProgressBar::Timer#elapsed_seconds60
0.01%0.00%0.000.000.000.0046 + + ProgressBar::Time#now + + 15
  0.000.000.000.0046/46<Class::Time>#now16 +
  0.000.000.000.0046/46ProgressBar::Time#unmocked_time_method16 +
  0.000.000.000.0046/54ProgressBar::Time#time16 +
  0.000.000.000.002/14ProgressBar::Projectors::SmoothedAverage#start21
  0.000.000.000.0012/14ProgressBar::Projectors::SmoothedAverage#increment29
0.01%0.00%0.000.000.000.0014 + + ProgressBar::Projectors::SmoothedAverage#progress= + + 42
  0.000.000.000.0014/14<Class::ProgressBar::Projectors::SmoothedAverage>#calculate44 +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#absolute44 +
  0.000.000.000.0014/16Array#[]=43 +
  0.000.000.000.0014/17ProgressBar::Projectors::SmoothedAverage#projection=44 +
  0.000.000.000.0014/14Kernel#class44 +
  0.000.000.000.0014/57ProgressBar::Projectors::SmoothedAverage#samples43 +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#strength44 +
  0.000.000.000.001/13ProgressBar::Projectors::SmoothedAverage#start21
  0.000.000.000.0012/13ProgressBar::Projectors::SmoothedAverage#increment29
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Projectors::SmoothedAverage#progress + + 32
  0.000.000.000.0013/205545Array#[]33 +
  0.000.000.000.0013/57ProgressBar::Projectors::SmoothedAverage#samples33 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Projectors::SmoothedAverage#initialize + + 11
  0.000.000.000.001/2ProgressBar::Projectors::SmoothedAverage#start16 +
  0.000.000.000.001/1ProgressBar::Projectors::SmoothedAverage#strength=14 +
  0.000.000.000.001/1ProgressBar::Projectors::SmoothedAverage#samples=12 +
  0.000.000.000.001/17ProgressBar::Projectors::SmoothedAverage#projection=13 +
  0.000.000.000.001/119756Hash#[]14 +
  0.000.000.000.0010/193ProgressBar::Components::Time#estimated_seconds_remaining97
  0.000.000.000.0036/193ProgressBar::Progress#percentage_completed_with_precision98
  0.000.000.000.0023/193ProgressBar::Progress#unknown?90
  0.000.000.000.0024/193ProgressBar::Progress#increment32
  0.000.000.000.0028/193ProgressBar::Progress#progress=56
  0.000.000.000.0072/193ProgressBar::Progress#percentage_completed74
0.00%0.00%0.000.000.000.00193 + + ProgressBar::Progress#total + +
  0.000.000.000.002/14ProgressBar::Progress#start19
  0.000.000.000.0012/14ProgressBar::Progress#increment38
0.00%0.00%0.000.000.000.0014 + + ProgressBar::Progress#progress= + + 55
  0.000.000.000.0028/193ProgressBar::Progress#total56 +
  0.000.000.000.0014/24Integer#>56 +
  0.000.000.000.001/107ProgressBar::Progress#start19
  0.000.000.000.001/107ProgressBar::Progress#total=65
  0.000.000.000.0010/107ProgressBar::Progress#none?86
  0.000.000.000.0012/107ProgressBar::Progress#percentage_completed_with_precision101
  0.000.000.000.0023/107ProgressBar::Progress#unknown?90
  0.000.000.000.0024/107ProgressBar::Progress#percentage_completed82
  0.000.000.000.0036/107ProgressBar::Progress#increment32
0.00%0.00%0.000.000.000.00107 + + ProgressBar::Progress#progress + +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Progress#initialize + + 12
  0.000.000.000.001/2ProgressBar::Progress#start15 +
  0.000.000.000.001/1ProgressBar::Progress#total=13 +
  0.000.000.000.001/21Hash#fetch13 +
  0.000.000.000.0012/48ProgressBar::Components::Time#estimated_with_elapsed_fallback89
  0.000.000.000.0036/48ProgressBar::Base#finished?130
0.00%0.00%0.000.000.000.0048 + + ProgressBar::Progress#finished? + + 27
  0.000.000.000.0048/119Integer#==28 +
  0.000.000.000.0013/13ProgressBar::Output#refresh51
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Output#throttle + +
  0.000.000.000.0012/37ProgressBar::Outputs::Tty#eol28
  0.000.000.000.0013/37ProgressBar::Output#refresh51
  0.000.000.000.0012/37ProgressBar::Outputs::Tty#bar_update_string16
0.00%0.00%0.000.000.000.0037 + + ProgressBar::Output#bar + +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Title#initialize + + 8
  0.000.000.000.001/1ProgressBar::Components::Title#title=9 +
  0.000.000.000.001/119756Hash#[]9 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Time#initialize + + 21
  0.000.000.000.001/1ProgressBar::Components::Time#timer=22 +
  0.000.000.000.001/1ProgressBar::Components::Time#progress=23 +
  0.000.000.000.001/1ProgressBar::Components::Time#projector=24 +
  0.000.000.000.003/119756Hash#[]22 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Rate#initialize + + 8
  0.000.000.000.001/1ProgressBar::Components::Rate#progress=11 +
  0.000.000.000.001/1Kernel#lambda9 +
  0.000.000.000.001/1ProgressBar::Components::Rate#timer=10 +
  0.000.000.000.001/1ProgressBar::Components::Rate#rate_scale=9 +
  0.000.000.000.003/119756Hash#[]9 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Percentage#initialize + + 6
  0.000.000.000.001/1ProgressBar::Components::Percentage#progress=7 +
  0.000.000.000.001/119756Hash#[]7 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Bar#initialize + + 17
  0.000.000.000.001/1ProgressBar::Components::Bar#progress=21 +
  0.000.000.000.001/13ProgressBar::Components::Bar#length=22 +
  0.000.000.000.005/119756Hash#[]18 +
  0.000.000.000.001/1ProgressBar::Components::Bar#remainder_mark=20 +
  0.000.000.000.001/1ProgressBar::Components::Bar#progress_mark=19 +
  0.000.000.000.001/1ProgressBar::Components::Bar#upa_steps=18 +
  0.000.000.000.0012/25ProgressBar::Outputs::Tty#eol28
  0.000.000.000.0013/25ProgressBar::Output#refresh51
0.01%0.00%0.000.000.000.0025 + + ProgressBar::Base#stopped? + + 123
  0.000.000.000.0023/36ProgressBar::Base#finished?124 +
  0.000.000.000.0025/48ProgressBar::Timer#stopped?124 +
  0.000.000.000.0025/28ProgressBar::Base#timer124 +
  0.000.000.000.0036/36ProgressBar::Base#finished?130
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Base#finished + +
  0.000.000.000.0036/36ProgressBar::Base#finished?130
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Base#autofinish + +
  0.000.000.000.001/1<Class::ProgressBar::Output>#detect21
0.00%0.00%0.000.000.000.001 + + Kernel#is_a? + +
  0.000.000.000.0011/119BasicObject#!=
  0.000.000.000.0024/119ProgressBar::Progress#percentage_completed75
  0.000.000.000.0012/119ProgressBar::Progress#percentage_completed_with_precision98
  0.000.000.000.0024/119ProgressBar::Progress#increment32
  0.000.000.000.0048/119ProgressBar::Progress#finished?28
0.00%0.00%0.000.000.000.00119 + + Integer#== + +
  0.000.000.000.0012/36<Class::ProgressBar::Format::Formatter>#process13
  0.000.000.000.0012/36ProgressBar::Projectors::SmoothedAverage#increment29
  0.000.000.000.0012/36ProgressBar::Progress#increment38
0.00%0.00%0.000.000.000.0036 + + Integer#+ + +
  0.000.000.000.001/13<Class::ProgressBar::Output>#detect23
  0.000.000.000.0012/13ProgressBar::Calculators::Length#dynamic_width57
0.00%0.00%0.000.000.000.0013 + + IO#tty? + +
  0.000.000.000.002/2ProgressBar::Timer#initialize9
0.00%0.00%0.000.000.000.002 + + ProgressBar::Timer#time= + +
  0.000.000.000.0010/48ProgressBar::Components::Time#estimated_seconds_remaining95
  0.000.000.000.0013/48ProgressBar::Timer#start13
  0.000.000.000.0025/48ProgressBar::Base#stopped?124
0.00%0.00%0.000.000.000.0048 + + ProgressBar::Timer#stopped? + + 39
  0.000.000.000.0048/82ProgressBar::Timer#stopped_at40 +
  0.000.000.000.0013/25ProgressBar::Timer#start13
  0.000.000.000.0012/25ProgressBar::Timer#reset44
0.00%0.00%0.000.000.000.0025 + + ProgressBar::Timer#started_at= + +
  0.000.000.000.0010/105ProgressBar::Timer#reset?49
  0.000.000.000.0034/105ProgressBar::Timer#elapsed_seconds60
  0.000.000.000.0061/105ProgressBar::Timer#started?36
0.00%0.00%0.000.000.000.00105 + + ProgressBar::Timer#started_at + +
  0.000.000.000.0012/12ProgressBar::Throttle#choke20
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Timer#restart + + 52
  0.000.000.000.0012/13ProgressBar::Timer#start54 +
  0.000.000.000.0012/12ProgressBar::Timer#reset53 +
  0.000.000.000.0046/46ProgressBar::Time#now16
0.00%0.00%0.000.000.000.0046 + + ProgressBar::Time#unmocked_time_method + + 19
  0.000.000.000.002/2Enumerable#find20 +
  0.000.000.000.008/54Array#each
  0.000.000.000.0046/54ProgressBar::Time#now16
0.00%0.00%0.000.000.000.0054 + + ProgressBar::Time#time + +
  0.000.000.000.0036/36ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Throttle#timer + +
  0.000.000.000.0011/11ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0011 + + ProgressBar::Throttle#rate + +
  0.000.000.000.001/1ProgressBar::Projectors::SmoothedAverage#initialize14
0.00%0.00%0.000.000.000.001 + + ProgressBar::Projectors::SmoothedAverage#strength= + +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#progress=44
0.00%0.00%0.000.000.000.0014 + + ProgressBar::Projectors::SmoothedAverage#strength + +
  0.000.000.000.001/2ProgressBar::Output#with_refresh229
  0.000.000.000.001/2ProgressBar::Projectors::SmoothedAverage#initialize16
0.00%0.00%0.000.000.000.002 + + ProgressBar::Projectors::SmoothedAverage#start + + 19
  0.000.000.000.002/14ProgressBar::Projectors::SmoothedAverage#progress=21 +
  0.000.000.000.001/13ProgressBar::Projectors::SmoothedAverage#progress21 +
  0.000.000.000.002/16Array#[]=21 +
  0.000.000.000.002/57ProgressBar::Projectors::SmoothedAverage#samples21 +
  0.000.000.000.002/119756Hash#[]21 +
  0.000.000.000.002/17ProgressBar::Projectors::SmoothedAverage#projection=20 +
  0.000.000.000.001/1ProgressBar::Projectors::SmoothedAverage#initialize12
0.00%0.00%0.000.000.000.001 + + ProgressBar::Projectors::SmoothedAverage#samples= + +
  0.000.000.000.002/57ProgressBar::Projectors::SmoothedAverage#start21
  0.000.000.000.0013/57ProgressBar::Projectors::SmoothedAverage#progress33
  0.000.000.000.0014/57ProgressBar::Projectors::SmoothedAverage#progress=43
  0.000.000.000.0028/57ProgressBar::Projectors::SmoothedAverage#absolute67
0.00%0.00%0.000.000.000.0057 + + ProgressBar::Projectors::SmoothedAverage#samples + +
  0.000.000.000.002/17ProgressBar::Projectors::SmoothedAverage#start20
  0.000.000.000.001/17ProgressBar::Projectors::SmoothedAverage#initialize13
  0.000.000.000.0014/17ProgressBar::Projectors::SmoothedAverage#progress=44
0.00%0.00%0.000.000.000.0017 + + ProgressBar::Projectors::SmoothedAverage#projection= + +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#progress=44
0.00%0.00%0.000.000.000.0014 + + ProgressBar::Projectors::SmoothedAverage#absolute + + 66
  0.000.000.000.0028/57ProgressBar::Projectors::SmoothedAverage#samples67 +
  0.000.000.000.0028/205545Array#[]67 +
  0.000.000.000.0014/38Integer#-67 +
  0.000.000.000.001/1ProgressBar::Progress#initialize13
0.00%0.00%0.000.000.000.001 + + ProgressBar::Progress#total= + + 64
  0.000.000.000.001/1NilClass#nil?65 +
  0.000.000.000.001/107ProgressBar::Progress#progress65 +
  0.000.000.000.001/2ProgressBar::Output#with_refresh228
  0.000.000.000.001/2ProgressBar::Progress#initialize15
0.00%0.00%0.000.000.000.002 + + ProgressBar::Progress#start + + 18
  0.000.000.000.002/14ProgressBar::Progress#progress=19 +
  0.000.000.000.002/2ProgressBar::Progress#starting_position=19 +
  0.000.000.000.002/119756Hash#[]19 +
  0.000.000.000.001/107ProgressBar::Progress#progress19 +
  0.000.000.000.001/25ProgressBar::Output#clear_string38
  0.000.000.000.0012/25ProgressBar::Output#length42
  0.000.000.000.0012/25ProgressBar::Throttle#choke52
0.00%0.00%0.000.000.000.0025 + + ProgressBar::Output#length_calculator + +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#initialize + + 10
  0.000.000.000.002/4611Class#new13 +
  0.000.000.000.001/1ProgressBar::Output#bar=11 +
  0.000.000.000.001/1ProgressBar::Output#throttle=13 +
  0.000.000.000.001/1ProgressBar::Output#length_calculator=14 +
  0.000.000.000.003/119756Hash#[]11 +
  0.000.000.000.001/27ProgressBar::Output#stream14 +
  0.000.000.000.001/1ProgressBar::Output#stream=12 +
  0.000.000.000.001/1ProgressBar::Components::Title#initialize9
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Title#title= + +
  0.000.000.000.001/1ProgressBar::Components::Time#initialize22
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Time#timer= + +
  0.000.000.000.001/1ProgressBar::Components::Time#initialize24
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Time#projector= + +
  0.000.000.000.001/1ProgressBar::Components::Time#initialize23
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Time#progress= + +
  0.000.000.000.001/1ProgressBar::Components::Rate#initialize10
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Rate#timer= + +
  0.000.000.000.001/1ProgressBar::Components::Rate#initialize9
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Rate#rate_scale= + +
  0.000.000.000.001/1ProgressBar::Components::Rate#initialize11
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Rate#progress= + +
  0.000.000.000.001/1ProgressBar::Components::Percentage#initialize7
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Percentage#progress= + +
  0.000.000.000.001/1ProgressBar::Components::Bar#initialize18
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Bar#upa_steps= + +
  0.000.000.000.001/1ProgressBar::Components::Bar#initialize20
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Bar#remainder_mark= + +
  0.000.000.000.001/1ProgressBar::Components::Bar#initialize19
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Bar#progress_mark= + +
  0.000.000.000.001/1ProgressBar::Components::Bar#initialize21
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Bar#progress= + +
  0.000.000.000.001/13ProgressBar::Components::Bar#initialize22
  0.000.000.000.0012/13ProgressBar::Components::Bar#complete_bar42
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Components::Bar#length= + +
  0.000.000.000.001/1ProgressBar::Components::Rate#initialize9
0.00%0.00%0.000.000.000.001 + + Kernel#lambda + +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#progress=44
0.00%0.00%0.000.000.000.0014 + + Kernel#class + + 18
  0.000.000.000.0010/24ProgressBar::Components::Time#estimated73
  0.000.000.000.0014/24ProgressBar::Progress#progress=56
0.00%0.00%0.000.000.000.0024 + + Integer#> + +
  0.000.000.000.0011/11ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0011 + + Float#>= + +
  0.000.000.000.004/27ProgressBar::Format::Molecule#non_bar_molecule?43
  0.000.000.000.0010/27ProgressBar::Timer#reset?49
  0.000.000.000.0013/27ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0027 + + BasicObject#! + +
  0.000.000.000.002/16ProgressBar::Projectors::SmoothedAverage#start21
  0.000.000.000.0014/16ProgressBar::Projectors::SmoothedAverage#progress=43
0.00%0.00%0.000.000.000.0016 + + Array#[]= + +
  0.000.000.000.0046/46ProgressBar::Time#now16
0.00%0.00%0.000.000.000.0046 + + <Class::Time>#now + + 225
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#progress=44
0.00%0.00%0.000.000.000.0014 + + <Class::ProgressBar::Projectors::SmoothedAverage>#calculate + + 56
  0.000.000.000.0014/24Float#-57 +
  0.000.000.000.0014/14Float#+57 +
  0.000.000.000.0014/75Integer#*57 +
  0.000.000.000.0014/36Float#*57 +
  0.000.000.000.0034/34ProgressBar::Timer#elapsed_seconds60
0.00%0.00%0.000.000.000.0034 + + Time#- + +
  0.000.000.000.0034/34Integer#fdiv +
  0.000.000.000.0034/82ProgressBar::Timer#elapsed_seconds60
  0.000.000.000.0048/82ProgressBar::Timer#stopped?40
0.00%0.00%0.000.000.000.0082 + + ProgressBar::Timer#stopped_at + +
  0.000.000.000.0012/12ProgressBar::Timer#restart53
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Timer#reset + + 43
  0.000.000.000.0012/25ProgressBar::Timer#started_at=44 +
  0.000.000.000.0012/26ProgressBar::Timer#stopped_at=45 +
  0.000.000.000.002/2Class#new
0.00%0.00%0.000.000.000.002 + + ProgressBar::Time#initialize + + 11
  0.000.000.000.002/2ProgressBar::Time#time=12 +
  0.000.000.000.002/2ProgressBar::Progress#start19
0.00%0.00%0.000.000.000.002 + + ProgressBar::Progress#starting_position= + +
  0.000.000.000.0012/12ProgressBar::Output#print_and_flush67
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Outputs::Tty#eol + + 27
  0.000.000.000.0012/25ProgressBar::Base#stopped?28 +
  0.000.000.000.0012/37ProgressBar::Output#bar28 +
  0.000.000.000.001/1ProgressBar::Output#initialize13
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#throttle= + +
  0.000.000.000.001/1ProgressBar::Output#initialize12
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#stream= + +
  0.000.000.000.001/27ProgressBar::Output#initialize14
  0.000.000.000.002/27ProgressBar::Outputs::Tty#clear11
  0.000.000.000.0024/27ProgressBar::Output#print_and_flush67
0.00%0.00%0.000.000.000.0027 + + ProgressBar::Output#stream + +
  0.000.000.000.001/1ProgressBar::Output#initialize14
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#length_calculator= + +
  0.000.000.000.001/1ProgressBar::Output#initialize11
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#bar= + +
  0.000.000.000.001/13ProgressBar::Calculators::Length#initialize11
  0.000.000.000.0012/13ProgressBar::Calculators::Length#length_changed?20
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Calculators::Length#current_length= + +
  0.000.000.000.0013/37ProgressBar::Calculators::Length#length15
  0.000.000.000.0024/37ProgressBar::Calculators::Length#length_changed?19
0.00%0.00%0.000.000.000.0037 + + ProgressBar::Calculators::Length#current_length + +
  0.000.000.000.001/1ProgressBar::Progress#total=65
0.00%0.00%0.000.000.000.001 + + NilClass#nil? + +
  0.000.000.000.0012/38ProgressBar::Components::Bar#incomplete_string82
  0.000.000.000.0012/38<Class::ProgressBar::Format::Formatter>#process13
  0.000.000.000.0014/38ProgressBar::Projectors::SmoothedAverage#absolute67
0.00%0.00%0.000.000.000.0038 + + Integer#- + +
  0.000.000.000.001/75ProgressBar::Format::String#bar_molecule_placeholder_length14
  0.000.000.000.0024/75ProgressBar::Components::Bar#completed_length92
  0.000.000.000.0012/75ProgressBar::Progress#percentage_completed_with_precision101
  0.000.000.000.0024/75ProgressBar::Progress#percentage_completed82
  0.000.000.000.0014/75<Class::ProgressBar::Projectors::SmoothedAverage>#calculate57
0.00%0.00%0.000.000.000.0075 + + Integer#* + +
  0.000.000.000.0012/12ProgressBar::Output#print_and_flush68
0.00%0.00%0.000.000.000.0012 + + IO#flush + +
  0.000.000.000.0010/24ProgressBar::Components::Time#estimated_seconds_remaining97
  0.000.000.000.0014/24<Class::ProgressBar::Projectors::SmoothedAverage>#calculate57
0.00%0.00%0.000.000.000.0024 + + Float#- + +
  0.000.000.000.0014/14<Class::ProgressBar::Projectors::SmoothedAverage>#calculate57
0.00%0.00%0.000.000.000.0014 + + Float#+ + +
  0.000.000.000.0010/36ProgressBar::Components::Time#estimated_seconds_remaining97
  0.000.000.000.0012/36ProgressBar::Progress#percentage_completed_with_precision101
  0.000.000.000.0014/36<Class::ProgressBar::Projectors::SmoothedAverage>#calculate57
0.00%0.00%0.000.000.000.0036 + + Float#* + +
  0.000.000.000.002/2ProgressBar::Time#initialize12
0.00%0.00%0.000.000.000.002 + + ProgressBar::Time#time= + +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Throttle#initialize + + 8
  0.000.000.000.001/4611Class#new12 +
  0.000.000.000.001/1ProgressBar::Throttle#started_at=10 +
  0.000.000.000.001/1ProgressBar::Throttle#timer=12 +
  0.000.000.000.001/1ProgressBar::Throttle#rate=9 +
  0.000.000.000.001/1ProgressBar::Throttle#stopped_at=11 +
  0.000.000.000.001/21Hash#fetch12 +
  0.000.000.000.001/119756Hash#[]9 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#calculate_length26
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#length_override + +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Calculators::Length#initialize + + 8
  0.000.000.000.001/1ProgressBar::Calculators::Length#length_override=9 +
  0.000.000.000.001/13ProgressBar::Calculators::Length#current_length=11 +
  0.000.000.000.001/1ProgressBar::Calculators::Length#output=10 +
  0.000.000.000.002/119756Hash#[]9 +
  0.000.000.000.0034/34Time#-
0.00%0.00%0.000.000.000.0034 + + Integer#fdiv + +
  0.000.000.000.002/2ProgressBar::Time#unmocked_time_method20
0.00%0.00%0.000.000.000.002 + + Enumerable#find + +
  0.000.000.000.002/37Array#each +
  0.000.000.000.001/1ProgressBar::Throttle#initialize12
0.00%0.00%0.000.000.000.001 + + ProgressBar::Throttle#timer= + +
  0.000.000.000.001/1ProgressBar::Throttle#initialize11
0.00%0.00%0.000.000.000.001 + + ProgressBar::Throttle#stopped_at= + +
  0.000.000.000.001/1ProgressBar::Throttle#initialize10
0.00%0.00%0.000.000.000.001 + + ProgressBar::Throttle#started_at= + +
  0.000.000.000.001/1ProgressBar::Throttle#initialize9
0.00%0.00%0.000.000.000.001 + + ProgressBar::Throttle#rate= + +
  0.000.000.000.001/1ProgressBar::Throttle#choke52
0.00%0.00%0.000.000.000.001 + + ProgressBar::Outputs::Tty#clear + + 10
  0.000.000.000.002/14IO#print11 +
  0.000.000.000.001/1ProgressBar::Output#clear_string11 +
  0.000.000.000.002/27ProgressBar::Output#stream11 +
  0.000.000.000.0012/12ProgressBar::Base#to_s172
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Output#length + + 41
  0.000.000.000.0012/13ProgressBar::Calculators::Length#length42 +
  0.000.000.000.0012/25ProgressBar::Output#length_calculator42 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#terminal_width44
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#unix? + + 93
  0.000.000.000.0012/19187String#=~94 +
  0.000.000.000.001/1ProgressBar::Calculators::Length#initialize10
0.00%0.00%0.000.000.000.001 + + ProgressBar::Calculators::Length#output= + +
  0.000.000.000.001/1ProgressBar::Calculators::Length#initialize9
0.00%0.00%0.000.000.000.001 + + ProgressBar::Calculators::Length#length_override= + + 33
  0.000.000.000.001/1#<Class:0x0000000102b72ef8>#[]34 +
  0.000.000.000.0012/24<Class::ProgressBar::Format::Formatter>#process16
  0.000.000.000.0012/24ProgressBar::Calculators::Length#terminal_width47
0.00%0.00%0.000.000.000.0024 + + Integer#< + +
  0.000.000.000.0012/12<Class::ProgressBar::Format::Formatter>#process5
0.00%0.00%0.000.000.000.0012 + + String#dup + +
  0.000.000.000.0012/12Kernel#initialize_dup +
  0.000.000.000.001/1ProgressBar::Outputs::Tty#clear11
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#clear_string + + 37
  0.000.000.000.001/25String#*38 +
  0.000.000.000.001/13ProgressBar::Calculators::Length#length38 +
  0.000.000.000.001/25ProgressBar::Output#length_calculator38 +
  0.000.000.000.0012/12<Class::ProgressBar::Format::Formatter>#process7
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Format::String#non_bar_molecules + + 17
  0.000.000.000.001/2ProgressBar::Format::String#molecules18 +
  0.000.000.000.001/2Array#select18 +
  0.000.000.000.0012/12<Class::ProgressBar::Format::Formatter>#process13
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Format::String#displayable_length + + 9
  0.000.000.000.0012/12String#gsub10 +
  0.000.000.000.0012/12String#length10 +
  0.000.000.000.0012/13<Class::ProgressBar::Format::Formatter>#process18
  0.000.000.000.001/13ProgressBar::Format::String#bar_molecule_placeholder_length14
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Format::String#bar_molecules + + 21
  0.000.000.000.001/2Array#select22 +
  0.000.000.000.001/2ProgressBar::Format::String#molecules22 +
  0.000.000.000.0012/12<Class::ProgressBar::Format::Formatter>#process13
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Format::String#bar_molecule_placeholder_length + + 13
  0.000.000.000.001/13ProgressBar::Format::String#bar_molecules14 +
  0.000.000.000.001/1Array#size14 +
  0.000.000.000.001/75Integer#*14 +
  0.000.000.000.0012/48ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object72
  0.000.000.000.0036/48ProgressBar::Calculators::Length#dynamic_width57
0.00%0.00%0.000.000.000.0048 + + ProgressBar::Calculators::Length#output + +
  0.000.000.000.001/13ProgressBar::Output#clear_string38
  0.000.000.000.0012/13ProgressBar::Output#length42
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Calculators::Length#length + + 14
  0.000.000.000.0013/37ProgressBar::Calculators::Length#current_length15 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#dynamic_width58
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object + + 71
  0.000.000.000.0012/12IO#winsize72 +
  0.000.000.000.0012/48ProgressBar::Calculators::Length#output72 +
  0.000.000.000.008/20Array#each
  0.000.000.000.0012/20ProgressBar::Calculators::Length#dynamic_width57
0.00%0.00%0.000.000.000.0020 + + Kernel#respond_to? + +
  0.000.000.000.001/1ProgressBar::Calculators::Length#length_override=34
0.00%0.00%0.000.000.000.001 + + #<Class:0x0000000102b72ef8>#[] + +
  0.000.000.000.0012/12ProgressBar::Format::String#displayable_length10
0.00%0.00%0.000.000.000.0012 + + String#length + +
  0.000.000.000.0012/12ProgressBar::Format::String#displayable_length10
0.01%0.01%0.000.000.000.0012 + + String#gsub + +
  0.000.000.000.001/25ProgressBar::Output#clear_string38
  0.000.000.000.0012/25ProgressBar::Components::Bar#incomplete_string82
  0.000.000.000.0012/25ProgressBar::Components::Bar#standard_complete_string78
0.00%0.00%0.000.000.000.0025 + + String#* + +
  0.000.000.000.0048/48Array#each
0.00%0.00%0.000.000.000.0048 + + ProgressBar::Format::Molecule#full_key + + 46
  0.000.000.000.0048/108ProgressBar::Format::Molecule#key47 +
  0.000.000.000.0012/12String#dup
0.00%0.00%0.000.000.000.0012 + + Kernel#initialize_dup + +
  0.000.000.000.0012/12String#initialize_copy +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object72
0.00%0.00%0.000.000.000.0012 + + IO#winsize + +
  0.000.000.000.001/1BasicObject#!=
0.00%0.00%0.000.000.000.001 + + BasicObject#== + +
  0.000.000.000.0012/60ProgressBar::Components::Percentage#justified_percentage_with_precision23
  0.000.000.000.0048/60ProgressBar::Format::Molecule#lookup_value56
0.00%0.00%0.000.000.000.0060 + + String#to_s + +
  0.000.000.000.0012/12Kernel#initialize_dup
0.00%0.00%0.000.000.000.0012 + + String#initialize_copy + +
  0.000.000.000.0096/96ProgressBar::Format::Molecule#lookup_value51
0.00%0.00%0.000.000.000.0096 + + ProgressBar::Format::Molecule#method_name + +
  0.000.000.000.004/108ProgressBar::Format::Molecule#initialize35
  0.000.000.000.0056/108ProgressBar::Format::Molecule#bar_molecule?39
  0.000.000.000.0048/108ProgressBar::Format::Molecule#full_key47
0.00%0.00%0.000.000.000.00108 + + ProgressBar::Format::Molecule#key + +
  0.000.000.000.004/56Array#select
  0.000.000.000.004/56ProgressBar::Format::Molecule#non_bar_molecule?43
  0.000.000.000.0048/56ProgressBar::Format::Molecule#lookup_value53
0.00%0.00%0.000.000.000.0056 + + ProgressBar::Format::Molecule#bar_molecule? + + 38
  0.000.000.000.0056/56Array#include?39 +
  0.000.000.000.0056/108ProgressBar::Format::Molecule#key39 +
  0.000.000.000.0012/12ProgressBar::Format::Molecule#lookup_value56
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Components::Percentage#justified_percentage_with_precision + + 22
  0.000.000.000.0012/12ProgressBar::Progress#percentage_completed_with_precision23 +
  0.000.000.000.0012/12String#rjust23 +
  0.000.000.000.0012/12ProgressBar::Components::Percentage#progress23 +
  0.000.000.000.0012/60String#to_s23 +
  0.000.000.000.0024/24ProgressBar::Format::Molecule#lookup_value51
0.00%0.00%0.000.000.000.0024 + + ProgressBar::Base#time_component + +
  0.000.000.000.0012/12ProgressBar::Format::Molecule#lookup_value51
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Base#percentage_component + +
  0.000.000.000.0012/12ProgressBar::Format::Molecule#lookup_value51
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Base#bar_component + +
  0.000.000.000.0012/12ProgressBar::Components::Percentage#justified_percentage_with_precision23
0.00%0.00%0.000.000.000.0012 + + String#rjust + +
  0.000.000.000.0012/12ProgressBar::Components::Percentage#justified_percentage_with_precision23
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Progress#percentage_completed_with_precision + + 97
  0.000.000.000.0012/35String#%101 +
  0.000.000.000.0024/82Integer#/101 +
  0.000.000.000.0012/12Integer#to_f101 +
  0.000.000.000.0012/119Integer#==98 +
  0.000.000.000.0036/193ProgressBar::Progress#total98 +
  0.000.000.000.0012/75Integer#*101 +
  0.000.000.000.0012/82Kernel#nil?99 +
  0.000.000.000.0012/36Float#*101 +
  0.000.000.000.0012/25Float#floor101 +
  0.000.000.000.0012/107ProgressBar::Progress#progress101 +
  0.000.000.000.0012/12ProgressBar::Components::Percentage#justified_percentage_with_precision23
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Percentage#progress + +
  0.000.000.000.0056/56ProgressBar::Format::Molecule#bar_molecule?39
0.00%0.00%0.000.000.000.0056 + + Array#include? + +
  0.000.000.000.0012/12ProgressBar::Components::Bar#to_s28
0.00%0.00%0.000.000.000.0012 + + Symbol#== + +
  0.000.000.000.0010/35ProgressBar::Components::Time#estimated76
  0.000.000.000.0013/35ProgressBar::Components::Time#elapsed85
  0.000.000.000.0012/35ProgressBar::Progress#percentage_completed_with_precision101
0.01%0.01%0.000.000.000.0035 + + String#% + +
  0.000.000.000.0013/13ProgressBar::Components::Time#elapsed83
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Timer#elapsed_whole_seconds + + 63
  0.000.000.000.0013/34ProgressBar::Timer#elapsed_seconds64 +
  0.000.000.000.0013/25Float#floor64 +
  0.000.000.000.0010/23ProgressBar::Components::Time#estimated71
  0.000.000.000.0013/23ProgressBar::Components::Time#elapsed83
0.00%0.00%0.000.000.000.0023 + + ProgressBar::Timer#divide_seconds + + 67
  0.000.000.000.0046/46Integer#divmod68 +
  0.000.000.000.0012/23ProgressBar::Components::Bar#to_s26
  0.000.000.000.0011/23ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0023 + + ProgressBar::Progress#unknown? + + 89
  0.000.000.000.0046/82Kernel#nil?90 +
  0.000.000.000.0023/193ProgressBar::Progress#total90 +
  0.000.000.000.0023/107ProgressBar::Progress#progress90 +
  0.000.000.000.001/2ProgressBar::Format::String#bar_molecules22
  0.000.000.000.001/2ProgressBar::Format::String#non_bar_molecules18
0.00%0.00%0.000.000.000.002 + + ProgressBar::Format::String#molecules + + 25
  0.000.000.000.001/1String#scan29 +
  0.000.000.000.0010/79ProgressBar::Components::Time#estimated71
  0.000.000.000.0030/79ProgressBar::Components::Time#estimated_seconds_remaining95
  0.000.000.000.0039/79ProgressBar::Components::Time#elapsed81
0.00%0.00%0.000.000.000.0079 + + ProgressBar::Components::Time#timer + +
  0.000.000.000.0012/43ProgressBar::Components::Time#estimated_with_elapsed_fallback89
  0.000.000.000.0031/43ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0043 + + ProgressBar::Components::Time#progress + +
  0.000.000.000.0012/12ProgressBar::Components::Bar#to_s29
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#standard_complete_string + + 77
  0.000.000.000.0012/24ProgressBar::Components::Bar#completed_length78 +
  0.000.000.000.0012/25String#*78 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#progress_mark78 +
  0.000.000.000.0012/36ProgressBar::Components::Bar#to_s26
  0.000.000.000.0024/36ProgressBar::Components::Bar#completed_length92
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Components::Bar#progress + +
  0.000.000.000.0012/12ProgressBar::Components::Bar#to_s29
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#incomplete_string + + 81
  0.000.000.000.0012/24ProgressBar::Components::Bar#completed_length82 +
  0.000.000.000.0012/25String#*82 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#remainder_mark82 +
  0.000.000.000.0012/36ProgressBar::Components::Bar#length82 +
  0.000.000.000.0012/38Integer#-82 +
  0.000.000.000.0012/82ProgressBar::Progress#percentage_completed_with_precision99
  0.000.000.000.0024/82ProgressBar::Progress#percentage_completed74
  0.000.000.000.0046/82ProgressBar::Progress#unknown?90
0.00%0.00%0.000.000.000.0082 + + Kernel#nil? + +
  0.000.000.000.0012/12ProgressBar::Progress#percentage_completed_with_precision101
0.00%0.00%0.000.000.000.0012 + + Integer#to_f + +
  0.000.000.000.0010/82ProgressBar::Components::Time#estimated_seconds_remaining97
  0.000.000.000.0024/82ProgressBar::Progress#percentage_completed82
  0.000.000.000.0024/82ProgressBar::Components::Bar#completed_length92
  0.000.000.000.0024/82ProgressBar::Progress#percentage_completed_with_precision101
0.00%0.00%0.000.000.000.0082 + + Integer#/ + +
  0.000.000.000.0012/25ProgressBar::Progress#percentage_completed_with_precision101
  0.000.000.000.0013/25ProgressBar::Timer#elapsed_whole_seconds64
0.00%0.00%0.000.000.000.0025 + + Float#floor + +
  0.000.000.000.001/1ProgressBar::Format::String#bar_molecule_placeholder_length14
0.00%0.00%0.000.000.000.001 + + Array#size + +
  0.000.000.000.001/2ProgressBar::Format::String#bar_molecules22
  0.000.000.000.001/2ProgressBar::Format::String#non_bar_molecules18
0.00%0.00%0.000.000.000.002 + + Array#select + +
  0.000.000.000.004/4ProgressBar::Format::Molecule#non_bar_molecule? +
  0.000.000.000.004/56ProgressBar::Format::Molecule#bar_molecule? +
  0.000.000.000.001/1ProgressBar::Format::String#molecules29
0.00%0.00%0.000.000.000.001 + + String#scan + +
  0.000.000.000.004/4611Class#new30 +
  0.000.000.000.004/4String#[]30 +
  0.000.000.000.004/25412Array#<<30 +
  0.000.000.000.004/4Array#select
0.00%0.00%0.000.000.000.004 + + ProgressBar::Format::Molecule#non_bar_molecule? + + 42
  0.000.000.000.004/56ProgressBar::Format::Molecule#bar_molecule?43 +
  0.000.000.000.004/27BasicObject#!43 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#incomplete_string82
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#remainder_mark + +
  0.000.000.000.0012/12ProgressBar::Components::Bar#standard_complete_string78
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#progress_mark + +
  0.000.000.000.0012/36ProgressBar::Components::Bar#incomplete_string82
  0.000.000.000.0024/36ProgressBar::Components::Bar#completed_length92
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Components::Bar#length + +
  0.000.000.000.0012/24ProgressBar::Components::Bar#incomplete_string82
  0.000.000.000.0012/24ProgressBar::Components::Bar#standard_complete_string78
0.01%0.00%0.000.000.000.0024 + + ProgressBar::Components::Bar#completed_length + + 91
  0.000.000.000.0024/24ProgressBar::Progress#percentage_completed92 +
  0.000.000.000.0024/82Integer#/92 +
  0.000.000.000.0024/36ProgressBar::Components::Bar#length92 +
  0.000.000.000.0024/24Integer#floor92 +
  0.000.000.000.0024/36ProgressBar::Components::Bar#progress92 +
  0.000.000.000.0024/75Integer#*92 +
  0.000.000.000.0046/46ProgressBar::Timer#divide_seconds68
0.00%0.00%0.000.000.000.0046 + + Integer#divmod + +
  0.000.000.000.004/4String#scan
0.00%0.00%0.000.000.000.004 + + String#[] + +
  0.000.000.000.0024/24ProgressBar::Components::Bar#completed_length92
0.00%0.00%0.000.000.000.0024 + + ProgressBar::Progress#percentage_completed + + 73
  0.000.000.000.0072/193ProgressBar::Progress#total74 +
  0.000.000.000.0024/24Integer#to_i82 +
  0.000.000.000.0024/75Integer#*82 +
  0.000.000.000.0024/82Integer#/82 +
  0.000.000.000.0024/119Integer#==75 +
  0.000.000.000.0024/82Kernel#nil?74 +
  0.000.000.000.0024/107ProgressBar::Progress#progress82 +
  0.000.000.000.0024/24ProgressBar::Components::Bar#completed_length92
0.00%0.00%0.000.000.000.0024 + + Integer#floor + +
  0.000.000.000.0010/10ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0010 + + ProgressBar::Timer#reset? + + 48
  0.000.000.000.0010/105ProgressBar::Timer#started_at49 +
  0.000.000.000.0010/27BasicObject#!49 +
  0.000.000.000.0011/21ProgressBar::Projectors::SmoothedAverage#none?53
  0.000.000.000.0010/21ProgressBar::Components::Time#estimated_seconds_remaining97
0.00%0.00%0.000.000.000.0021 + + ProgressBar::Projectors::SmoothedAverage#projection + +
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0011 + + ProgressBar::Projectors::SmoothedAverage#none? + + 52
  0.000.000.000.0011/11Float#zero?53 +
  0.000.000.000.0011/21ProgressBar::Projectors::SmoothedAverage#projection53 +
  0.000.000.000.0010/10ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0010 + + ProgressBar::Progress#none? + + 85
  0.000.000.000.0010/10Integer#zero?86 +
  0.000.000.000.0010/107ProgressBar::Progress#progress86 +
  0.000.000.000.004/4Class#new
0.00%0.00%0.000.000.000.004 + + ProgressBar::Format::Molecule#initialize + + 33
  0.000.000.000.004/4String#to_sym35 +
  0.000.000.000.004/4ProgressBar::Format::Molecule#key=34 +
  0.000.000.000.004/4ProgressBar::Format::Molecule#method_name=35 +
  0.000.000.000.004/21Hash#fetch35 +
  0.000.000.000.004/108ProgressBar::Format::Molecule#key35 +
  0.000.000.000.0021/21ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0021 + + ProgressBar::Components::Time#projector + +
  0.000.000.000.0024/24ProgressBar::Progress#percentage_completed82
0.00%0.00%0.000.000.000.0024 + + Integer#to_i + + 247
  0.000.000.000.0010/10ProgressBar::Components::Time#estimated_seconds_remaining97
0.00%0.00%0.000.000.000.0010 + + Float#round + +
  0.000.000.000.004/4ProgressBar::Format::Molecule#initialize35
0.00%0.00%0.000.000.000.004 + + String#to_sym + +
  0.000.000.000.004/4ProgressBar::Format::Molecule#initialize35
0.00%0.00%0.000.000.000.004 + + ProgressBar::Format::Molecule#method_name= + +
  0.000.000.000.004/4ProgressBar::Format::Molecule#initialize34
0.00%0.00%0.000.000.000.004 + + ProgressBar::Format::Molecule#key= + +
  0.000.000.000.0010/10ProgressBar::Progress#none?86
0.00%0.00%0.000.000.000.0010 + + Integer#zero? + + 263
  0.000.000.000.0011/11ProgressBar::Projectors::SmoothedAverage#none?53
0.00%0.00%0.000.000.000.0011 + + Float#zero? + + 349
* indicates recursively called methods
+ +
+ + + + diff --git a/prof_reports/ruby_prof_graph_before.html b/prof_reports/ruby_prof_graph_before.html new file mode 100644 index 00000000..0c34d952 --- /dev/null +++ b/prof_reports/ruby_prof_graph_before.html @@ -0,0 +1,20897 @@ + + + + + + +
+
+
+
Profile Report
+

Wall_time

+
+
+
Sunday, January 26 at 4:24:13 PM (+05)
+ +
+
+
+
+ + + + + + + + + + + + + +
Thread IDFiber IDTotal
806020.79963054182008
+ + + +

Thread 80, Fiber: 60

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
%Total%SelfTotalSelfWaitChildCallsNameLine
100.00%0.00%20.800.000.0020.801 + + [global]# + + 10
  20.800.000.0020.801/1Object#work10 +
  20.800.000.0020.801/1[global]#10
100.00%0.00%20.800.000.0020.801 + + Object#work + + 46
  20.580.040.0020.543/36Array#each59 +
  0.200.000.000.207/7Object#collect_stats_from_users119 +
  0.010.010.000.002/50514Array#map97 +
  0.000.000.000.001/1JSON::Ext::Generator::GeneratorMethods::Hash#to_json160 +
  0.000.000.000.001/60001String#split53 +
  0.000.000.000.0012/12ProgressBar::Base#increment54 +
  0.000.000.000.001/9185Array#sort97 +
  0.000.000.000.001/1<Class::IO>#read53 +
  0.000.000.000.001/1Array#uniq97 +
  0.000.000.000.001/1<Class::ProgressBar>#create50 +
  0.000.000.000.001/15IO#write160 +
  0.000.000.000.001/4593Array#join97 +
  0.000.000.000.003/4595Array#count83 +
  0.000.000.000.001/119272278String#==50 +
  0.000.000.000.001/36738Hash#[]=83 +
  0.000.000.000.002/36Enumerable#find
  0.000.000.000.0024/36<Class::ProgressBar::Format::Formatter>#process7
  0.200.050.000.167/36Object#collect_stats_from_users39
  20.580.040.0020.543/36Object#work59
99.90%0.39%20.780.080.0020.7036 + + Array#each + +
  19.7014.820.004.894592/4594Array#select110 +
  0.580.240.000.3430000/30000Array#all?89 +
  0.180.180.000.0034792/34792Array#+61 +
  0.110.030.000.0750512/50514Array#map126 +
  0.040.020.000.0225408/25408Object#parse_session62 +
  0.020.020.000.0030000/60001String#split60 +
  0.010.010.000.004592/4592Object#parse_user61 +
  0.010.010.000.004592/4611Class#new111 +
  0.010.010.000.0064288/64348Hash#[]41 +
  0.010.000.000.009184/9185Array#sort138 +
  0.010.010.000.0073472/73484String#+40 +
  0.010.000.000.004592/4592Array#any?144 +
  0.000.000.000.0036736/36738Hash#[]=41 +
  0.000.000.000.0032144/32146Hash#merge120 +
  0.000.000.000.0064288/64288User#attributes40 +
  0.000.000.000.0060000/119272278String#==61 +
  0.000.000.000.0060000/205545Array#[]61 +
  0.000.000.000.0032144/32144User#sessions120 +
  0.000.000.000.004592/4593Array#join138 +
  0.000.000.000.009184/9184Integer#to_s126 +
  0.000.000.000.0048/48ProgressBar::Format::Molecule#lookup_value8 +
  0.000.000.000.004592/4592Array#sum126 +
  0.000.000.000.004592/4592Array#reverse156 +
  0.000.000.000.004592/4592Array#max132 +
  0.000.000.000.004592/4595Array#count120 +
  0.000.000.000.0048/25468String#gsub!8 +
  0.000.000.000.0048/48ProgressBar::Format::Molecule#full_key8 +
  0.000.000.000.008/20Kernel#respond_to?21 +
  0.000.000.000.008/54ProgressBar::Time#time21 +
  0.000.000.000.001/4594ProgressBar::Format::String#bar_molecules22
  0.000.000.000.001/4594ProgressBar::Format::String#non_bar_molecules18
  19.7014.820.004.894592/4594Array#each
94.73%71.24%19.7014.820.004.894594 + + Array#select + +
  4.894.890.000.00116673536/119272278String#==110 +
  0.000.000.000.004/4ProgressBar::Format::Molecule#non_bar_molecule? +
  0.000.000.000.004/56ProgressBar::Format::Molecule#bar_molecule? +
  0.000.000.000.001/119272278Object#work50
  0.000.000.000.0060000/119272278Array#each
  0.110.110.000.002538741/119272278BasicObject#!=
  4.894.890.000.00116673536/119272278Array#select
24.05%24.05%5.005.000.000.00119272278 + + String#== + +
  0.580.240.000.3430000/30000Array#each
2.77%1.15%0.580.240.000.3430000 + + Array#all? + +
  0.330.220.000.112538741/2538753BasicObject#!=89 +
  0.000.000.000.005952/19187String#=~150 +
  0.000.000.000.005952/69991String#upcase150 +
  0.000.000.000.0012/2538753ProgressBar::Calculators::Length#length_changed?22
  0.330.220.000.112538741/2538753Array#all?
1.61%1.07%0.330.220.000.112538753 + + BasicObject#!= + +
  0.110.110.000.002538741/119272278String#== +
  0.000.000.000.0011/119Integer#== +
  0.000.000.000.001/1BasicObject#== +
  0.200.000.000.207/7Object#work119
0.97%0.00%0.200.000.000.207 + + Object#collect_stats_from_users + + 38
  0.200.050.000.167/36Array#each39 +
  0.180.180.000.0034792/34792Array#each
0.88%0.88%0.180.180.000.0034792 + + Array#+ + +
  0.010.010.000.002/50514Object#work97
  0.110.030.000.0750512/50514Array#each
0.54%0.19%0.110.040.000.0750514 + + Array#map + +
  0.060.030.000.0325408/25408<Class::Date>#parse156 +
  0.000.000.000.0025408/25408Date#iso8601156 +
  0.000.000.000.0050816/69991String#upcase100 +
  0.000.000.000.0050816/50816String#to_i126 +
  0.060.030.000.0325408/25408Array#map
0.30%0.15%0.060.030.000.0325408 + + <Class::Date>#parse + +
  0.010.010.000.0025408/25468String#gsub! +
  0.010.010.000.0050816/50816Regexp#match +
  0.010.010.000.0025408/25408MatchData#begin +
  0.000.000.000.0025408/25408String#[]= +
  0.000.000.000.0025408/25408MatchData#end +
  0.000.000.000.0025408/25408Integer#div +
  0.040.020.000.0225408/25408Array#each
0.19%0.11%0.040.020.000.0225408 + + Object#parse_session + + 27
  0.010.010.000.0025408/60001String#split28 +
  0.010.010.000.00127040/205545Array#[]30 +
  0.000.000.000.004592/60001Object#parse_user18
  0.000.000.000.001/60001Object#work53
  0.010.010.000.0025408/60001Object#parse_session28
  0.020.020.000.0030000/60001Array#each
0.17%0.17%0.040.040.000.0060001 + + String#split + +
  0.000.000.000.0012/25468<Class::ProgressBar::Format::Formatter>#process11
  0.000.000.000.0048/25468Array#each
  0.010.010.000.0025408/25468<Class::Date>#parse
0.05%0.05%0.010.010.000.0025468 + + String#gsub! + +
  0.010.010.000.0050816/50816<Class::Date>#parse
0.05%0.05%0.010.010.000.0050816 + + Regexp#match + +
  0.000.000.000.001/9185Object#work97
  0.010.000.000.009184/9185Array#each
0.05%0.03%0.010.010.000.009185 + + Array#sort + +
  0.000.000.000.0051787/51787Date#<=> +
  0.010.010.000.004592/4592Array#each
0.05%0.03%0.010.010.000.004592 + + Object#parse_user + + 17
  0.000.000.000.004592/60001String#split18 +
  0.000.000.000.0018368/205545Array#[]20 +
  0.000.000.000.001/4611ProgressBar::Throttle#initialize12
  0.000.000.000.002/4611ProgressBar::Timer#initialize9
  0.000.000.000.004/4611String#scan
  0.000.000.000.002/4611ProgressBar::Output#initialize13
  0.000.000.000.001/4611<Class::ProgressBar::Output>#detect24
  0.000.000.000.008/4611ProgressBar::Base#initialize52
  0.000.000.000.001/4611<Class::ProgressBar>#create10
  0.010.010.000.004592/4611Array#each
0.04%0.03%0.010.010.000.004611 + + *Class#new + +
  0.000.000.000.004592/4592User#initialize +
  0.000.000.000.001/1ProgressBar::Base#initialize +
  0.000.000.000.001/1ProgressBar::Projectors::SmoothedAverage#initialize +
  0.000.000.000.001/1ProgressBar::Output#initialize +
  0.000.000.000.001/1ProgressBar::Progress#initialize +
  0.000.000.000.002/2ProgressBar::Timer#initialize +
  0.000.000.000.001/1ProgressBar::Throttle#initialize +
  0.000.000.000.004/4ProgressBar::Format::Molecule#initialize +
  0.000.000.000.001/1ProgressBar::Components::Bar#initialize +
  0.000.000.000.001/1ProgressBar::Calculators::Length#initialize +
  0.000.000.000.001/1ProgressBar::Components::Rate#initialize +
  0.000.000.000.001/1ProgressBar::Components::Time#initialize +
  0.000.000.000.002/2ProgressBar::Time#initialize +
  0.000.000.000.001/1ProgressBar::Components::Title#initialize +
  0.000.000.000.001/1ProgressBar::Components::Percentage#initialize +
  0.000.000.000.0028/205545ProgressBar::Projectors::SmoothedAverage#absolute67
  0.000.000.000.0013/205545ProgressBar::Projectors::SmoothedAverage#progress33
  0.000.000.000.0096/205545ProgressBar::Format::Molecule#lookup_value51
  0.000.000.000.0018368/205545Object#parse_user20
  0.000.000.000.0060000/205545Array#each
  0.010.010.000.00127040/205545Object#parse_session30
0.04%0.04%0.010.010.000.00205545 + + Array#[] + +
  0.000.000.000.001/64348ProgressBar::Components::Percentage#initialize7
  0.000.000.000.001/64348ProgressBar::Components::Title#initialize9
  0.000.000.000.001/64348ProgressBar::Throttle#initialize9
  0.000.000.000.002/64348ProgressBar::Calculators::Length#initialize9
  0.000.000.000.002/64348<Class::ProgressBar::Output>#detect21
  0.000.000.000.003/64348ProgressBar::Components::Time#initialize22
  0.000.000.000.005/64348ProgressBar::Components::Bar#initialize18
  0.000.000.000.001/64348ProgressBar::Projectors::SmoothedAverage#initialize14
  0.000.000.000.003/64348ProgressBar::Output#initialize11
  0.000.000.000.003/64348ProgressBar::Components::Rate#initialize9
  0.000.000.000.002/64348ProgressBar::Timer#initialize9
  0.000.000.000.002/64348ProgressBar::Progress#start19
  0.000.000.000.002/64348ProgressBar::Projectors::SmoothedAverage#start21
  0.000.000.000.008/64348ProgressBar::Base#initialize46
  0.000.000.000.0012/64348ProgressBar::Output#refresh51
  0.000.000.000.0012/64348ProgressBar::Components::Bar#to_s28
  0.010.010.000.0064288/64348Array#each
0.04%0.04%0.010.010.000.0064348 + + Hash#[] + +
  0.000.000.000.0012/73484ProgressBar::Output#print_and_flush67
  0.010.010.000.0073472/73484Array#each
0.04%0.04%0.010.010.000.0073484 + + String#+ + +
  0.010.010.000.0025408/25408<Class::Date>#parse
0.03%0.03%0.010.010.000.0025408 + + MatchData#begin + +
  0.010.000.000.004592/4592Array#each
0.03%0.01%0.010.000.000.004592 + + Array#any? + +
  0.000.000.000.0013223/19187String#=~144 +
  0.000.000.000.0013223/69991String#upcase144 +
  0.000.000.000.005952/69991Array#all?
  0.000.000.000.0013223/69991Array#any?
  0.000.000.000.0050816/69991Array#map
0.03%0.03%0.010.010.000.0069991 + + String#upcase + +
  0.000.000.000.001/36738Object#work83
  0.000.000.000.001/36738ProgressBar::Base#initialize46
  0.000.000.000.0036736/36738Array#each
0.02%0.02%0.000.000.000.0036738 + + Hash#[]= + +
  0.000.000.000.001/1Object#work160
0.02%0.02%0.000.000.000.001 + + JSON::Ext::Generator::GeneratorMethods::Hash#to_json + +
  0.000.000.000.001/1JSON::Ext::Generator::State#initialize +
  0.000.000.000.0025408/25408Array#map
0.02%0.02%0.000.000.000.0025408 + + Date#iso8601 + +
  0.000.000.000.002/32146ProgressBar::Base#initialize71
  0.000.000.000.0032144/32146Array#each
0.02%0.02%0.000.000.000.0032146 + + Hash#merge + +
  0.000.000.000.0064288/64288Array#each
0.02%0.02%0.000.000.000.0064288 + + User#attributes + +
  0.000.000.000.0012/19187ProgressBar::Calculators::Length#unix?94
  0.000.000.000.005952/19187Array#all?
  0.000.000.000.0013223/19187Array#any?
0.02%0.02%0.000.000.000.0019187 + + String#=~ + +
  0.000.000.000.0051787/51787Array#sort
0.02%0.02%0.000.000.000.0051787 + + Date#<=> + +
  0.000.000.000.0050816/50816Array#map
0.01%0.01%0.000.000.000.0050816 + + String#to_i + +
  0.000.000.000.001/13ProgressBar::Base#start89
  0.000.000.000.0012/13ProgressBar::Base#increment142
0.01%0.00%0.000.000.000.0013 + + ProgressBar::Base#update_progress + + 226
  0.000.000.000.0013/13ProgressBar::Output#with_refresh227 +
  0.000.000.000.0013/26ProgressBar::Base#output227 +
  0.000.000.000.0013/13ProgressBar::Base#update_progress227
0.01%0.00%0.000.000.000.0013 + + ProgressBar::Output#with_refresh + + 45
  0.000.000.000.0013/13ProgressBar::Output#refresh47 +
  0.000.000.000.0012/12ProgressBar::Projectors::SmoothedAverage#increment229 +
  0.000.000.000.0012/12ProgressBar::Progress#increment228 +
  0.000.000.000.0013/36ProgressBar::Base#finished?230 +
  0.000.000.000.001/1ProgressBar::Timer#stop230 +
  0.000.000.000.001/2ProgressBar::Projectors::SmoothedAverage#start229 +
  0.000.000.000.0013/50ProgressBar::Base#progressable228 +
  0.000.000.000.0013/14ProgressBar::Base#projector229 +
  0.000.000.000.001/2ProgressBar::Progress#start228 +
  0.000.000.000.001/28ProgressBar::Base#timer230 +
  0.000.000.000.0012/12Object#work54
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Base#increment + + 141
  0.000.000.000.0012/13ProgressBar::Base#update_progress142 +
  0.000.000.000.0032144/32144Array#each
0.01%0.01%0.000.000.000.0032144 + + User#sessions + +
  0.000.000.000.0013/13ProgressBar::Output#with_refresh47
0.01%0.00%0.000.000.000.0013 + + ProgressBar::Output#refresh + + 50
  0.000.000.000.0013/13ProgressBar::Throttle#choke51 +
  0.000.000.000.0013/25ProgressBar::Base#stopped?51 +
  0.000.000.000.0013/13ProgressBar::Output#throttle51 +
  0.000.000.000.0013/37ProgressBar::Output#bar51 +
  0.000.000.000.0012/64348Hash#[]51 +
  0.000.000.000.0025408/25408<Class::Date>#parse
0.01%0.01%0.000.000.000.0025408 + + String#[]= + +
  0.000.000.000.0013/13ProgressBar::Output#refresh51
0.01%0.00%0.000.000.000.0013 + + ProgressBar::Throttle#choke + + 15
  0.000.000.000.0012/12ProgressBar::Output#print_and_flush54 +
  0.000.000.000.0011/34ProgressBar::Timer#elapsed_seconds16 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#length_changed?52 +
  0.000.000.000.0012/12ProgressBar::Timer#restart20 +
  0.000.000.000.001/1ProgressBar::Outputs::Tty#clear52 +
  0.000.000.000.0013/61ProgressBar::Timer#started?16 +
  0.000.000.000.0036/36ProgressBar::Throttle#timer16 +
  0.000.000.000.0012/21Hash#fetch16 +
  0.000.000.000.0012/25ProgressBar::Output#length_calculator52 +
  0.000.000.000.0011/11Float#>=16 +
  0.000.000.000.0013/27BasicObject#!16 +
  0.000.000.000.0011/11ProgressBar::Throttle#rate16 +
  0.000.000.000.004592/4592Class#new
0.01%0.01%0.000.000.000.004592 + + User#initialize + + 11
  0.000.000.000.0025408/25408<Class::Date>#parse
0.01%0.01%0.000.000.000.0025408 + + MatchData#end + +
  0.000.000.000.0012/12ProgressBar::Throttle#choke54
0.01%0.00%0.000.000.000.0012 + + ProgressBar::Output#print_and_flush + + 66
  0.000.000.000.0012/12ProgressBar::Outputs::Tty#bar_update_string67 +
  0.000.000.000.0012/14IO#print67 +
  0.000.000.000.0012/12ProgressBar::Outputs::Tty#eol67 +
  0.000.000.000.0024/27ProgressBar::Output#stream67 +
  0.000.000.000.0012/12IO#flush68 +
  0.000.000.000.0012/73484String#+67 +
  0.000.000.000.001/4593Object#work97
  0.000.000.000.004592/4593Array#each
0.01%0.01%0.000.000.000.004593 + + Array#join + +
  0.000.000.000.0025408/25408<Class::Date>#parse
0.01%0.01%0.000.000.000.0025408 + + Integer#div + +
  0.000.000.000.0012/12ProgressBar::Output#print_and_flush67
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Outputs::Tty#bar_update_string + + 15
  0.000.000.000.0012/12ProgressBar::Base#to_s16 +
  0.000.000.000.0012/37ProgressBar::Output#bar16 +
  0.000.000.000.0012/12ProgressBar::Outputs::Tty#bar_update_string16
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Base#to_s + + 169
  0.000.000.000.0012/12<Class::ProgressBar::Format::Formatter>#process172 +
  0.000.000.000.0012/12ProgressBar::Output#length172 +
  0.000.000.000.0012/26ProgressBar::Base#output172 +
  0.000.000.000.0012/12ProgressBar::Base#to_s172
0.00%0.00%0.000.000.000.0012 + + <Class::ProgressBar::Format::Formatter>#process + + 4
  0.000.000.000.0024/36Array#each7 +
  0.000.000.000.0012/12String#dup5 +
  0.000.000.000.0012/12ProgressBar::Format::String#non_bar_molecules7 +
  0.000.000.000.0012/12ProgressBar::Format::String#displayable_length13 +
  0.000.000.000.0012/25468String#gsub!11 +
  0.000.000.000.0012/12ProgressBar::Format::String#bar_molecule_placeholder_length13 +
  0.000.000.000.0012/13ProgressBar::Format::String#bar_molecules18 +
  0.000.000.000.0012/36Integer#+13 +
  0.000.000.000.0012/24Integer#<16 +
  0.000.000.000.0012/38Integer#-13 +
  0.000.000.000.009184/9184Array#each
0.00%0.00%0.000.000.000.009184 + + Integer#to_s + +
  0.000.000.000.001/1Object#work53
0.00%0.00%0.000.000.000.001 + + <Class::IO>#read + +
  0.000.000.000.0048/48Array#each
0.00%0.00%0.000.000.000.0048 + + ProgressBar::Format::Molecule#lookup_value + + 50
  0.000.000.000.0012/12ProgressBar::Components::Time#estimated_with_friendly_oob56 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#complete_bar54 +
  0.000.000.000.0012/13ProgressBar::Components::Time#elapsed_with_label56 +
  0.000.000.000.0012/12ProgressBar::Components::Percentage#justified_percentage_with_precision56 +
  0.000.000.000.0048/56ProgressBar::Format::Molecule#bar_molecule?53 +
  0.000.000.000.0096/96ProgressBar::Format::Molecule#method_name51 +
  0.000.000.000.0096/205545Array#[]51 +
  0.000.000.000.0048/60String#to_s56 +
  0.000.000.000.0024/24ProgressBar::Base#time_component51 +
  0.000.000.000.0012/12ProgressBar::Base#percentage_component51 +
  0.000.000.000.0012/12ProgressBar::Base#bar_component51 +
  0.000.000.000.0014/15IO#print
  0.000.000.000.001/15Object#work160
0.00%0.00%0.000.000.000.0015 + + IO#write + +
  0.000.000.000.001/1Object#work97
0.00%0.00%0.000.000.000.001 + + Array#uniq + +
  0.000.000.000.0010/34ProgressBar::Components::Time#estimated_seconds_remaining97
  0.000.000.000.0013/34ProgressBar::Timer#elapsed_whole_seconds64
  0.000.000.000.0011/34ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0034 + + ProgressBar::Timer#elapsed_seconds + + 57
  0.000.000.000.0032/46ProgressBar::Time#now60 +
  0.000.000.000.0034/34Time#-60 +
  0.000.000.000.0034/61ProgressBar::Timer#started?58 +
  0.000.000.000.0034/105ProgressBar::Timer#started_at60 +
  0.000.000.000.0034/82ProgressBar::Timer#stopped_at60 +
  0.000.000.000.0032/46ProgressBar::Timer#time60 +
  0.000.000.000.003/4595Object#work83
  0.000.000.000.004592/4595Array#each
0.00%0.00%0.000.000.000.004595 + + Array#count + +
  0.000.000.000.001/1Object#work50
0.00%0.00%0.000.000.000.001 + + <Class::ProgressBar>#create + + 9
  0.000.000.000.001/4611Class#new10 +
  0.000.000.000.004592/4592Array#each
0.00%0.00%0.000.000.000.004592 + + Array#sum + +
  0.000.000.000.001/46ProgressBar::Timer#stop20
  0.000.000.000.0013/46ProgressBar::Timer#start13
  0.000.000.000.0032/46ProgressBar::Timer#elapsed_seconds60
0.00%0.00%0.000.000.000.0046 + + ProgressBar::Time#now + + 15
  0.000.000.000.0046/46<Class::Time>#now16 +
  0.000.000.000.0046/46ProgressBar::Time#unmocked_time_method16 +
  0.000.000.000.0046/54ProgressBar::Time#time16 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#initialize + + 45
  0.000.000.000.001/1ProgressBar::Base#start84 +
  0.000.000.000.008/4611Class#new52 +
  0.000.000.000.001/1<Class::ProgressBar::Output>#detect81 +
  0.000.000.000.001/1ProgressBar::Base#time_component=79 +
  0.000.000.000.001/1<Class::String>#new82 +
  0.000.000.000.001/1<Class::ProgressBar::Projector>#from_type66 +
  0.000.000.000.008/64348Hash#[]46 +
  0.000.000.000.001/1ProgressBar::Base#percentage_component=77 +
  0.000.000.000.002/21Hash#fetch48 +
  0.000.000.000.002/32146Hash#merge71 +
  0.000.000.000.001/1ProgressBar::Base#timer=52 +
  0.000.000.000.001/1Hash#any?53 +
  0.000.000.000.001/1ProgressBar::Base#title_component=75 +
  0.000.000.000.001/1ProgressBar::Base#autostart=48 +
  0.000.000.000.001/1ProgressBar::Base#autofinish=49 +
  0.000.000.000.001/1ProgressBar::Base#projector=66 +
  0.000.000.000.001/1ProgressBar::Base#output=81 +
  0.000.000.000.001/1ProgressBar::Base#rate_component=78 +
  0.000.000.000.001/1ProgressBar::Base#autostart84 +
  0.000.000.000.001/50ProgressBar::Base#progressable71 +
  0.000.000.000.001/26ProgressBar::Base#output82 +
  0.000.000.000.001/1ProgressBar::Outputs::Tty#resolve_format82 +
  0.000.000.000.001/1ProgressBar::Base#bar_component=76 +
  0.000.000.000.001/1ProgressBar::Base#progressable=69 +
  0.000.000.000.001/14ProgressBar::Base#projector71 +
  0.000.000.000.001/28ProgressBar::Base#timer71 +
  0.000.000.000.001/1ProgressBar::Base#finished=50 +
  0.000.000.000.001/36738Hash#[]=46 +
  0.000.000.000.004592/4592Array#each
0.00%0.00%0.000.000.000.004592 + + Array#reverse + +
  0.000.000.000.004592/4592Array#each
0.00%0.00%0.000.000.000.004592 + + Array#max + +
  0.000.000.000.0046/46ProgressBar::Time#now16
0.00%0.00%0.000.000.000.0046 + + <Class::Time>#now + + 225
  0.000.000.000.001/1ProgressBar::Base#initialize84
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#start + + 87
  0.000.000.000.001/13ProgressBar::Base#update_progress89 +
  0.000.000.000.001/13ProgressBar::Timer#start88 +
  0.000.000.000.001/28ProgressBar::Base#timer88 +
  0.000.000.000.0012/12ProgressBar::Throttle#choke52
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#length_changed? + + 18
  0.000.000.000.0012/12ProgressBar::Calculators::Length#calculate_length20 +
  0.000.000.000.0012/2538753BasicObject#!=22 +
  0.000.000.000.0024/37ProgressBar::Calculators::Length#current_length19 +
  0.000.000.000.0012/13ProgressBar::Calculators::Length#current_length=20 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#length_changed?20
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#calculate_length + + 25
  0.000.000.000.0012/12ProgressBar::Calculators::Length#terminal_width26 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#length_override26 +
  0.000.000.000.002/14ProgressBar::Outputs::Tty#clear11
  0.000.000.000.0012/14ProgressBar::Output#print_and_flush67
0.00%0.00%0.000.000.000.0014 + + IO#print + +
  0.000.000.000.0014/15IO#write +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#calculate_length26
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#terminal_width + + 43
  0.000.000.000.0012/12ProgressBar::Calculators::Length#dynamic_width46 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#unix?44 +
  0.000.000.000.0012/24Integer#<47 +
  0.000.000.000.0012/12ProgressBar::Format::Molecule#lookup_value56
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Time#estimated_with_friendly_oob + + 43
  0.000.000.000.0012/12ProgressBar::Components::Time#estimated_with_elapsed_fallback44 +
  0.000.000.000.001/13ProgressBar::Components::Time#estimated_with_elapsed_fallback89
  0.000.000.000.0012/13ProgressBar::Format::Molecule#lookup_value56
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Components::Time#elapsed_with_label + + 31
  0.000.000.000.0013/13ProgressBar::Components::Time#elapsed32 +
  0.000.000.000.0012/12ProgressBar::Format::Molecule#lookup_value54
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#complete_bar + + 41
  0.000.000.000.0012/12ProgressBar::Components::Bar#to_s44 +
  0.000.000.000.0012/13ProgressBar::Components::Bar#length=42 +
  0.000.000.000.0012/12ProgressBar::Components::Time#estimated_with_friendly_oob44
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Time#estimated_with_elapsed_fallback + + 88
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated_with_label91 +
  0.000.000.000.001/13ProgressBar::Components::Time#elapsed_with_label89 +
  0.000.000.000.0012/48ProgressBar::Progress#finished?89 +
  0.000.000.000.0012/43ProgressBar::Components::Time#progress89 +
  0.000.000.000.0013/13ProgressBar::Components::Time#elapsed_with_label32
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Components::Time#elapsed + + 80
  0.000.000.000.0013/13ProgressBar::Timer#elapsed_whole_seconds83 +
  0.000.000.000.0013/35String#%85 +
  0.000.000.000.0013/23ProgressBar::Timer#divide_seconds83 +
  0.000.000.000.0039/79ProgressBar::Components::Time#timer81 +
  0.000.000.000.0013/61ProgressBar::Timer#started?81 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#complete_bar44
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#to_s + + 25
  0.000.000.000.0012/12ProgressBar::Components::Bar#standard_complete_string29 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#incomplete_string29 +
  0.000.000.000.0012/23ProgressBar::Progress#unknown?26 +
  0.000.000.000.0012/36ProgressBar::Components::Bar#progress26 +
  0.000.000.000.0012/12Symbol#==28 +
  0.000.000.000.0012/64348Hash#[]28 +
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated_with_elapsed_fallback91
0.00%0.00%0.000.000.000.0011 + + ProgressBar::Components::Time#estimated_with_label + + 27
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated28 +
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated_with_label28
0.00%0.00%0.000.000.000.0011 + + ProgressBar::Components::Time#estimated + + 66
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated_seconds_remaining67 +
  0.000.000.000.0010/23ProgressBar::Timer#divide_seconds71 +
  0.000.000.000.0010/35String#%76 +
  0.000.000.000.0010/79ProgressBar::Components::Time#timer71 +
  0.000.000.000.0010/24Integer#>73 +
  0.000.000.000.001/1JSON::Ext::Generator::GeneratorMethods::Hash#to_json
0.00%0.00%0.000.000.000.001 + + JSON::Ext::Generator::State#initialize + +
  0.000.000.000.001/26ProgressBar::Base#initialize82
  0.000.000.000.0012/26ProgressBar::Base#to_s172
  0.000.000.000.0013/26ProgressBar::Base#update_progress227
0.00%0.00%0.000.000.000.0026 + + ProgressBar::Base#output + +
  0.000.000.000.001/1ProgressBar::Output#with_refresh230
0.00%0.00%0.000.000.000.001 + + ProgressBar::Timer#stop + + 17
  0.000.000.000.001/46ProgressBar::Time#now20 +
  0.000.000.000.001/61ProgressBar::Timer#started?18 +
  0.000.000.000.001/26ProgressBar::Timer#stopped_at=20 +
  0.000.000.000.001/46ProgressBar::Timer#time20 +
  0.000.000.000.0012/12ProgressBar::Output#with_refresh229
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Projectors::SmoothedAverage#increment + + 28
  0.000.000.000.0012/14ProgressBar::Projectors::SmoothedAverage#progress=29 +
  0.000.000.000.0012/13ProgressBar::Projectors::SmoothedAverage#progress29 +
  0.000.000.000.0012/36Integer#+29 +
  0.000.000.000.0012/12ProgressBar::Output#with_refresh228
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Progress#increment + + 31
  0.000.000.000.0012/14ProgressBar::Progress#progress=38 +
  0.000.000.000.0012/36Integer#+38 +
  0.000.000.000.0024/119Integer#==32 +
  0.000.000.000.0036/107ProgressBar::Progress#progress32 +
  0.000.000.000.0024/193ProgressBar::Progress#total32 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#terminal_width46
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#dynamic_width + + 56
  0.000.000.000.0012/12ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object58 +
  0.000.000.000.0012/13IO#tty?57 +
  0.000.000.000.0012/20Kernel#respond_to?57 +
  0.000.000.000.0036/48ProgressBar::Calculators::Length#output57 +
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated67
0.00%0.00%0.000.000.000.0011 + + ProgressBar::Components::Time#estimated_seconds_remaining + + 94
  0.000.000.000.0010/34ProgressBar::Timer#elapsed_seconds97 +
  0.000.000.000.0011/11ProgressBar::Projectors::SmoothedAverage#none?95 +
  0.000.000.000.0010/10ProgressBar::Progress#none?95 +
  0.000.000.000.0011/23ProgressBar::Progress#unknown?95 +
  0.000.000.000.0010/10ProgressBar::Timer#reset?95 +
  0.000.000.000.0010/10Float#round97 +
  0.000.000.000.0010/48ProgressBar::Timer#stopped?95 +
  0.000.000.000.0031/43ProgressBar::Components::Time#progress95 +
  0.000.000.000.0030/79ProgressBar::Components::Time#timer95 +
  0.000.000.000.0021/21ProgressBar::Components::Time#projector95 +
  0.000.000.000.0010/24Float#-97 +
  0.000.000.000.0010/36Float#*97 +
  0.000.000.000.0010/82Integer#/97 +
  0.000.000.000.0010/21ProgressBar::Projectors::SmoothedAverage#projection97 +
  0.000.000.000.0010/193ProgressBar::Progress#total97 +
  0.000.000.000.001/1ProgressBar::Base#initialize82
0.00%0.00%0.000.000.000.001 + + ProgressBar::Outputs::Tty#resolve_format + + 23
  0.000.000.000.001/1ProgressBar::Base#initialize75
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#title_component= + +
  0.000.000.000.001/1ProgressBar::Base#initialize52
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#timer= + +
  0.000.000.000.001/28ProgressBar::Base#start88
  0.000.000.000.001/28ProgressBar::Base#initialize71
  0.000.000.000.001/28ProgressBar::Output#with_refresh230
  0.000.000.000.0025/28ProgressBar::Base#stopped?124
0.00%0.00%0.000.000.000.0028 + + ProgressBar::Base#timer + +
  0.000.000.000.001/1ProgressBar::Base#initialize79
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#time_component= + +
  0.000.000.000.001/1ProgressBar::Base#initialize78
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#rate_component= + +
  0.000.000.000.001/1ProgressBar::Base#initialize66
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#projector= + +
  0.000.000.000.001/14ProgressBar::Base#initialize71
  0.000.000.000.0013/14ProgressBar::Output#with_refresh229
0.00%0.00%0.000.000.000.0014 + + ProgressBar::Base#projector + +
  0.000.000.000.001/1ProgressBar::Base#initialize69
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#progressable= + +
  0.000.000.000.001/50ProgressBar::Base#initialize71
  0.000.000.000.0036/50ProgressBar::Base#finished?130
  0.000.000.000.0013/50ProgressBar::Output#with_refresh228
0.00%0.00%0.000.000.000.0050 + + ProgressBar::Base#progressable + +
  0.000.000.000.001/1ProgressBar::Base#initialize77
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#percentage_component= + +
  0.000.000.000.001/1ProgressBar::Base#initialize81
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#output= + +
  0.000.000.000.0023/36ProgressBar::Base#stopped?124
  0.000.000.000.0013/36ProgressBar::Output#with_refresh230
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Base#finished? + + 129
  0.000.000.000.0036/48ProgressBar::Progress#finished?130 +
  0.000.000.000.0036/36ProgressBar::Base#autofinish130 +
  0.000.000.000.0036/36ProgressBar::Base#finished130 +
  0.000.000.000.0036/50ProgressBar::Base#progressable130 +
  0.000.000.000.001/1ProgressBar::Base#initialize50
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#finished= + +
  0.000.000.000.001/1ProgressBar::Base#initialize76
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#bar_component= + +
  0.000.000.000.001/1ProgressBar::Base#initialize48
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#autostart= + +
  0.000.000.000.001/1ProgressBar::Base#initialize84
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#autostart + +
  0.000.000.000.001/1ProgressBar::Base#initialize49
0.00%0.00%0.000.000.000.001 + + ProgressBar::Base#autofinish= + +
  0.000.000.000.001/21ProgressBar::Throttle#initialize12
  0.000.000.000.001/21<Class::ProgressBar::Projector>#from_type11
  0.000.000.000.001/21ProgressBar::Progress#initialize13
  0.000.000.000.004/21ProgressBar::Format::Molecule#initialize35
  0.000.000.000.002/21ProgressBar::Base#initialize48
  0.000.000.000.0012/21ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0021 + + Hash#fetch + +
  0.000.000.000.001/1ProgressBar::Base#initialize53
0.00%0.00%0.000.000.000.001 + + Hash#any? + +
  0.000.000.000.001/1ProgressBar::Base#initialize82
0.00%0.00%0.000.000.000.001 + + <Class::String>#new + +
  0.000.000.000.001/1String#initialize +
  0.000.000.000.001/1ProgressBar::Base#initialize66
0.00%0.00%0.000.000.000.001 + + <Class::ProgressBar::Projector>#from_type + + 10
  0.000.000.000.001/21Hash#fetch11 +
  0.000.000.000.001/1ProgressBar::Base#initialize81
0.00%0.00%0.000.000.000.001 + + <Class::ProgressBar::Output>#detect + + 20
  0.000.000.000.001/4611Class#new24 +
  0.000.000.000.001/13IO#tty?23 +
  0.000.000.000.001/1Kernel#is_a?21 +
  0.000.000.000.002/64348Hash#[]21 +
  0.000.000.000.001/1<Class::String>#new
0.00%0.00%0.000.000.000.001 + + String#initialize + +
  0.000.000.000.001/46ProgressBar::Timer#stop20
  0.000.000.000.0013/46ProgressBar::Timer#start13
  0.000.000.000.0032/46ProgressBar::Timer#elapsed_seconds60
0.00%0.00%0.000.000.000.0046 + + ProgressBar::Timer#time + +
  0.000.000.000.001/26ProgressBar::Timer#stop20
  0.000.000.000.0012/26ProgressBar::Timer#reset45
  0.000.000.000.0013/26ProgressBar::Timer#start14
0.00%0.00%0.000.000.000.0026 + + ProgressBar::Timer#stopped_at= + +
  0.000.000.000.001/61ProgressBar::Timer#stop18
  0.000.000.000.0013/61ProgressBar::Components::Time#elapsed81
  0.000.000.000.0013/61ProgressBar::Throttle#choke16
  0.000.000.000.0034/61ProgressBar::Timer#elapsed_seconds58
0.00%0.00%0.000.000.000.0061 + + ProgressBar::Timer#started? + + 35
  0.000.000.000.0061/105ProgressBar::Timer#started_at36 +
  0.000.000.000.001/13ProgressBar::Base#start88
  0.000.000.000.0012/13ProgressBar::Timer#restart54
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Timer#start + + 12
  0.000.000.000.0013/46ProgressBar::Time#now13 +
  0.000.000.000.0013/48ProgressBar::Timer#stopped?13 +
  0.000.000.000.0013/25ProgressBar::Timer#started_at=13 +
  0.000.000.000.0013/26ProgressBar::Timer#stopped_at=14 +
  0.000.000.000.0013/46ProgressBar::Timer#time13 +
  0.000.000.000.002/2Class#new
0.00%0.00%0.000.000.000.002 + + ProgressBar::Timer#initialize + + 8
  0.000.000.000.002/4611Class#new9 +
  0.000.000.000.002/2ProgressBar::Timer#time=9 +
  0.000.000.000.002/64348Hash#[]9 +
  0.000.000.000.002/14ProgressBar::Projectors::SmoothedAverage#start21
  0.000.000.000.0012/14ProgressBar::Projectors::SmoothedAverage#increment29
0.00%0.00%0.000.000.000.0014 + + ProgressBar::Projectors::SmoothedAverage#progress= + + 42
  0.000.000.000.0014/14<Class::ProgressBar::Projectors::SmoothedAverage>#calculate44 +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#absolute44 +
  0.000.000.000.0014/17ProgressBar::Projectors::SmoothedAverage#projection=44 +
  0.000.000.000.0014/16Array#[]=43 +
  0.000.000.000.0014/14Kernel#class44 +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#strength44 +
  0.000.000.000.0014/57ProgressBar::Projectors::SmoothedAverage#samples43 +
  0.000.000.000.001/13ProgressBar::Projectors::SmoothedAverage#start21
  0.000.000.000.0012/13ProgressBar::Projectors::SmoothedAverage#increment29
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Projectors::SmoothedAverage#progress + + 32
  0.000.000.000.0013/205545Array#[]33 +
  0.000.000.000.0013/57ProgressBar::Projectors::SmoothedAverage#samples33 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Projectors::SmoothedAverage#initialize + + 11
  0.000.000.000.001/2ProgressBar::Projectors::SmoothedAverage#start16 +
  0.000.000.000.001/1ProgressBar::Projectors::SmoothedAverage#samples=12 +
  0.000.000.000.001/1ProgressBar::Projectors::SmoothedAverage#strength=14 +
  0.000.000.000.001/17ProgressBar::Projectors::SmoothedAverage#projection=13 +
  0.000.000.000.001/64348Hash#[]14 +
  0.000.000.000.0010/193ProgressBar::Components::Time#estimated_seconds_remaining97
  0.000.000.000.0023/193ProgressBar::Progress#unknown?90
  0.000.000.000.0036/193ProgressBar::Progress#percentage_completed_with_precision98
  0.000.000.000.0028/193ProgressBar::Progress#progress=56
  0.000.000.000.0024/193ProgressBar::Progress#increment32
  0.000.000.000.0072/193ProgressBar::Progress#percentage_completed74
0.00%0.00%0.000.000.000.00193 + + ProgressBar::Progress#total + +
  0.000.000.000.002/14ProgressBar::Progress#start19
  0.000.000.000.0012/14ProgressBar::Progress#increment38
0.00%0.00%0.000.000.000.0014 + + ProgressBar::Progress#progress= + + 55
  0.000.000.000.0014/24Integer#>56 +
  0.000.000.000.0028/193ProgressBar::Progress#total56 +
  0.000.000.000.001/107ProgressBar::Progress#start19
  0.000.000.000.001/107ProgressBar::Progress#total=65
  0.000.000.000.0010/107ProgressBar::Progress#none?86
  0.000.000.000.0012/107ProgressBar::Progress#percentage_completed_with_precision101
  0.000.000.000.0023/107ProgressBar::Progress#unknown?90
  0.000.000.000.0024/107ProgressBar::Progress#percentage_completed82
  0.000.000.000.0036/107ProgressBar::Progress#increment32
0.00%0.00%0.000.000.000.00107 + + ProgressBar::Progress#progress + +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Progress#initialize + + 12
  0.000.000.000.001/2ProgressBar::Progress#start15 +
  0.000.000.000.001/1ProgressBar::Progress#total=13 +
  0.000.000.000.001/21Hash#fetch13 +
  0.000.000.000.0012/48ProgressBar::Components::Time#estimated_with_elapsed_fallback89
  0.000.000.000.0036/48ProgressBar::Base#finished?130
0.00%0.00%0.000.000.000.0048 + + ProgressBar::Progress#finished? + + 27
  0.000.000.000.0048/119Integer#==28 +
  0.000.000.000.0013/13ProgressBar::Output#refresh51
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Output#throttle + +
  0.000.000.000.0012/37ProgressBar::Outputs::Tty#eol28
  0.000.000.000.0013/37ProgressBar::Output#refresh51
  0.000.000.000.0012/37ProgressBar::Outputs::Tty#bar_update_string16
0.00%0.00%0.000.000.000.0037 + + ProgressBar::Output#bar + +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Title#initialize + + 8
  0.000.000.000.001/1ProgressBar::Components::Title#title=9 +
  0.000.000.000.001/64348Hash#[]9 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Time#initialize + + 21
  0.000.000.000.001/1ProgressBar::Components::Time#progress=23 +
  0.000.000.000.001/1ProgressBar::Components::Time#timer=22 +
  0.000.000.000.001/1ProgressBar::Components::Time#projector=24 +
  0.000.000.000.003/64348Hash#[]22 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Rate#initialize + + 8
  0.000.000.000.001/1Kernel#lambda9 +
  0.000.000.000.001/1ProgressBar::Components::Rate#progress=11 +
  0.000.000.000.001/1ProgressBar::Components::Rate#rate_scale=9 +
  0.000.000.000.003/64348Hash#[]9 +
  0.000.000.000.001/1ProgressBar::Components::Rate#timer=10 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Percentage#initialize + + 6
  0.000.000.000.001/1ProgressBar::Components::Percentage#progress=7 +
  0.000.000.000.001/64348Hash#[]7 +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Bar#initialize + + 17
  0.000.000.000.001/1ProgressBar::Components::Bar#progress=21 +
  0.000.000.000.001/13ProgressBar::Components::Bar#length=22 +
  0.000.000.000.001/1ProgressBar::Components::Bar#remainder_mark=20 +
  0.000.000.000.001/1ProgressBar::Components::Bar#upa_steps=18 +
  0.000.000.000.001/1ProgressBar::Components::Bar#progress_mark=19 +
  0.000.000.000.005/64348Hash#[]18 +
  0.000.000.000.0012/25ProgressBar::Outputs::Tty#eol28
  0.000.000.000.0013/25ProgressBar::Output#refresh51
0.00%0.00%0.000.000.000.0025 + + ProgressBar::Base#stopped? + + 123
  0.000.000.000.0023/36ProgressBar::Base#finished?124 +
  0.000.000.000.0025/48ProgressBar::Timer#stopped?124 +
  0.000.000.000.0025/28ProgressBar::Base#timer124 +
  0.000.000.000.0036/36ProgressBar::Base#finished?130
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Base#finished + +
  0.000.000.000.0036/36ProgressBar::Base#finished?130
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Base#autofinish + +
  0.000.000.000.001/1<Class::ProgressBar::Output>#detect21
0.00%0.00%0.000.000.000.001 + + Kernel#is_a? + +
  0.000.000.000.0011/119BasicObject#!=
  0.000.000.000.0012/119ProgressBar::Progress#percentage_completed_with_precision98
  0.000.000.000.0024/119ProgressBar::Progress#percentage_completed75
  0.000.000.000.0048/119ProgressBar::Progress#finished?28
  0.000.000.000.0024/119ProgressBar::Progress#increment32
0.00%0.00%0.000.000.000.00119 + + Integer#== + +
  0.000.000.000.0012/36ProgressBar::Projectors::SmoothedAverage#increment29
  0.000.000.000.0012/36<Class::ProgressBar::Format::Formatter>#process13
  0.000.000.000.0012/36ProgressBar::Progress#increment38
0.00%0.00%0.000.000.000.0036 + + Integer#+ + +
  0.000.000.000.001/13<Class::ProgressBar::Output>#detect23
  0.000.000.000.0012/13ProgressBar::Calculators::Length#dynamic_width57
0.00%0.00%0.000.000.000.0013 + + IO#tty? + +
  0.000.000.000.002/2ProgressBar::Timer#initialize9
0.00%0.00%0.000.000.000.002 + + ProgressBar::Timer#time= + +
  0.000.000.000.0010/48ProgressBar::Components::Time#estimated_seconds_remaining95
  0.000.000.000.0013/48ProgressBar::Timer#start13
  0.000.000.000.0025/48ProgressBar::Base#stopped?124
0.00%0.00%0.000.000.000.0048 + + ProgressBar::Timer#stopped? + + 39
  0.000.000.000.0048/82ProgressBar::Timer#stopped_at40 +
  0.000.000.000.0012/25ProgressBar::Timer#reset44
  0.000.000.000.0013/25ProgressBar::Timer#start13
0.00%0.00%0.000.000.000.0025 + + ProgressBar::Timer#started_at= + +
  0.000.000.000.0010/105ProgressBar::Timer#reset?49
  0.000.000.000.0034/105ProgressBar::Timer#elapsed_seconds60
  0.000.000.000.0061/105ProgressBar::Timer#started?36
0.00%0.00%0.000.000.000.00105 + + ProgressBar::Timer#started_at + +
  0.000.000.000.0012/12ProgressBar::Throttle#choke20
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Timer#restart + + 52
  0.000.000.000.0012/13ProgressBar::Timer#start54 +
  0.000.000.000.0012/12ProgressBar::Timer#reset53 +
  0.000.000.000.0046/46ProgressBar::Time#now16
0.00%0.00%0.000.000.000.0046 + + ProgressBar::Time#unmocked_time_method + + 19
  0.000.000.000.002/2Enumerable#find20 +
  0.000.000.000.008/54Array#each
  0.000.000.000.0046/54ProgressBar::Time#now16
0.00%0.00%0.000.000.000.0054 + + ProgressBar::Time#time + +
  0.000.000.000.0036/36ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Throttle#timer + +
  0.000.000.000.0011/11ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0011 + + ProgressBar::Throttle#rate + +
  0.000.000.000.001/1ProgressBar::Projectors::SmoothedAverage#initialize14
0.00%0.00%0.000.000.000.001 + + ProgressBar::Projectors::SmoothedAverage#strength= + +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#progress=44
0.00%0.00%0.000.000.000.0014 + + ProgressBar::Projectors::SmoothedAverage#strength + +
  0.000.000.000.001/2ProgressBar::Output#with_refresh229
  0.000.000.000.001/2ProgressBar::Projectors::SmoothedAverage#initialize16
0.00%0.00%0.000.000.000.002 + + ProgressBar::Projectors::SmoothedAverage#start + + 19
  0.000.000.000.002/14ProgressBar::Projectors::SmoothedAverage#progress=21 +
  0.000.000.000.001/13ProgressBar::Projectors::SmoothedAverage#progress21 +
  0.000.000.000.002/16Array#[]=21 +
  0.000.000.000.002/57ProgressBar::Projectors::SmoothedAverage#samples21 +
  0.000.000.000.002/64348Hash#[]21 +
  0.000.000.000.002/17ProgressBar::Projectors::SmoothedAverage#projection=20 +
  0.000.000.000.001/1ProgressBar::Projectors::SmoothedAverage#initialize12
0.00%0.00%0.000.000.000.001 + + ProgressBar::Projectors::SmoothedAverage#samples= + +
  0.000.000.000.002/57ProgressBar::Projectors::SmoothedAverage#start21
  0.000.000.000.0014/57ProgressBar::Projectors::SmoothedAverage#progress=43
  0.000.000.000.0013/57ProgressBar::Projectors::SmoothedAverage#progress33
  0.000.000.000.0028/57ProgressBar::Projectors::SmoothedAverage#absolute67
0.00%0.00%0.000.000.000.0057 + + ProgressBar::Projectors::SmoothedAverage#samples + +
  0.000.000.000.001/17ProgressBar::Projectors::SmoothedAverage#initialize13
  0.000.000.000.002/17ProgressBar::Projectors::SmoothedAverage#start20
  0.000.000.000.0014/17ProgressBar::Projectors::SmoothedAverage#progress=44
0.00%0.00%0.000.000.000.0017 + + ProgressBar::Projectors::SmoothedAverage#projection= + +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#progress=44
0.00%0.00%0.000.000.000.0014 + + ProgressBar::Projectors::SmoothedAverage#absolute + + 66
  0.000.000.000.0014/38Integer#-67 +
  0.000.000.000.0028/205545Array#[]67 +
  0.000.000.000.0028/57ProgressBar::Projectors::SmoothedAverage#samples67 +
  0.000.000.000.001/1ProgressBar::Progress#initialize13
0.00%0.00%0.000.000.000.001 + + ProgressBar::Progress#total= + + 64
  0.000.000.000.001/1NilClass#nil?65 +
  0.000.000.000.001/107ProgressBar::Progress#progress65 +
  0.000.000.000.001/2ProgressBar::Output#with_refresh228
  0.000.000.000.001/2ProgressBar::Progress#initialize15
0.00%0.00%0.000.000.000.002 + + ProgressBar::Progress#start + + 18
  0.000.000.000.002/14ProgressBar::Progress#progress=19 +
  0.000.000.000.002/2ProgressBar::Progress#starting_position=19 +
  0.000.000.000.002/64348Hash#[]19 +
  0.000.000.000.001/107ProgressBar::Progress#progress19 +
  0.000.000.000.001/25ProgressBar::Output#clear_string38
  0.000.000.000.0012/25ProgressBar::Output#length42
  0.000.000.000.0012/25ProgressBar::Throttle#choke52
0.00%0.00%0.000.000.000.0025 + + ProgressBar::Output#length_calculator + +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#initialize + + 10
  0.000.000.000.002/4611Class#new13 +
  0.000.000.000.001/1ProgressBar::Output#bar=11 +
  0.000.000.000.001/1ProgressBar::Output#throttle=13 +
  0.000.000.000.001/1ProgressBar::Output#stream=12 +
  0.000.000.000.001/1ProgressBar::Output#length_calculator=14 +
  0.000.000.000.001/27ProgressBar::Output#stream14 +
  0.000.000.000.003/64348Hash#[]11 +
  0.000.000.000.001/1ProgressBar::Components::Title#initialize9
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Title#title= + +
  0.000.000.000.001/1ProgressBar::Components::Time#initialize22
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Time#timer= + +
  0.000.000.000.001/1ProgressBar::Components::Time#initialize24
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Time#projector= + +
  0.000.000.000.001/1ProgressBar::Components::Time#initialize23
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Time#progress= + +
  0.000.000.000.001/1ProgressBar::Components::Rate#initialize10
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Rate#timer= + +
  0.000.000.000.001/1ProgressBar::Components::Rate#initialize9
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Rate#rate_scale= + +
  0.000.000.000.001/1ProgressBar::Components::Rate#initialize11
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Rate#progress= + +
  0.000.000.000.001/1ProgressBar::Components::Percentage#initialize7
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Percentage#progress= + +
  0.000.000.000.001/1ProgressBar::Components::Bar#initialize18
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Bar#upa_steps= + +
  0.000.000.000.001/1ProgressBar::Components::Bar#initialize20
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Bar#remainder_mark= + +
  0.000.000.000.001/1ProgressBar::Components::Bar#initialize19
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Bar#progress_mark= + +
  0.000.000.000.001/1ProgressBar::Components::Bar#initialize21
0.00%0.00%0.000.000.000.001 + + ProgressBar::Components::Bar#progress= + +
  0.000.000.000.001/13ProgressBar::Components::Bar#initialize22
  0.000.000.000.0012/13ProgressBar::Components::Bar#complete_bar42
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Components::Bar#length= + +
  0.000.000.000.001/1ProgressBar::Components::Rate#initialize9
0.00%0.00%0.000.000.000.001 + + Kernel#lambda + +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#progress=44
0.00%0.00%0.000.000.000.0014 + + Kernel#class + + 18
  0.000.000.000.0010/24ProgressBar::Components::Time#estimated73
  0.000.000.000.0014/24ProgressBar::Progress#progress=56
0.00%0.00%0.000.000.000.0024 + + Integer#> + +
  0.000.000.000.0011/11ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0011 + + Float#>= + +
  0.000.000.000.004/27ProgressBar::Format::Molecule#non_bar_molecule?43
  0.000.000.000.0010/27ProgressBar::Timer#reset?49
  0.000.000.000.0013/27ProgressBar::Throttle#choke16
0.00%0.00%0.000.000.000.0027 + + BasicObject#! + +
  0.000.000.000.002/16ProgressBar::Projectors::SmoothedAverage#start21
  0.000.000.000.0014/16ProgressBar::Projectors::SmoothedAverage#progress=43
0.00%0.00%0.000.000.000.0016 + + Array#[]= + +
  0.000.000.000.0014/14ProgressBar::Projectors::SmoothedAverage#progress=44
0.00%0.00%0.000.000.000.0014 + + <Class::ProgressBar::Projectors::SmoothedAverage>#calculate + + 56
  0.000.000.000.0014/24Float#-57 +
  0.000.000.000.0014/14Float#+57 +
  0.000.000.000.0014/36Float#*57 +
  0.000.000.000.0014/75Integer#*57 +
  0.000.000.000.0034/34ProgressBar::Timer#elapsed_seconds60
0.00%0.00%0.000.000.000.0034 + + Time#- + +
  0.000.000.000.0034/34Integer#fdiv +
  0.000.000.000.0034/82ProgressBar::Timer#elapsed_seconds60
  0.000.000.000.0048/82ProgressBar::Timer#stopped?40
0.00%0.00%0.000.000.000.0082 + + ProgressBar::Timer#stopped_at + +
  0.000.000.000.0012/12ProgressBar::Timer#restart53
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Timer#reset + + 43
  0.000.000.000.0012/26ProgressBar::Timer#stopped_at=45 +
  0.000.000.000.0012/25ProgressBar::Timer#started_at=44 +
  0.000.000.000.002/2Class#new
0.00%0.00%0.000.000.000.002 + + ProgressBar::Time#initialize + + 11
  0.000.000.000.002/2ProgressBar::Time#time=12 +
  0.000.000.000.002/2ProgressBar::Progress#start19
0.00%0.00%0.000.000.000.002 + + ProgressBar::Progress#starting_position= + +
  0.000.000.000.0012/12ProgressBar::Output#print_and_flush67
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Outputs::Tty#eol + + 27
  0.000.000.000.0012/25ProgressBar::Base#stopped?28 +
  0.000.000.000.0012/37ProgressBar::Output#bar28 +
  0.000.000.000.001/1ProgressBar::Output#initialize13
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#throttle= + +
  0.000.000.000.001/1ProgressBar::Output#initialize12
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#stream= + +
  0.000.000.000.002/27ProgressBar::Outputs::Tty#clear11
  0.000.000.000.001/27ProgressBar::Output#initialize14
  0.000.000.000.0024/27ProgressBar::Output#print_and_flush67
0.00%0.00%0.000.000.000.0027 + + ProgressBar::Output#stream + +
  0.000.000.000.001/1ProgressBar::Output#initialize14
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#length_calculator= + +
  0.000.000.000.001/1ProgressBar::Output#initialize11
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#bar= + +
  0.000.000.000.001/13ProgressBar::Calculators::Length#initialize11
  0.000.000.000.0012/13ProgressBar::Calculators::Length#length_changed?20
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Calculators::Length#current_length= + +
  0.000.000.000.0013/37ProgressBar::Calculators::Length#length15
  0.000.000.000.0024/37ProgressBar::Calculators::Length#length_changed?19
0.00%0.00%0.000.000.000.0037 + + ProgressBar::Calculators::Length#current_length + +
  0.000.000.000.001/1ProgressBar::Progress#total=65
0.00%0.00%0.000.000.000.001 + + NilClass#nil? + +
  0.000.000.000.0012/38ProgressBar::Components::Bar#incomplete_string82
  0.000.000.000.0012/38<Class::ProgressBar::Format::Formatter>#process13
  0.000.000.000.0014/38ProgressBar::Projectors::SmoothedAverage#absolute67
0.00%0.00%0.000.000.000.0038 + + Integer#- + +
  0.000.000.000.001/75ProgressBar::Format::String#bar_molecule_placeholder_length14
  0.000.000.000.0012/75ProgressBar::Progress#percentage_completed_with_precision101
  0.000.000.000.0024/75ProgressBar::Components::Bar#completed_length92
  0.000.000.000.0024/75ProgressBar::Progress#percentage_completed82
  0.000.000.000.0014/75<Class::ProgressBar::Projectors::SmoothedAverage>#calculate57
0.00%0.00%0.000.000.000.0075 + + Integer#* + +
  0.000.000.000.0012/12ProgressBar::Output#print_and_flush68
0.00%0.00%0.000.000.000.0012 + + IO#flush + +
  0.000.000.000.0010/24ProgressBar::Components::Time#estimated_seconds_remaining97
  0.000.000.000.0014/24<Class::ProgressBar::Projectors::SmoothedAverage>#calculate57
0.00%0.00%0.000.000.000.0024 + + Float#- + +
  0.000.000.000.0014/14<Class::ProgressBar::Projectors::SmoothedAverage>#calculate57
0.00%0.00%0.000.000.000.0014 + + Float#+ + +
  0.000.000.000.0010/36ProgressBar::Components::Time#estimated_seconds_remaining97
  0.000.000.000.0012/36ProgressBar::Progress#percentage_completed_with_precision101
  0.000.000.000.0014/36<Class::ProgressBar::Projectors::SmoothedAverage>#calculate57
0.00%0.00%0.000.000.000.0036 + + Float#* + +
  0.000.000.000.002/2ProgressBar::Time#initialize12
0.00%0.00%0.000.000.000.002 + + ProgressBar::Time#time= + +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Throttle#initialize + + 8
  0.000.000.000.001/4611Class#new12 +
  0.000.000.000.001/1ProgressBar::Throttle#timer=12 +
  0.000.000.000.001/1ProgressBar::Throttle#rate=9 +
  0.000.000.000.001/1ProgressBar::Throttle#stopped_at=11 +
  0.000.000.000.001/1ProgressBar::Throttle#started_at=10 +
  0.000.000.000.001/21Hash#fetch12 +
  0.000.000.000.001/64348Hash#[]9 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#calculate_length26
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#length_override + +
  0.000.000.000.001/1Class#new
0.00%0.00%0.000.000.000.001 + + ProgressBar::Calculators::Length#initialize + + 8
  0.000.000.000.001/1ProgressBar::Calculators::Length#length_override=9 +
  0.000.000.000.001/13ProgressBar::Calculators::Length#current_length=11 +
  0.000.000.000.001/1ProgressBar::Calculators::Length#output=10 +
  0.000.000.000.002/64348Hash#[]9 +
  0.000.000.000.0034/34Time#-
0.00%0.00%0.000.000.000.0034 + + Integer#fdiv + +
  0.000.000.000.002/2ProgressBar::Time#unmocked_time_method20
0.00%0.00%0.000.000.000.002 + + Enumerable#find + +
  0.000.000.000.002/36Array#each +
  0.000.000.000.001/1ProgressBar::Throttle#initialize12
0.00%0.00%0.000.000.000.001 + + ProgressBar::Throttle#timer= + +
  0.000.000.000.001/1ProgressBar::Throttle#initialize11
0.00%0.00%0.000.000.000.001 + + ProgressBar::Throttle#stopped_at= + +
  0.000.000.000.001/1ProgressBar::Throttle#initialize10
0.00%0.00%0.000.000.000.001 + + ProgressBar::Throttle#started_at= + +
  0.000.000.000.001/1ProgressBar::Throttle#initialize9
0.00%0.00%0.000.000.000.001 + + ProgressBar::Throttle#rate= + +
  0.000.000.000.001/1ProgressBar::Throttle#choke52
0.00%0.00%0.000.000.000.001 + + ProgressBar::Outputs::Tty#clear + + 10
  0.000.000.000.002/14IO#print11 +
  0.000.000.000.001/1ProgressBar::Output#clear_string11 +
  0.000.000.000.002/27ProgressBar::Output#stream11 +
  0.000.000.000.0012/12ProgressBar::Base#to_s172
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Output#length + + 41
  0.000.000.000.0012/13ProgressBar::Calculators::Length#length42 +
  0.000.000.000.0012/25ProgressBar::Output#length_calculator42 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#terminal_width44
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#unix? + + 93
  0.000.000.000.0012/19187String#=~94 +
  0.000.000.000.001/1ProgressBar::Calculators::Length#initialize10
0.00%0.00%0.000.000.000.001 + + ProgressBar::Calculators::Length#output= + +
  0.000.000.000.001/1ProgressBar::Calculators::Length#initialize9
0.00%0.00%0.000.000.000.001 + + ProgressBar::Calculators::Length#length_override= + + 33
  0.000.000.000.001/1#<Class:0x0000000100c52f00>#[]34 +
  0.000.000.000.0012/24<Class::ProgressBar::Format::Formatter>#process16
  0.000.000.000.0012/24ProgressBar::Calculators::Length#terminal_width47
0.00%0.00%0.000.000.000.0024 + + Integer#< + +
  0.000.000.000.0012/12<Class::ProgressBar::Format::Formatter>#process5
0.00%0.00%0.000.000.000.0012 + + String#dup + +
  0.000.000.000.0012/12Kernel#initialize_dup +
  0.000.000.000.001/1ProgressBar::Outputs::Tty#clear11
0.00%0.00%0.000.000.000.001 + + ProgressBar::Output#clear_string + + 37
  0.000.000.000.001/25String#*38 +
  0.000.000.000.001/13ProgressBar::Calculators::Length#length38 +
  0.000.000.000.001/25ProgressBar::Output#length_calculator38 +
  0.000.000.000.0012/12<Class::ProgressBar::Format::Formatter>#process7
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Format::String#non_bar_molecules + + 17
  0.000.000.000.001/2ProgressBar::Format::String#molecules18 +
  0.000.000.000.001/4594Array#select18 +
  0.000.000.000.0012/12<Class::ProgressBar::Format::Formatter>#process13
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Format::String#displayable_length + + 9
  0.000.000.000.0012/12String#gsub10 +
  0.000.000.000.0012/12String#length10 +
  0.000.000.000.0012/13<Class::ProgressBar::Format::Formatter>#process18
  0.000.000.000.001/13ProgressBar::Format::String#bar_molecule_placeholder_length14
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Format::String#bar_molecules + + 21
  0.000.000.000.001/4594Array#select22 +
  0.000.000.000.001/2ProgressBar::Format::String#molecules22 +
  0.000.000.000.0012/12<Class::ProgressBar::Format::Formatter>#process13
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Format::String#bar_molecule_placeholder_length + + 13
  0.000.000.000.001/13ProgressBar::Format::String#bar_molecules14 +
  0.000.000.000.001/1Array#size14 +
  0.000.000.000.001/75Integer#*14 +
  0.000.000.000.0012/48ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object72
  0.000.000.000.0036/48ProgressBar::Calculators::Length#dynamic_width57
0.00%0.00%0.000.000.000.0048 + + ProgressBar::Calculators::Length#output + +
  0.000.000.000.001/13ProgressBar::Output#clear_string38
  0.000.000.000.0012/13ProgressBar::Output#length42
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Calculators::Length#length + + 14
  0.000.000.000.0013/37ProgressBar::Calculators::Length#current_length15 +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#dynamic_width58
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object + + 71
  0.000.000.000.0012/12IO#winsize72 +
  0.000.000.000.0012/48ProgressBar::Calculators::Length#output72 +
  0.000.000.000.008/20Array#each
  0.000.000.000.0012/20ProgressBar::Calculators::Length#dynamic_width57
0.00%0.00%0.000.000.000.0020 + + Kernel#respond_to? + +
  0.000.000.000.001/1ProgressBar::Calculators::Length#length_override=34
0.00%0.00%0.000.000.000.001 + + #<Class:0x0000000100c52f00>#[] + +
  0.000.000.000.0012/12ProgressBar::Format::String#displayable_length10
0.00%0.00%0.000.000.000.0012 + + String#length + +
  0.000.000.000.0012/12ProgressBar::Format::String#displayable_length10
0.00%0.00%0.000.000.000.0012 + + String#gsub + +
  0.000.000.000.001/25ProgressBar::Output#clear_string38
  0.000.000.000.0012/25ProgressBar::Components::Bar#incomplete_string82
  0.000.000.000.0012/25ProgressBar::Components::Bar#standard_complete_string78
0.00%0.00%0.000.000.000.0025 + + String#* + +
  0.000.000.000.0048/48Array#each
0.00%0.00%0.000.000.000.0048 + + ProgressBar::Format::Molecule#full_key + + 46
  0.000.000.000.0048/108ProgressBar::Format::Molecule#key47 +
  0.000.000.000.0012/12String#dup
0.00%0.00%0.000.000.000.0012 + + Kernel#initialize_dup + +
  0.000.000.000.0012/12String#initialize_copy +
  0.000.000.000.0012/12ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object72
0.00%0.00%0.000.000.000.0012 + + IO#winsize + +
  0.000.000.000.001/1BasicObject#!=
0.00%0.00%0.000.000.000.001 + + BasicObject#== + +
  0.000.000.000.0012/60ProgressBar::Components::Percentage#justified_percentage_with_precision23
  0.000.000.000.0048/60ProgressBar::Format::Molecule#lookup_value56
0.00%0.00%0.000.000.000.0060 + + String#to_s + +
  0.000.000.000.0012/12Kernel#initialize_dup
0.00%0.00%0.000.000.000.0012 + + String#initialize_copy + +
  0.000.000.000.0096/96ProgressBar::Format::Molecule#lookup_value51
0.00%0.00%0.000.000.000.0096 + + ProgressBar::Format::Molecule#method_name + +
  0.000.000.000.004/108ProgressBar::Format::Molecule#initialize35
  0.000.000.000.0048/108ProgressBar::Format::Molecule#full_key47
  0.000.000.000.0056/108ProgressBar::Format::Molecule#bar_molecule?39
0.00%0.00%0.000.000.000.00108 + + ProgressBar::Format::Molecule#key + +
  0.000.000.000.004/56Array#select
  0.000.000.000.004/56ProgressBar::Format::Molecule#non_bar_molecule?43
  0.000.000.000.0048/56ProgressBar::Format::Molecule#lookup_value53
0.00%0.00%0.000.000.000.0056 + + ProgressBar::Format::Molecule#bar_molecule? + + 38
  0.000.000.000.0056/56Array#include?39 +
  0.000.000.000.0056/108ProgressBar::Format::Molecule#key39 +
  0.000.000.000.0012/12ProgressBar::Format::Molecule#lookup_value56
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Percentage#justified_percentage_with_precision + + 22
  0.000.000.000.0012/12ProgressBar::Progress#percentage_completed_with_precision23 +
  0.000.000.000.0012/12String#rjust23 +
  0.000.000.000.0012/12ProgressBar::Components::Percentage#progress23 +
  0.000.000.000.0012/60String#to_s23 +
  0.000.000.000.0024/24ProgressBar::Format::Molecule#lookup_value51
0.00%0.00%0.000.000.000.0024 + + ProgressBar::Base#time_component + +
  0.000.000.000.0012/12ProgressBar::Format::Molecule#lookup_value51
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Base#percentage_component + +
  0.000.000.000.0012/12ProgressBar::Format::Molecule#lookup_value51
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Base#bar_component + +
  0.000.000.000.0012/12ProgressBar::Components::Percentage#justified_percentage_with_precision23
0.00%0.00%0.000.000.000.0012 + + String#rjust + +
  0.000.000.000.0012/12ProgressBar::Components::Percentage#justified_percentage_with_precision23
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Progress#percentage_completed_with_precision + + 97
  0.000.000.000.0012/35String#%101 +
  0.000.000.000.0024/82Integer#/101 +
  0.000.000.000.0036/193ProgressBar::Progress#total98 +
  0.000.000.000.0012/12Integer#to_f101 +
  0.000.000.000.0012/82Kernel#nil?99 +
  0.000.000.000.0012/36Float#*101 +
  0.000.000.000.0012/75Integer#*101 +
  0.000.000.000.0012/25Float#floor101 +
  0.000.000.000.0012/107ProgressBar::Progress#progress101 +
  0.000.000.000.0012/119Integer#==98 +
  0.000.000.000.0012/12ProgressBar::Components::Percentage#justified_percentage_with_precision23
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Percentage#progress + +
  0.000.000.000.0056/56ProgressBar::Format::Molecule#bar_molecule?39
0.00%0.00%0.000.000.000.0056 + + Array#include? + +
  0.000.000.000.0012/12ProgressBar::Components::Bar#to_s28
0.00%0.00%0.000.000.000.0012 + + Symbol#== + +
  0.000.000.000.0010/35ProgressBar::Components::Time#estimated76
  0.000.000.000.0013/35ProgressBar::Components::Time#elapsed85
  0.000.000.000.0012/35ProgressBar::Progress#percentage_completed_with_precision101
0.00%0.00%0.000.000.000.0035 + + String#% + +
  0.000.000.000.0013/13ProgressBar::Components::Time#elapsed83
0.00%0.00%0.000.000.000.0013 + + ProgressBar::Timer#elapsed_whole_seconds + + 63
  0.000.000.000.0013/34ProgressBar::Timer#elapsed_seconds64 +
  0.000.000.000.0013/25Float#floor64 +
  0.000.000.000.0010/23ProgressBar::Components::Time#estimated71
  0.000.000.000.0013/23ProgressBar::Components::Time#elapsed83
0.00%0.00%0.000.000.000.0023 + + ProgressBar::Timer#divide_seconds + + 67
  0.000.000.000.0046/46Integer#divmod68 +
  0.000.000.000.0011/23ProgressBar::Components::Time#estimated_seconds_remaining95
  0.000.000.000.0012/23ProgressBar::Components::Bar#to_s26
0.00%0.00%0.000.000.000.0023 + + ProgressBar::Progress#unknown? + + 89
  0.000.000.000.0046/82Kernel#nil?90 +
  0.000.000.000.0023/193ProgressBar::Progress#total90 +
  0.000.000.000.0023/107ProgressBar::Progress#progress90 +
  0.000.000.000.001/2ProgressBar::Format::String#bar_molecules22
  0.000.000.000.001/2ProgressBar::Format::String#non_bar_molecules18
0.00%0.00%0.000.000.000.002 + + ProgressBar::Format::String#molecules + + 25
  0.000.000.000.001/1String#scan29 +
  0.000.000.000.0010/79ProgressBar::Components::Time#estimated71
  0.000.000.000.0030/79ProgressBar::Components::Time#estimated_seconds_remaining95
  0.000.000.000.0039/79ProgressBar::Components::Time#elapsed81
0.00%0.00%0.000.000.000.0079 + + ProgressBar::Components::Time#timer + +
  0.000.000.000.0012/43ProgressBar::Components::Time#estimated_with_elapsed_fallback89
  0.000.000.000.0031/43ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0043 + + ProgressBar::Components::Time#progress + +
  0.000.000.000.0012/12ProgressBar::Components::Bar#to_s29
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#standard_complete_string + + 77
  0.000.000.000.0012/24ProgressBar::Components::Bar#completed_length78 +
  0.000.000.000.0012/25String#*78 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#progress_mark78 +
  0.000.000.000.0024/36ProgressBar::Components::Bar#completed_length92
  0.000.000.000.0012/36ProgressBar::Components::Bar#to_s26
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Components::Bar#progress + +
  0.000.000.000.0012/12ProgressBar::Components::Bar#to_s29
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#incomplete_string + + 81
  0.000.000.000.0012/24ProgressBar::Components::Bar#completed_length82 +
  0.000.000.000.0012/25String#*82 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#remainder_mark82 +
  0.000.000.000.0012/36ProgressBar::Components::Bar#length82 +
  0.000.000.000.0012/38Integer#-82 +
  0.000.000.000.0024/82ProgressBar::Progress#percentage_completed74
  0.000.000.000.0012/82ProgressBar::Progress#percentage_completed_with_precision99
  0.000.000.000.0046/82ProgressBar::Progress#unknown?90
0.00%0.00%0.000.000.000.0082 + + Kernel#nil? + +
  0.000.000.000.0012/12ProgressBar::Progress#percentage_completed_with_precision101
0.00%0.00%0.000.000.000.0012 + + Integer#to_f + +
  0.000.000.000.0010/82ProgressBar::Components::Time#estimated_seconds_remaining97
  0.000.000.000.0024/82ProgressBar::Progress#percentage_completed82
  0.000.000.000.0024/82ProgressBar::Progress#percentage_completed_with_precision101
  0.000.000.000.0024/82ProgressBar::Components::Bar#completed_length92
0.00%0.00%0.000.000.000.0082 + + Integer#/ + +
  0.000.000.000.0012/25ProgressBar::Progress#percentage_completed_with_precision101
  0.000.000.000.0013/25ProgressBar::Timer#elapsed_whole_seconds64
0.00%0.00%0.000.000.000.0025 + + Float#floor + +
  0.000.000.000.001/1ProgressBar::Format::String#bar_molecule_placeholder_length14
0.00%0.00%0.000.000.000.001 + + Array#size + +
  0.000.000.000.001/1ProgressBar::Format::String#molecules29
0.00%0.00%0.000.000.000.001 + + String#scan + +
  0.000.000.000.004/4611Class#new30 +
  0.000.000.000.004/4String#[]30 +
  0.000.000.000.004/4Array#<<30 +
  0.000.000.000.004/4Array#select
0.00%0.00%0.000.000.000.004 + + ProgressBar::Format::Molecule#non_bar_molecule? + + 42
  0.000.000.000.004/56ProgressBar::Format::Molecule#bar_molecule?43 +
  0.000.000.000.004/27BasicObject#!43 +
  0.000.000.000.0012/12ProgressBar::Components::Bar#incomplete_string82
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#remainder_mark + +
  0.000.000.000.0012/12ProgressBar::Components::Bar#standard_complete_string78
0.00%0.00%0.000.000.000.0012 + + ProgressBar::Components::Bar#progress_mark + +
  0.000.000.000.0012/36ProgressBar::Components::Bar#incomplete_string82
  0.000.000.000.0024/36ProgressBar::Components::Bar#completed_length92
0.00%0.00%0.000.000.000.0036 + + ProgressBar::Components::Bar#length + +
  0.000.000.000.0012/24ProgressBar::Components::Bar#incomplete_string82
  0.000.000.000.0012/24ProgressBar::Components::Bar#standard_complete_string78
0.00%0.00%0.000.000.000.0024 + + ProgressBar::Components::Bar#completed_length + + 91
  0.000.000.000.0024/24ProgressBar::Progress#percentage_completed92 +
  0.000.000.000.0024/82Integer#/92 +
  0.000.000.000.0024/36ProgressBar::Components::Bar#progress92 +
  0.000.000.000.0024/24Integer#floor92 +
  0.000.000.000.0024/36ProgressBar::Components::Bar#length92 +
  0.000.000.000.0024/75Integer#*92 +
  0.000.000.000.0046/46ProgressBar::Timer#divide_seconds68
0.00%0.00%0.000.000.000.0046 + + Integer#divmod + +
  0.000.000.000.004/4String#scan
0.00%0.00%0.000.000.000.004 + + String#[] + +
  0.000.000.000.0024/24ProgressBar::Components::Bar#completed_length92
0.00%0.00%0.000.000.000.0024 + + ProgressBar::Progress#percentage_completed + + 73
  0.000.000.000.0072/193ProgressBar::Progress#total74 +
  0.000.000.000.0024/24Integer#to_i82 +
  0.000.000.000.0024/82Integer#/82 +
  0.000.000.000.0024/75Integer#*82 +
  0.000.000.000.0024/119Integer#==75 +
  0.000.000.000.0024/107ProgressBar::Progress#progress82 +
  0.000.000.000.0024/82Kernel#nil?74 +
  0.000.000.000.0024/24ProgressBar::Components::Bar#completed_length92
0.00%0.00%0.000.000.000.0024 + + Integer#floor + +
  0.000.000.000.004/4String#scan
0.00%0.00%0.000.000.000.004 + + Array#<< + +
  0.000.000.000.0010/10ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0010 + + ProgressBar::Timer#reset? + + 48
  0.000.000.000.0010/27BasicObject#!49 +
  0.000.000.000.0010/105ProgressBar::Timer#started_at49 +
  0.000.000.000.0011/21ProgressBar::Projectors::SmoothedAverage#none?53
  0.000.000.000.0010/21ProgressBar::Components::Time#estimated_seconds_remaining97
0.00%0.00%0.000.000.000.0021 + + ProgressBar::Projectors::SmoothedAverage#projection + +
  0.000.000.000.0011/11ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0011 + + ProgressBar::Projectors::SmoothedAverage#none? + + 52
  0.000.000.000.0011/11Float#zero?53 +
  0.000.000.000.0011/21ProgressBar::Projectors::SmoothedAverage#projection53 +
  0.000.000.000.0010/10ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0010 + + ProgressBar::Progress#none? + + 85
  0.000.000.000.0010/10Integer#zero?86 +
  0.000.000.000.0010/107ProgressBar::Progress#progress86 +
  0.000.000.000.004/4Class#new
0.00%0.00%0.000.000.000.004 + + ProgressBar::Format::Molecule#initialize + + 33
  0.000.000.000.004/4String#to_sym35 +
  0.000.000.000.004/4ProgressBar::Format::Molecule#method_name=35 +
  0.000.000.000.004/4ProgressBar::Format::Molecule#key=34 +
  0.000.000.000.004/21Hash#fetch35 +
  0.000.000.000.004/108ProgressBar::Format::Molecule#key35 +
  0.000.000.000.0021/21ProgressBar::Components::Time#estimated_seconds_remaining95
0.00%0.00%0.000.000.000.0021 + + ProgressBar::Components::Time#projector + +
  0.000.000.000.0024/24ProgressBar::Progress#percentage_completed82
0.00%0.00%0.000.000.000.0024 + + Integer#to_i + + 247
  0.000.000.000.0010/10ProgressBar::Components::Time#estimated_seconds_remaining97
0.00%0.00%0.000.000.000.0010 + + Float#round + +
  0.000.000.000.004/4ProgressBar::Format::Molecule#initialize35
0.00%0.00%0.000.000.000.004 + + String#to_sym + +
  0.000.000.000.004/4ProgressBar::Format::Molecule#initialize35
0.00%0.00%0.000.000.000.004 + + ProgressBar::Format::Molecule#method_name= + +
  0.000.000.000.004/4ProgressBar::Format::Molecule#initialize34
0.00%0.00%0.000.000.000.004 + + ProgressBar::Format::Molecule#key= + +
  0.000.000.000.0010/10ProgressBar::Progress#none?86
0.00%0.00%0.000.000.000.0010 + + Integer#zero? + + 263
  0.000.000.000.0011/11ProgressBar::Projectors::SmoothedAverage#none?53
0.00%0.00%0.000.000.000.0011 + + Float#zero? + + 349
* indicates recursively called methods
+ +
+ + + + diff --git a/task-1-ruby-prof-callstack.rb b/task-1-ruby-prof-callstack.rb new file mode 100644 index 00000000..ea0fffae --- /dev/null +++ b/task-1-ruby-prof-callstack.rb @@ -0,0 +1,14 @@ +# head -n data_large.txt > data_prof.txt +# ruby task-1-ruby-prof-callstack.rb + +require 'ruby-prof' +require_relative 'task-1' + +RubyProf.measure_mode = RubyProf::WALL_TIME + +result = RubyProf.profile do + work(file_name: "data_prof.txt") +end + +printer = RubyProf::CallStackPrinter.new(result) +printer.print(File.open('prof_reports/ruby_prof_callstack.html', 'w+')) diff --git a/task-1-ruby-prof-graph.rb b/task-1-ruby-prof-graph.rb new file mode 100644 index 00000000..05987af1 --- /dev/null +++ b/task-1-ruby-prof-graph.rb @@ -0,0 +1,14 @@ +# head -n data_large.txt > data_prof.txt +# ruby task-1-ruby-prof-graph.rb + +require 'ruby-prof' +require_relative 'task-1' + +RubyProf.measure_mode = RubyProf::WALL_TIME + +result = RubyProf.profile do + work(file_name: "data_prof.txt") +end + +printer = RubyProf::GraphHtmlPrinter.new(result) +printer.print(File.open("prof_reports/ruby_prof_graph.html", "w+")) diff --git a/task-1.rb b/task-1.rb index a8bbd905..707aa51a 100644 --- a/task-1.rb +++ b/task-1.rb @@ -3,6 +3,8 @@ require 'json' require 'pry' require 'date' +require 'ruby-progressbar' + class User attr_reader :attributes, :sessions @@ -41,8 +43,22 @@ def collect_stats_from_users(report, users_objects, &block) end end +def select_sessions_for_users(sessions) + sessions.each_with_object({}) do |session, result| + result[session['user_id']] ||= [] + result[session['user_id']] << session + end +end + def work(file_name:) + progressbar = ProgressBar.create( + total: 12, + format: '%a, %J, %E %B', + output: file_name == 'data.txt' ? File.open(File::NULL, 'w') : $stdout # TEST + ) + file_lines = File.read(file_name).split("\n") + progressbar.increment users = [] sessions = [] @@ -52,6 +68,7 @@ def work(file_name:) users = users + [parse_user(line)] if cols[0] == 'user' sessions = sessions + [parse_session(line)] if cols[0] == 'session' end + progressbar.increment # Отчёт в json # - Сколько всего юзеров + @@ -78,6 +95,7 @@ def work(file_name:) browser = session['browser'] uniqueBrowsers += [browser] if uniqueBrowsers.all? { |b| b != browser } end + progressbar.increment report['uniqueBrowsersCount'] = uniqueBrowsers.count @@ -94,12 +112,14 @@ def work(file_name:) # Статистика по пользователям users_objects = [] + users_sessions = select_sessions_for_users(sessions) + users.each do |user| attributes = user - user_sessions = sessions.select { |session| session['user_id'] == user['id'] } - user_object = User.new(attributes: attributes, sessions: user_sessions) + user_object = User.new(attributes: attributes, sessions: users_sessions[user['id']]) users_objects = users_objects + [user_object] end + progressbar.increment report['usersStats'] = {} @@ -107,36 +127,44 @@ def work(file_name:) collect_stats_from_users(report, users_objects) do |user| { 'sessionsCount' => user.sessions.count } end + progressbar.increment # Собираем количество времени по пользователям collect_stats_from_users(report, users_objects) do |user| { 'totalTime' => user.sessions.map {|s| s['time']}.map {|t| t.to_i}.sum.to_s + ' min.' } end + progressbar.increment # Выбираем самую длинную сессию пользователя collect_stats_from_users(report, users_objects) do |user| { 'longestSession' => user.sessions.map {|s| s['time']}.map {|t| t.to_i}.max.to_s + ' min.' } end + progressbar.increment # Браузеры пользователя через запятую collect_stats_from_users(report, users_objects) do |user| { 'browsers' => user.sessions.map {|s| s['browser']}.map {|b| b.upcase}.sort.join(', ') } end + progressbar.increment # Хоть раз использовал IE? collect_stats_from_users(report, users_objects) do |user| { 'usedIE' => user.sessions.map{|s| s['browser']}.any? { |b| b.upcase =~ /INTERNET EXPLORER/ } } end + progressbar.increment # Всегда использовал только Chrome? collect_stats_from_users(report, users_objects) do |user| { 'alwaysUsedChrome' => user.sessions.map{|s| s['browser']}.all? { |b| b.upcase =~ /CHROME/ } } end + progressbar.increment # Даты сессий через запятую в обратном порядке в формате iso8601 collect_stats_from_users(report, users_objects) do |user| { 'dates' => user.sessions.map{|s| s['date']}.map {|d| Date.parse(d)}.sort.reverse.map { |d| d.iso8601 } } end + progressbar.increment File.write('result.json', "#{report.to_json}\n") + progressbar.increment end From 2d6426eb3b39d25ce2a9d8eb13228b3ee75423f9 Mon Sep 17 00:00:00 2001 From: Araslanov Evgeny Date: Sun, 26 Jan 2025 20:33:30 +0500 Subject: [PATCH 3/7] Fixed bag - undefined method 'count' for nil --- data.txt | 1 + task-1-test.rb | 3 ++- task-1.rb | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/data.txt b/data.txt index 393b0b8b..ac9d48ac 100644 --- a/data.txt +++ b/data.txt @@ -16,3 +16,4 @@ session,2,0,Chrome 35,6,2018-09-21 session,2,1,Safari 49,85,2017-05-22 session,2,2,Firefox 47,17,2018-02-02 session,2,3,Chrome 20,84,2016-11-25 +user,3,Evgeny,Araslanov,38 diff --git a/task-1-test.rb b/task-1-test.rb index 236ef262..3832df2f 100644 --- a/task-1-test.rb +++ b/task-1-test.rb @@ -25,12 +25,13 @@ def setup session,2,1,Safari 49,85,2017-05-22 session,2,2,Firefox 47,17,2018-02-02 session,2,3,Chrome 20,84,2016-11-25 +user,3,Evgeny,Araslanov,38 ') end def test_result work(file_name: 'data.txt') - expected_result = '{"totalUsers":3,"uniqueBrowsersCount":14,"totalSessions":15,"allBrowsers":"CHROME 13,CHROME 20,CHROME 35,CHROME 6,FIREFOX 12,FIREFOX 32,FIREFOX 47,INTERNET EXPLORER 10,INTERNET EXPLORER 28,INTERNET EXPLORER 35,SAFARI 17,SAFARI 29,SAFARI 39,SAFARI 49","usersStats":{"Leida Cira":{"sessionsCount":6,"totalTime":"455 min.","longestSession":"118 min.","browsers":"FIREFOX 12, INTERNET EXPLORER 28, INTERNET EXPLORER 28, INTERNET EXPLORER 35, SAFARI 29, SAFARI 39","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-09-27","2017-03-28","2017-02-27","2016-10-23","2016-09-15","2016-09-01"]},"Palmer Katrina":{"sessionsCount":5,"totalTime":"218 min.","longestSession":"116 min.","browsers":"CHROME 13, CHROME 6, FIREFOX 32, INTERNET EXPLORER 10, SAFARI 17","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-04-29","2016-12-28","2016-12-20","2016-11-11","2016-10-21"]},"Gregory Santos":{"sessionsCount":4,"totalTime":"192 min.","longestSession":"85 min.","browsers":"CHROME 20, CHROME 35, FIREFOX 47, SAFARI 49","usedIE":false,"alwaysUsedChrome":false,"dates":["2018-09-21","2018-02-02","2017-05-22","2016-11-25"]}}}' + "\n" + expected_result = '{"totalUsers":4,"uniqueBrowsersCount":14,"totalSessions":15,"allBrowsers":"CHROME 13,CHROME 20,CHROME 35,CHROME 6,FIREFOX 12,FIREFOX 32,FIREFOX 47,INTERNET EXPLORER 10,INTERNET EXPLORER 28,INTERNET EXPLORER 35,SAFARI 17,SAFARI 29,SAFARI 39,SAFARI 49","usersStats":{"Leida Cira":{"sessionsCount":6,"totalTime":"455 min.","longestSession":"118 min.","browsers":"FIREFOX 12, INTERNET EXPLORER 28, INTERNET EXPLORER 28, INTERNET EXPLORER 35, SAFARI 29, SAFARI 39","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-09-27","2017-03-28","2017-02-27","2016-10-23","2016-09-15","2016-09-01"]},"Palmer Katrina":{"sessionsCount":5,"totalTime":"218 min.","longestSession":"116 min.","browsers":"CHROME 13, CHROME 6, FIREFOX 32, INTERNET EXPLORER 10, SAFARI 17","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-04-29","2016-12-28","2016-12-20","2016-11-11","2016-10-21"]},"Gregory Santos":{"sessionsCount":4,"totalTime":"192 min.","longestSession":"85 min.","browsers":"CHROME 20, CHROME 35, FIREFOX 47, SAFARI 49","usedIE":false,"alwaysUsedChrome":false,"dates":["2018-09-21","2018-02-02","2017-05-22","2016-11-25"]},"Evgeny Araslanov":{"sessionsCount":0,"totalTime":"0 min.","longestSession":" min.","browsers":"","usedIE":false,"alwaysUsedChrome":true,"dates":[]}}}' + "\n" assert_equal expected_result, File.read('result.json') end end \ No newline at end of file diff --git a/task-1.rb b/task-1.rb index 707aa51a..5263ca81 100644 --- a/task-1.rb +++ b/task-1.rb @@ -116,7 +116,8 @@ def work(file_name:) users.each do |user| attributes = user - user_object = User.new(attributes: attributes, sessions: users_sessions[user['id']]) + user_sessions = users_sessions[user['id']] || [] + user_object = User.new(attributes: attributes, sessions: user_sessions) users_objects = users_objects + [user_object] end progressbar.increment From 80117788bc650a59517e0cabf86a775ba2d1bb52 Mon Sep 17 00:00:00 2001 From: Araslanov Evgeny Date: Sun, 26 Jan 2025 20:51:32 +0500 Subject: [PATCH 4/7] Optimization #2 - used Array#concat for users --- case-study.md | 8 +- prof_reports/ruby_prof_callstack_after.html | 1790 +-- prof_reports/ruby_prof_callstack_before.html | 1852 +-- prof_reports/ruby_prof_graph_after.html | 12342 +++++++++-------- prof_reports/ruby_prof_graph_before.html | 9082 ++++++------ task-1.rb | 2 +- 6 files changed, 12707 insertions(+), 12369 deletions(-) diff --git a/case-study.md b/case-study.md index e5dd3a58..8fb0d146 100644 --- a/case-study.md +++ b/case-study.md @@ -30,7 +30,13 @@ ### Ваша находка №1 - CallStack показал что программа 94.55% времени тратит на Array#select. С помощью Graph стало понятно что много времени тратиться на поиск сессий пользователя. - Для решения данной проблемы, перед тем как проходится по пользователям, нужно подготовить данные users_sessions в виде хэша, ключем будет id пользователя, а значение массив его сессий, тогда мы один раз пройдемся по sessions -- Время выполнения программы уменьшилось с ~20 секунд до ~1 секунды, при входных данных в 30000 строк. +- Время выполнения программы уменьшилось с ~20 секунд до ~1 секунды, при входных данных в 30000 строк. Время выполнения программы на большом объёме данных больше 30 секунд. +- Отчет профилировщика стал указывать на другие проблемы, главная точкой роста изменилась. + +### Ваша находка №2 +- При объёме данных в 200к строк CallStack показал что программа 56.29% времени тратит на Array#+. С помощью Graph стало понятно что много времени тратиться на формирования списка пользователей (users). +- Рекомундуется использовать Array#concat (https://github.com/fastruby/fast-ruby?tab=readme-ov-file#arrayconcat-vs-array-code) +- Время выполнения программы особо не изменилось. - Отчет профилировщика стал указывать на другие проблемы, главная точкой роста изменилась. ### Ваша находка №X diff --git a/prof_reports/ruby_prof_callstack_after.html b/prof_reports/ruby_prof_callstack_after.html index 3df7ad63..f64dd088 100644 --- a/prof_reports/ruby_prof_callstack_after.html +++ b/prof_reports/ruby_prof_callstack_after.html @@ -663,7 +663,7 @@
- Call tree for application task-1-ruby-prof-callstack.rb
Generated on 2025-01-26 16:56:15 +0500 + Call tree for application task-1-ruby-prof-callstack.rb
Generated on 2025-01-26 20:44:59 +0500 with options {}
@@ -693,7 +693,7 @@
- Thread: 80, Fiber: 60 (100.00% ~ 1.0779466619715095) + Thread: 80, Fiber: 60 (100.00% ~ 14.497787369880825)
@@ -178,7 +178,7 @@

Wall_time

80
60 - 20.79963054182008 + 13.671027945820242 @@ -209,10 +209,10 @@

Thread 80, Fiber: 60

100.00% 0.00% - 20.80 + 13.67 0.00 0.00 - 20.80 + 13.67 1 @@ -232,10 +232,10 @@

Thread 80, Fiber: 60

    - 20.80 + 13.67 0.00 0.00 - 20.80 + 13.67 1/1 Object#work @@ -254,10 +254,10 @@

Thread 80, Fiber: 60

    - 20.80 + 13.67 0.00 0.00 - 20.80 + 13.67 1/1 [global]# @@ -266,11 +266,11 @@

Thread 80, Fiber: 60

100.00% - 0.00% - 20.80 + 0.01% + 13.67 0.00 0.00 - 20.80 + 13.67 1 @@ -280,7 +280,7 @@

Thread 80, Fiber: 60

- 46 + 53 @@ -290,79 +290,92 @@

Thread 80, Fiber: 60

    - 20.58 - 0.04 + 12.22 + 0.22 0.00 - 20.54 - 3/36 + 12.01 + 3/39 Array#each - 59 + 66     - 0.20 + 1.24 0.00 0.00 - 0.20 + 1.23 7/7 Object#collect_stats_from_users - 119 + 128     - 0.01 - 0.01 + 0.09 0.00 0.00 - 2/50514 - Array#map + 0.09 + 1/1 + Object#select_sessions_for_users - 97 + 115     + 0.04 + 0.03 0.00 - 0.00 + 0.01 + 2/338241 + Array#map + + 104 + + + +   +   + 0.04 + 0.04 0.00 0.00 1/1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json - 160 + 169     + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 1/60001 + 1/400001 String#split - 53 + 60     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Base#increment + 1/61499 + Array#sort - 54 + 104 @@ -372,10 +385,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/9185 - Array#sort + 1/1 + Array#uniq - 97 + 104 @@ -385,10 +398,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - <Class::IO>#read + 1/16 + IO#write - 53 + 169 @@ -399,9 +412,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Array#uniq + <Class::IO>#read - 97 + 60 @@ -411,10 +424,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - <Class::ProgressBar>#create + 12/12 + ProgressBar::Base#increment - 50 + 61 @@ -424,10 +437,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/15 - IO#write + 1/1 + <Class::ProgressBar>#create - 160 + 57 @@ -437,10 +450,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/4593 + 1/30750 Array#join - 97 + 104 @@ -450,10 +463,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/4595 + 3/30752 Array#count - 83 + 90 @@ -463,10 +476,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/119272278 + 1/17424268 String#== - 50 + 57 @@ -476,10 +489,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/36738 + 1/276711 Hash#[]= - 83 + 90 @@ -498,7 +511,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/36 + 2/39 Enumerable#find @@ -511,7 +524,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/36 + 26/39 <Class::ProgressBar::Format::Formatter>#process 7 @@ -520,11 +533,24 @@

Thread 80, Fiber: 60

    - 0.20 + 0.09 0.05 0.00 - 0.16 - 7/36 + 0.04 + 1/39 + Enumerable#each_with_object + + + + + +   +   + 1.23 + 0.25 + 0.00 + 0.98 + 7/39 Object#collect_stats_from_users 39 @@ -533,24 +559,24 @@

Thread 80, Fiber: 60

    - 20.58 - 0.04 + 12.22 + 0.22 0.00 - 20.54 - 3/36 + 12.01 + 3/39 Object#work - 59 + 66 - 99.90% - 0.39% - 20.78 - 0.08 + 99.12% + 3.81% + 13.55 + 0.52 0.00 - 20.70 - 36 + 13.03 + 39 Array#each @@ -569,233 +595,233 @@

Thread 80, Fiber: 60

    - 19.70 - 14.82 + 7.71 + 7.71 0.00 - 4.89 - 4592/4594 - Array#select + 0.00 + 230949/230949 + Array#+ - 110 + 68     - 0.58 - 0.24 + 3.90 + 1.63 0.00 - 0.34 - 30000/30000 + 2.27 + 200000/200000 Array#all? - 89 + 96     - 0.18 + 0.66 0.18 0.00 - 0.00 - 34792/34792 - Array#+ + 0.48 + 338239/338241 + Array#map - 61 + 135     - 0.11 - 0.03 + 0.23 + 0.14 0.00 - 0.07 - 50512/50514 - Array#map + 0.10 + 169251/169251 + Object#parse_session - 126 + 69     - 0.04 - 0.02 + 0.08 + 0.08 0.00 - 0.02 - 25408/25408 - Object#parse_session + 0.00 + 799737/799798 + Hash#[] - 62 + 119     - 0.02 - 0.02 + 0.08 + 0.08 0.00 0.00 - 30000/60001 + 200000/400001 String#split - 60 + 67     - 0.01 - 0.01 - 0.00 + 0.05 + 0.03 0.00 - 4592/4592 - Object#parse_user + 0.02 + 61498/61499 + Array#sort - 61 + 147     - 0.01 - 0.01 + 0.05 + 0.05 0.00 0.00 - 4592/4611 - Class#new + 491984/491997 + String#+ - 111 + 40     - 0.01 - 0.01 - 0.00 + 0.04 + 0.03 0.00 - 64288/64348 - Hash#[] + 0.02 + 30749/30749 + Object#parse_user - 41 + 68     - 0.01 - 0.00 - 0.00 + 0.04 + 0.02 0.00 - 9184/9185 - Array#sort + 0.02 + 30749/30749 + Array#any? - 138 + 153     - 0.01 - 0.01 + 0.03 + 0.03 0.00 0.00 - 73472/73484 - String#+ + 215243/215245 + Hash#merge - 40 + 129     - 0.01 - 0.00 + 0.03 + 0.03 0.00 0.00 - 4592/4592 - Array#any? + 276709/276711 + Hash#[]= - 144 + 48     + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 36736/36738 - Hash#[]= + 400000/17424268 + String#== - 41 + 68     + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 32144/32146 - Hash#merge + 430486/430486 + User#attributes - 120 + 40     + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 64288/64288 - User#attributes + 400000/1369396 + Array#[] - 40 + 68     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 60000/119272278 - String#== + 215243/215243 + User#sessions - 61 + 129     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 60000/205545 - Array#[] + 169251/169255 + Array#<< - 61 + 49     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 32144/32144 - User#sessions + 30749/30768 + Class#new 120 @@ -803,27 +829,27 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 4592/4593 + 30749/30750 Array#join - 138 + 147     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 9184/9184 + 61497/61497 Integer#to_s - 126 + 135 @@ -833,10 +859,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/48 - ProgressBar::Format::Molecule#lookup_value + 30749/30749 + Array#max - 8 + 141 @@ -846,10 +872,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4592 - Array#sum + 30749/30749 + Array#reverse - 126 + 165 @@ -859,10 +885,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4592 - Array#reverse + 30749/30749 + Array#sum - 156 + 135 @@ -872,10 +898,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4592 - Array#max + 30749/30752 + Array#count - 132 + 129 @@ -885,10 +911,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4595 - Array#count + 52/52 + ProgressBar::Format::Molecule#lookup_value - 120 + 8 @@ -898,7 +924,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/25468 + 52/169316 String#gsub! 8 @@ -911,7 +937,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/48 + 52/52 ProgressBar::Format::Molecule#full_key 8 @@ -924,7 +950,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/20 + 1/1 + NilClass#to_s + + 141 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 8/21 Kernel#respond_to? 21 @@ -937,7 +976,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/54 + 8/57 ProgressBar::Time#time 21 @@ -955,53 +994,72 @@

Thread 80, Fiber: 60

    + 7.71 + 7.71 0.00 0.00 - 0.00 - 0.00 - 1/4594 - ProgressBar::Format::String#bar_molecules + 230949/230949 + Array#each - 22 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/4594 - ProgressBar::Format::String#non_bar_molecules - - 18 - + + 56.42% + 56.42% + 7.71 + 7.71 + 0.00 + 0.00 + 230949 + + + Array#+ + + + + + + + + + + + + + + + + + + + +     - 19.70 - 14.82 + 3.90 + 1.63 0.00 - 4.89 - 4592/4594 + 2.27 + 200000/200000 Array#each - 94.73% - 71.24% - 19.70 - 14.82 + 28.50% + 11.91% + 3.90 + 1.63 0.00 - 4.89 - 4594 + 2.27 + 200000 - - Array#select + + Array#all? @@ -1017,195 +1075,27 @@

Thread 80, Fiber: 60

    - 4.89 - 4.89 - 0.00 + 2.26 + 1.49 0.00 - 116673536/119272278 - String#== - - 110 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 4/4 - ProgressBar::Format::Molecule#non_bar_molecule? - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 4/56 - ProgressBar::Format::Molecule#bar_molecule? - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/119272278 - Object#work - - 50 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 60000/119272278 - Array#each - - - - - -   -   - 0.11 - 0.11 - 0.00 - 0.00 - 2538741/119272278 - BasicObject#!= - - - - - -   -   - 4.89 - 4.89 - 0.00 - 0.00 - 116673536/119272278 - Array#select - - - - - - 24.05% - 24.05% - 5.00 - 5.00 - 0.00 - 0.00 - 119272278 - - - String#== - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.58 - 0.24 - 0.00 - 0.34 - 30000/30000 - Array#each - - - - - - 2.77% - 1.15% - 0.58 - 0.24 - 0.00 - 0.34 - 30000 - - - Array#all? - - - - - - - - - - - - - -   -   - 0.33 - 0.22 - 0.00 - 0.11 - 2538741/2538753 + 0.77 + 17024267/17024280 BasicObject#!= - 89 + 96     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 5952/19187 + 39658/128135 String#=~ - 150 + 159 @@ -1215,10 +1105,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 5952/69991 + 39658/466624 String#upcase - 150 + 159 @@ -1237,7 +1127,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/2538753 + 13/17024280 ProgressBar::Calculators::Length#length_changed? 22 @@ -1246,24 +1136,24 @@

Thread 80, Fiber: 60

    - 0.33 - 0.22 + 2.26 + 1.49 0.00 - 0.11 - 2538741/2538753 + 0.77 + 17024267/17024280 Array#all? - 1.61% - 1.07% - 0.33 - 0.22 + 16.52% + 10.89% + 2.26 + 1.49 0.00 - 0.11 - 2538753 + 0.77 + 17024280 BasicObject#!= @@ -1282,11 +1172,11 @@

Thread 80, Fiber: 60

    - 0.11 - 0.11 + 0.77 + 0.77 0.00 0.00 - 2538741/119272278 + 17024267/17424268 String#== @@ -1299,7 +1189,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/119 + 12/125 Integer#== @@ -1330,23 +1220,23 @@

Thread 80, Fiber: 60

    - 0.20 + 1.24 0.00 0.00 - 0.20 + 1.23 7/7 Object#work - 119 + 128 - 0.97% + 9.03% 0.00% - 0.20 + 1.24 0.00 0.00 - 0.20 + 1.23 7 @@ -1366,11 +1256,11 @@

Thread 80, Fiber: 60

    - 0.20 - 0.05 + 1.23 + 0.25 0.00 - 0.16 - 7/36 + 0.98 + 7/39 Array#each 39 @@ -1388,27 +1278,53 @@

Thread 80, Fiber: 60

    - 0.18 - 0.18 0.00 0.00 - 34792/34792 + 0.00 + 0.00 + 1/17424268 + Object#work + + 57 + + + +   +   + 0.02 + 0.02 + 0.00 + 0.00 + 400000/17424268 Array#each + +   +   + 0.77 + 0.77 + 0.00 + 0.00 + 17024267/17424268 + BasicObject#!= + + + + - 0.88% - 0.88% - 0.18 - 0.18 + 5.80% + 5.80% + 0.79 + 0.79 0.00 0.00 - 34792 + 17424268 - - Array#+ + + String#== @@ -1433,37 +1349,37 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 - 0.00 + 0.04 + 0.03 0.00 - 2/50514 + 0.01 + 2/338241 Object#work - 97 + 104     - 0.11 - 0.03 + 0.66 + 0.18 0.00 - 0.07 - 50512/50514 + 0.48 + 338239/338241 Array#each - 0.54% - 0.19% - 0.11 - 0.04 + 5.15% + 1.55% + 0.70 + 0.21 0.00 - 0.07 - 50514 + 0.49 + 338241 Array#map @@ -1482,53 +1398,53 @@

Thread 80, Fiber: 60

    - 0.06 - 0.03 + 0.42 + 0.22 0.00 - 0.03 - 25408/25408 + 0.20 + 169251/169251 <Class::Date>#parse - 156 + 165     + 0.03 + 0.03 0.00 0.00 - 0.00 - 0.00 - 25408/25408 + 169251/169251 Date#iso8601 - 156 + 165     + 0.03 + 0.03 0.00 0.00 - 0.00 - 0.00 - 50816/69991 + 338502/466624 String#upcase - 100 + 107     + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 50816/50816 + 338502/338502 String#to_i - 126 + 135 @@ -1543,24 +1459,24 @@

Thread 80, Fiber: 60

    - 0.06 - 0.03 + 0.42 + 0.22 0.00 - 0.03 - 25408/25408 + 0.20 + 169251/169251 Array#map - 0.30% - 0.15% - 0.06 - 0.03 + 3.07% + 1.58% + 0.42 + 0.22 0.00 - 0.03 - 25408 + 0.20 + 169251 <Class::Date>#parse @@ -1579,12 +1495,12 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.07 + 0.07 0.00 0.00 - 25408/25468 - String#gsub! + 338502/338502 + Regexp#match @@ -1592,12 +1508,12 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.07 + 0.07 0.00 0.00 - 50816/50816 - Regexp#match + 169251/169316 + String#gsub! @@ -1605,11 +1521,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.04 + 0.04 0.00 0.00 - 25408/25408 + 169251/169251 MatchData#begin @@ -1618,11 +1534,11 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 25408/25408 + 169251/169251 String#[]= @@ -1631,11 +1547,11 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 25408/25408 + 169251/169251 MatchData#end @@ -1644,11 +1560,11 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 25408/25408 + 169251/169251 Integer#div @@ -1666,24 +1582,24 @@

Thread 80, Fiber: 60

    - 0.04 - 0.02 + 0.23 + 0.14 0.00 - 0.02 - 25408/25408 + 0.10 + 169251/169251 Array#each - 0.19% - 0.11% - 0.04 - 0.02 + 1.69% + 0.99% + 0.23 + 0.14 0.00 - 0.02 - 25408 + 0.10 + 169251 Object#parse_session @@ -1702,11 +1618,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.06 + 0.06 0.00 0.00 - 25408/60001 + 169251/400001 String#split 28 @@ -1715,11 +1631,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.04 + 0.04 0.00 0.00 - 127040/205545 + 846255/1369396 Array#[] 30 @@ -1737,11 +1653,11 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 4592/60001 + 30749/400001 Object#parse_user 18 @@ -1750,24 +1666,24 @@

Thread 80, Fiber: 60

    + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 1/60001 + 1/400001 Object#work - 53 + 60     - 0.01 - 0.01 + 0.06 + 0.06 0.00 0.00 - 25408/60001 + 169251/400001 Object#parse_session 28 @@ -1776,24 +1692,24 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 + 0.08 + 0.08 0.00 0.00 - 30000/60001 + 200000/400001 Array#each - 0.17% - 0.17% - 0.04 - 0.04 + 1.23% + 1.23% + 0.17 + 0.17 0.00 0.00 - 60001 + 400001 String#split @@ -1821,110 +1737,52 @@

Thread 80, Fiber: 60

    + 0.09 0.00 0.00 - 0.00 - 0.00 - 12/25468 - <Class::ProgressBar::Format::Formatter>#process - - 11 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 48/25468 - Array#each - - - - - -   -   - 0.01 - 0.01 - 0.00 - 0.00 - 25408/25468 - <Class::Date>#parse + 0.09 + 1/1 + Object#work - + 115 - 0.05% - 0.05% - 0.01 - 0.01 + 0.67% + 0.00% + 0.09 0.00 0.00 - 25468 + 0.09 + 1 - - String#gsub! + + Object#select_sessions_for_users - + 46 - - - - - - - - -     - 0.01 - 0.01 + 0.09 0.00 0.00 - 50816/50816 - <Class::Date>#parse + 0.09 + 1/1 + Enumerable#each_with_object - + 47 - - 0.05% - 0.05% - 0.01 - 0.01 - 0.00 - 0.00 - 50816 - - - Regexp#match - - - - - - - - - - - - @@ -1937,40 +1795,27 @@

Thread 80, Fiber: 60

    + 0.09 0.00 0.00 - 0.00 - 0.00 - 1/9185 - Object#work - - 97 - - - -   -   - 0.01 - 0.00 - 0.00 - 0.00 - 9184/9185 - Array#each + 0.09 + 1/1 + Object#select_sessions_for_users - + 47 - 0.05% - 0.03% - 0.01 - 0.01 + 0.67% + 0.00% + 0.09 0.00 0.00 - 9185 + 0.09 + 1 - - Array#sort + + Enumerable#each_with_object @@ -1986,12 +1831,12 @@

Thread 80, Fiber: 60

    + 0.09 + 0.05 0.00 - 0.00 - 0.00 - 0.00 - 51787/51787 - Date#<=> + 0.04 + 1/39 + Array#each @@ -2008,39 +1853,16 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 0.00 0.00 - 4592/4592 - Array#each + 0.00 + 0.00 + 1/799798 + ProgressBar::Components::Percentage#initialize - + 7 - - 0.05% - 0.03% - 0.01 - 0.01 - 0.00 - 0.00 - 4592 - - - Object#parse_user - - - - - - 17 - - - - - -     @@ -2048,10 +1870,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/60001 - String#split + 1/799798 + ProgressBar::Components::Title#initialize - 18 + 9 @@ -2061,21 +1883,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 18368/205545 - Array#[] + 1/799798 + ProgressBar::Throttle#initialize - 20 + 9 - - - - - - - - -     @@ -2083,10 +1896,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/4611 - ProgressBar::Throttle#initialize + 2/799798 + <Class::ProgressBar::Output>#detect - 12 + 21 @@ -2096,10 +1909,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/4611 - ProgressBar::Timer#initialize + 3/799798 + ProgressBar::Components::Time#initialize - 9 + 22 @@ -2109,10 +1922,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/4611 - String#scan + 2/799798 + ProgressBar::Calculators::Length#initialize - + 9 @@ -2122,10 +1935,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/4611 + 3/799798 ProgressBar::Output#initialize - 13 + 11 @@ -2135,10 +1948,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/4611 - <Class::ProgressBar::Output>#detect + 1/799798 + ProgressBar::Projectors::SmoothedAverage#initialize - 24 + 14 @@ -2148,10 +1961,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/4611 - ProgressBar::Base#initialize + 2/799798 + ProgressBar::Timer#initialize - 52 + 9 @@ -2161,48 +1974,25 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/4611 - <Class::ProgressBar>#create + 3/799798 + ProgressBar::Components::Rate#initialize - 10 + 9     - 0.01 - 0.01 0.00 0.00 - 4592/4611 - Array#each + 0.00 + 0.00 + 2/799798 + ProgressBar::Progress#start - + 19 - - 0.04% - 0.03% - 0.01 - 0.01 - 0.00 - 0.00 - 4611 - - - *Class#new - - - - - - - - - - - -     @@ -2210,10 +2000,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4592 - User#initialize + 2/799798 + ProgressBar::Projectors::SmoothedAverage#start - + 21 @@ -2223,10 +2013,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 5/799798 + ProgressBar::Components::Bar#initialize - + 18 @@ -2236,10 +2026,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Projectors::SmoothedAverage#initialize + 8/799798 + ProgressBar::Base#initialize - + 46 @@ -2249,10 +2039,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Output#initialize + 13/799798 + ProgressBar::Components::Bar#to_s - + 28 @@ -2262,64 +2052,102 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Progress#initialize + 12/799798 + ProgressBar::Output#refresh - + 51     + 0.08 + 0.08 0.00 0.00 - 0.00 - 0.00 - 2/2 - ProgressBar::Timer#initialize + 799737/799798 + Array#each - + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Throttle#initialize - - - + + 0.60% + 0.60% + 0.08 + 0.08 + 0.00 + 0.00 + 799798 + + + Hash#[] + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 4/4 - ProgressBar::Format::Molecule#initialize - - - + + + + + + + + + + +     + 0.07 + 0.07 0.00 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Bar#initialize + 338502/338502 + <Class::Date>#parse - + + + 0.51% + 0.51% + 0.07 + 0.07 + 0.00 + 0.00 + 338502 + + + Regexp#match + + + + + + + + + + + + + + + + + + + + +     @@ -2327,10 +2155,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Calculators::Length#initialize + 13/169316 + <Class::ProgressBar::Format::Formatter>#process - + 11 @@ -2340,60 +2168,115 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Rate#initialize + 52/169316 + Array#each - +     + 0.07 + 0.07 0.00 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Time#initialize + 169251/169316 + <Class::Date>#parse - + + + 0.50% + 0.50% + 0.07 + 0.07 + 0.00 + 0.00 + 169316 + + + String#gsub! + + + + + + + + + + + + + + + + + + + + +     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 2/2 - ProgressBar::Time#initialize + 1/61499 + Object#work - + 104     + 0.05 + 0.03 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Title#initialize + 0.02 + 61498/61499 + Array#each - + + + 0.47% + 0.32% + 0.06 + 0.04 + 0.00 + 0.02 + 61499 + + + Array#sort + + + + + + + + + + + +     + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Percentage#initialize + 342928/342928 + Date#<=> @@ -2414,7 +2297,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/205545 + 28/1369396 ProgressBar::Projectors::SmoothedAverage#absolute 67 @@ -2427,7 +2310,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/205545 + 13/1369396 ProgressBar::Projectors::SmoothedAverage#progress 33 @@ -2440,7 +2323,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 96/205545 + 104/1369396 ProgressBar::Format::Molecule#lookup_value 51 @@ -2449,11 +2332,11 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 18368/205545 + 122996/1369396 Object#parse_user 20 @@ -2462,11 +2345,11 @@

Thread 80, Fiber: 60

    + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 60000/205545 + 400000/1369396 Array#each @@ -2475,24 +2358,24 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.04 + 0.04 0.00 0.00 - 127040/205545 + 846255/1369396 Object#parse_session 30 - 0.04% - 0.04% - 0.01 - 0.01 + 0.43% + 0.43% + 0.06 + 0.06 0.00 0.00 - 205545 + 1369396 Array#[] @@ -2524,141 +2407,163 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/64348 - ProgressBar::Components::Percentage#initialize + 13/491997 + ProgressBar::Output#print_and_flush - 7 + 67     + 0.05 + 0.05 0.00 0.00 - 0.00 - 0.00 - 1/64348 - ProgressBar::Components::Title#initialize + 491984/491997 + Array#each - 9 + + + 0.34% + 0.34% + 0.05 + 0.05 + 0.00 + 0.00 + 491997 + + + String#+ + + + + + + + + + + + + + + + + + + + + +     + 0.04 + 0.03 0.00 - 0.00 - 0.00 - 0.00 - 1/64348 - ProgressBar::Throttle#initialize + 0.02 + 30749/30749 + Array#each - 9 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/64348 - ProgressBar::Calculators::Length#initialize - - 9 - + + 0.31% + 0.19% + 0.04 + 0.03 + 0.00 + 0.02 + 30749 + + + Object#parse_user + + + + + + 17 + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/64348 - <Class::ProgressBar::Output>#detect - - 21 - + +     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 3/64348 - ProgressBar::Components::Time#initialize + 30749/400001 + String#split - 22 + 18     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 5/64348 - ProgressBar::Components::Bar#initialize + 122996/1369396 + Array#[] - 18 + 20 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/64348 - ProgressBar::Projectors::SmoothedAverage#initialize - - 14 - + + + + + + + +     + 0.04 + 0.04 0.00 0.00 - 0.00 - 0.00 - 3/64348 - ProgressBar::Output#initialize + 1/1 + Object#work - 11 + 169 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 3/64348 - ProgressBar::Components::Rate#initialize - - 9 - + + 0.28% + 0.28% + 0.04 + 0.04 + 0.00 + 0.00 + 1 + + + JSON::Ext::Generator::GeneratorMethods::Hash#to_json + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/64348 - ProgressBar::Timer#initialize - - 9 - + +   @@ -2667,88 +2572,116 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/64348 - ProgressBar::Progress#start + 1/1 + JSON::Ext::Generator::State#initialize - 19 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/64348 - ProgressBar::Projectors::SmoothedAverage#start - - 21 - + + + + + + + +     + 0.04 + 0.02 0.00 - 0.00 - 0.00 - 0.00 - 8/64348 - ProgressBar::Base#initialize + 0.02 + 30749/30749 + Array#each - 46 + + + 0.28% + 0.12% + 0.04 + 0.02 + 0.00 + 0.02 + 30749 + + + Array#any? + + + + + + + + + + + +     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 12/64348 - ProgressBar::Output#refresh + 88464/128135 + String#=~ - 51 + 153     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 12/64348 - ProgressBar::Components::Bar#to_s + 88464/466624 + String#upcase - 28 + 153 + + + + + + + + +     - 0.01 - 0.01 + 0.04 + 0.04 0.00 0.00 - 64288/64348 - Array#each + 169251/169251 + <Class::Date>#parse - 0.04% - 0.04% - 0.01 - 0.01 + 0.27% + 0.27% + 0.04 + 0.04 0.00 0.00 - 64348 + 169251 - - Hash#[] + + MatchData#begin @@ -2777,10 +2710,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/73484 - ProgressBar::Output#print_and_flush + 39658/466624 + Array#all? - 67 + @@ -2790,23 +2723,36 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 73472/73484 - Array#each + 88464/466624 + Array#any? + + + + + +   +   + 0.03 + 0.03 + 0.00 + 0.00 + 338502/466624 + Array#map - 0.04% - 0.04% - 0.01 - 0.01 + 0.26% + 0.26% + 0.04 + 0.04 0.00 0.00 - 73484 + 466624 - - String#+ + + String#upcase @@ -2831,72 +2777,40 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 0.00 0.00 - 25408/25408 - <Class::Date>#parse + 0.00 + 0.00 + 2/215245 + ProgressBar::Base#initialize - + 71 - - 0.03% - 0.03% - 0.01 - 0.01 - 0.00 - 0.00 - 25408 - - - MatchData#begin - - - - - - - - - - - - - - - - - - - - -     - 0.01 - 0.00 + 0.03 + 0.03 0.00 0.00 - 4592/4592 + 215243/215245 Array#each - 0.03% - 0.01% - 0.01 - 0.00 + 0.25% + 0.25% + 0.03 + 0.03 0.00 0.00 - 4592 + 215245 - - Array#any? + + Hash#merge @@ -2909,32 +2823,6 @@

Thread 80, Fiber: 60

- -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13223/19187 - String#=~ - - 144 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13223/69991 - String#upcase - - 144 - - @@ -2951,10 +2839,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 5952/69991 - Array#all? + 1/276711 + Object#work - + 90 @@ -2964,36 +2852,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13223/69991 - Array#any? + 1/276711 + ProgressBar::Base#initialize - + 46     + 0.03 + 0.03 0.00 0.00 - 0.00 - 0.00 - 50816/69991 - Array#map + 276709/276711 + Array#each - 0.03% - 0.03% - 0.01 - 0.01 + 0.24% + 0.24% + 0.03 + 0.03 0.00 0.00 - 69991 + 276711 - - String#upcase + + Hash#[]= @@ -3018,53 +2906,27 @@

Thread 80, Fiber: 60

    + 0.03 + 0.03 0.00 0.00 - 0.00 - 0.00 - 1/36738 - Object#work - - 83 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/36738 - ProgressBar::Base#initialize - - 46 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 36736/36738 - Array#each + 169251/169251 + Array#map - 0.02% - 0.02% - 0.00 - 0.00 + 0.22% + 0.22% + 0.03 + 0.03 0.00 0.00 - 36738 + 169251 - - Hash#[]= + + Date#iso8601 @@ -3089,27 +2951,27 @@

Thread 80, Fiber: 60

    + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 1/1 - Object#work + 430486/430486 + Array#each - 160 + - 0.02% - 0.02% - 0.00 - 0.00 + 0.16% + 0.16% + 0.02 + 0.02 0.00 0.00 - 1 + 430486 - - JSON::Ext::Generator::GeneratorMethods::Hash#to_json + + User#attributes @@ -3122,19 +2984,6 @@

Thread 80, Fiber: 60

- -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - JSON::Ext::Generator::State#initialize - - - - @@ -3147,27 +2996,27 @@

Thread 80, Fiber: 60

    + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 25408/25408 - Array#map + 342928/342928 + Array#sort - 0.02% - 0.02% - 0.00 - 0.00 + 0.15% + 0.15% + 0.02 + 0.02 0.00 0.00 - 25408 + 342928 - - Date#iso8601 + + Date#<=> @@ -3196,36 +3045,49 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/32146 - ProgressBar::Base#initialize + 13/128135 + ProgressBar::Calculators::Length#unix? - 71 + 94     + 0.01 + 0.01 0.00 0.00 + 39658/128135 + Array#all? + + + + + +   +   + 0.01 + 0.01 0.00 0.00 - 32144/32146 - Array#each + 88464/128135 + Array#any? - 0.02% - 0.02% - 0.00 - 0.00 + 0.15% + 0.15% + 0.02 + 0.02 0.00 0.00 - 32146 + 128135 - - Hash#merge + + String#=~ @@ -3250,27 +3112,27 @@

Thread 80, Fiber: 60

    + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 64288/64288 - Array#each + 338502/338502 + Array#map - 0.02% - 0.02% - 0.00 - 0.00 + 0.13% + 0.13% + 0.02 + 0.02 0.00 0.00 - 64288 + 338502 - - User#attributes + + String#to_i @@ -3295,53 +3157,27 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 12/19187 - ProgressBar::Calculators::Length#unix? - - 94 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 5952/19187 - Array#all? - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13223/19187 - Array#any? + 169251/169251 + <Class::Date>#parse - 0.02% - 0.02% - 0.00 - 0.00 + 0.10% + 0.10% + 0.01 + 0.01 0.00 0.00 - 19187 + 169251 - - String#=~ + + String#[]= @@ -3366,27 +3202,27 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 51787/51787 - Array#sort + 215243/215243 + Array#each - 0.02% - 0.02% - 0.00 - 0.00 + 0.09% + 0.09% + 0.01 + 0.01 0.00 0.00 - 51787 + 215243 - - Date#<=> + + User#sessions @@ -3415,23 +3251,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 50816/50816 - Array#map + 4/169255 + String#scan + + + + + +   +   + 0.01 + 0.01 + 0.00 + 0.00 + 169251/169255 + Array#each - 0.01% - 0.01% - 0.00 - 0.00 + 0.08% + 0.08% + 0.01 + 0.01 0.00 0.00 - 50816 + 169255 - - String#to_i + + Array#<< @@ -3460,10 +3309,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Base#start + 1/30768 + ProgressBar::Throttle#initialize - 89 + 12 @@ -3473,34 +3322,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Base#increment + 2/30768 + ProgressBar::Timer#initialize - 142 + 9 - - 0.01% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 13 - - - ProgressBar::Base#update_progress - - - - - - 226 - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 2/30768 + ProgressBar::Output#initialize + + 13 +   @@ -3509,10 +3348,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Output#with_refresh + 4/30768 + String#scan - 227 + @@ -3522,20 +3361,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - ProgressBar::Base#output + 1/30768 + <Class::ProgressBar::Output>#detect - 227 + 24 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 8/30768 + ProgressBar::Base#initialize + + 52 +   @@ -3544,29 +3387,42 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Base#update_progress + 1/30768 + <Class::ProgressBar>#create - 227 + 10 + + + +   +   + 0.01 + 0.01 + 0.00 + 0.00 + 30749/30768 + Array#each + + - 0.01% - 0.00% - 0.00 - 0.00 + 0.08% + 0.05% + 0.01 + 0.01 0.00 0.00 - 13 + 30768 - - ProgressBar::Output#with_refresh + + *Class#new - 45 + @@ -3580,10 +3436,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Output#refresh + 30749/30749 + User#initialize - 47 + @@ -3593,10 +3449,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Projectors::SmoothedAverage#increment + 1/1 + ProgressBar::Base#initialize - 229 + @@ -3606,10 +3462,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Progress#increment + 1/1 + ProgressBar::Projectors::SmoothedAverage#initialize - 228 + @@ -3619,10 +3475,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/36 - ProgressBar::Base#finished? + 1/1 + ProgressBar::Output#initialize - 230 + @@ -3632,10 +3488,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Timer#stop + 4/4 + ProgressBar::Format::Molecule#initialize - 230 + @@ -3645,10 +3501,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/2 - ProgressBar::Projectors::SmoothedAverage#start + 1/1 + ProgressBar::Progress#initialize - 229 + @@ -3658,10 +3514,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/50 - ProgressBar::Base#progressable + 1/1 + ProgressBar::Throttle#initialize - 228 + @@ -3671,10 +3527,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Base#projector + 2/2 + ProgressBar::Timer#initialize - 229 + @@ -3684,10 +3540,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/2 - ProgressBar::Progress#start + 1/1 + ProgressBar::Components::Bar#initialize - 228 + @@ -3697,21 +3553,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/28 - ProgressBar::Base#timer + 1/1 + ProgressBar::Components::Rate#initialize - 230 + - - - - - - - - -     @@ -3719,35 +3566,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - Object#work + 1/1 + ProgressBar::Calculators::Length#initialize - 54 + - - 0.01% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 12 - - - ProgressBar::Base#increment - - - - - - 141 - - - - - -     @@ -3755,15 +3579,54 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Base#update_progress + 1/1 + ProgressBar::Components::Time#initialize - 142 + - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 2/2 + ProgressBar::Time#initialize + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Title#initialize + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Percentage#initialize + + + + + + + @@ -3773,27 +3636,27 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 32144/32144 - Array#each + 169251/169251 + <Class::Date>#parse - 0.01% - 0.01% - 0.00 - 0.00 + 0.07% + 0.07% + 0.01 + 0.01 0.00 0.00 - 32144 + 169251 - - User#sessions + + MatchData#end @@ -3822,100 +3685,138 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Output#with_refresh + 1/30750 + Object#work - 47 + 104 + + + +   +   + 0.01 + 0.01 + 0.00 + 0.00 + 30749/30750 + Array#each + + - 0.01% - 0.00% - 0.00 - 0.00 + 0.06% + 0.06% + 0.01 + 0.01 0.00 0.00 - 13 + 30750 - - ProgressBar::Output#refresh + + Array#join - 50 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Throttle#choke - - 51 - + + + + + + + +     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 13/25 - ProgressBar::Base#stopped? + 169251/169251 + <Class::Date>#parse - 51 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Output#throttle - - 51 - + + 0.05% + 0.05% + 0.01 + 0.01 + 0.00 + 0.00 + 169251 + + + Integer#div + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/37 - ProgressBar::Output#bar - - 51 - + + + + + + + + + + +     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 12/64348 - Hash#[] + 61497/61497 + Array#each - 51 + + + 0.04% + 0.04% + 0.01 + 0.01 + 0.00 + 0.00 + 61497 + + + Integer#to_s + + + + + + + + + + + + @@ -3932,29 +3833,29 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25408/25408 - <Class::Date>#parse + 30749/30749 + Class#new - 0.01% - 0.01% + 0.03% + 0.03% 0.00 0.00 0.00 0.00 - 25408 + 30749 - - String#[]= + + User#initialize - + 11 @@ -3977,47 +3878,43 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Output#refresh + 1/1 + Object#work - 51 + 104 - 0.01% - 0.00% + 0.03% + 0.03% 0.00 0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Throttle#choke + + Array#uniq - 15 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Output#print_and_flush - - 54 - + + + + + + + +   @@ -4026,10 +3923,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/34 - ProgressBar::Timer#elapsed_seconds + 15/16 + IO#print - 16 + @@ -4039,24 +3936,43 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Calculators::Length#length_changed? + 1/16 + Object#work - 52 + 169 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Timer#restart - - 20 - + + 0.03% + 0.03% + 0.00 + 0.00 + 0.00 + 0.00 + 16 + + + IO#write + + + + + + + + + + + + + + + + + + + +   @@ -4066,49 +3982,42 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Outputs::Tty#clear + Object#work - 52 + 60 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/61 - ProgressBar::Timer#started? - - 16 - + + 0.02% + 0.02% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + <Class::IO>#read + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 36/36 - ProgressBar::Throttle#timer - - 16 - + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/21 - Hash#fetch - - 16 - + + + + + + + +   @@ -4117,10 +4026,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 - ProgressBar::Output#length_calculator + 1/13 + ProgressBar::Base#start - 52 + 89 @@ -4130,12 +4039,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - Float#>= + 12/13 + ProgressBar::Base#increment - 16 + 142 + + 0.02% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Base#update_progress + + + + + + 226 + + + + + +     @@ -4143,10 +4075,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - BasicObject#! + 13/13 + ProgressBar::Output#with_refresh - 16 + 227 @@ -4156,10 +4088,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Throttle#rate + 13/27 + ProgressBar::Base#output - 16 + 227 @@ -4178,29 +4110,29 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4592 - Class#new + 30749/30749 + Array#each - 0.01% - 0.01% + 0.02% + 0.02% 0.00 0.00 0.00 0.00 - 4592 + 30749 - - User#initialize + + Array#max - 11 + @@ -4223,44 +4155,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25408/25408 - <Class::Date>#parse + 13/13 + ProgressBar::Base#update_progress - + 227 - 0.01% - 0.01% + 0.02% + 0.00% 0.00 0.00 0.00 0.00 - 25408 + 13 - - MatchData#end + + ProgressBar::Output#with_refresh - + 45 - - - - - - - - -     @@ -4268,35 +4191,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Throttle#choke + 13/13 + ProgressBar::Output#refresh - 54 + 47 - - 0.01% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 12 - - - ProgressBar::Output#print_and_flush - - - - - - 66 - - - - - -     @@ -4305,9 +4205,9 @@

Thread 80, Fiber: 60

0.00 0.00 12/12 - ProgressBar::Outputs::Tty#bar_update_string + ProgressBar::Projectors::SmoothedAverage#increment - 67 + 229 @@ -4317,10 +4217,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/14 - IO#print + 12/12 + ProgressBar::Progress#increment - 67 + 228 @@ -4330,10 +4230,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Outputs::Tty#eol + 13/37 + ProgressBar::Base#finished? - 67 + 230 @@ -4343,10 +4243,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/27 - ProgressBar::Output#stream + 1/1 + ProgressBar::Timer#stop - 67 + 230 @@ -4356,10 +4256,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - IO#flush + 1/2 + ProgressBar::Projectors::SmoothedAverage#start - 68 + 229 @@ -4369,20 +4269,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/73484 - String#+ + 13/51 + ProgressBar::Base#progressable - 67 + 228 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + ProgressBar::Base#projector + + 229 +   @@ -4391,10 +4295,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/4593 - Object#work + 1/2 + ProgressBar::Progress#start - 97 + 228 @@ -4404,35 +4308,70 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4593 - Array#each + 1/29 + ProgressBar::Base#timer - + 230 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/12 + Object#work + + 61 0.01% - 0.01% + 0.00% 0.00 0.00 0.00 0.00 - 4593 + 12 - - Array#join + + ProgressBar::Base#increment - + 141 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/13 + ProgressBar::Base#update_progress + + 142 + + @@ -4449,8 +4388,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25408/25408 - <Class::Date>#parse + 30749/30749 + Array#each @@ -4462,10 +4401,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25408 + 30749 - - Integer#div + + Array#sum @@ -4494,61 +4433,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Output#print_and_flush + 30749/30749 + Array#each - 67 + - 0.00% - 0.00% + 0.01% + 0.01% 0.00 0.00 0.00 0.00 - 12 + 30749 - - ProgressBar::Outputs::Tty#bar_update_string + + Array#reverse - 15 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Base#to_s - - 16 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/37 - ProgressBar::Output#bar - - 16 - - @@ -4565,29 +4478,29 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Outputs::Tty#bar_update_string + 13/13 + ProgressBar::Output#with_refresh - 16 + 47 - 0.00% + 0.01% 0.00% 0.00 0.00 0.00 0.00 - 12 + 13 - - ProgressBar::Base#to_s + + ProgressBar::Output#refresh - 169 + 50 @@ -4601,10 +4514,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - <Class::ProgressBar::Format::Formatter>#process + 13/13 + ProgressBar::Throttle#choke - 172 + 51 @@ -4614,10 +4527,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Output#length + 13/26 + ProgressBar::Base#stopped? - 172 + 51 @@ -4627,10 +4540,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/26 - ProgressBar::Base#output + 13/13 + ProgressBar::Output#throttle - 172 + 51 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/39 + ProgressBar::Output#bar + + 51 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/799798 + Hash#[] + + 51 @@ -4649,29 +4588,29 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Base#to_s + 13/13 + ProgressBar::Output#refresh - 172 + 51 - 0.00% + 0.01% 0.00% 0.00 0.00 0.00 0.00 - 12 + 13 - - <Class::ProgressBar::Format::Formatter>#process + + ProgressBar::Throttle#choke - 4 + 15 @@ -4685,10 +4624,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/36 - Array#each + 13/13 + ProgressBar::Output#print_and_flush - 7 + 54 @@ -4698,10 +4637,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - String#dup + 13/13 + ProgressBar::Calculators::Length#length_changed? - 5 + 52 @@ -4711,10 +4650,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Format::String#non_bar_molecules + 11/36 + ProgressBar::Timer#elapsed_seconds - 7 + 16 @@ -4724,10 +4663,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Format::String#displayable_length + 13/13 + ProgressBar::Timer#restart - 13 + 20 @@ -4737,10 +4676,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25468 - String#gsub! + 1/1 + ProgressBar::Outputs::Tty#clear - 11 + 52 @@ -4750,10 +4689,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Format::String#bar_molecule_placeholder_length + 13/64 + ProgressBar::Timer#started? - 13 + 16 @@ -4763,10 +4702,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Format::String#bar_molecules + 37/37 + ProgressBar::Throttle#timer - 18 + 16 @@ -4776,10 +4715,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 - Integer#+ + 12/21 + Hash#fetch - 13 + 16 @@ -4789,10 +4728,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/24 - Integer#< + 11/11 + ProgressBar::Throttle#rate - 16 + 16 @@ -4802,21 +4741,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/38 - Integer#- + 11/11 + Float#>= - 13 + 16 - - - - - - - - -     @@ -4824,34 +4754,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 9184/9184 - Array#each + 13/28 + BasicObject#! - + 16 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 9184 - - - Integer#to_s - - - - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/27 + ProgressBar::Output#length_calculator + + 52 + @@ -4869,23 +4789,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 + 3/30752 Object#work - 53 + 90 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 30749/30752 + Array#each + + - 0.00% - 0.00% + 0.01% + 0.01% 0.00 0.00 0.00 0.00 - 1 + 30752 - - <Class::IO>#read + + Array#count @@ -4914,29 +4847,29 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/48 - Array#each + 13/13 + ProgressBar::Throttle#choke - + 54 - 0.00% + 0.01% 0.00% 0.00 0.00 0.00 0.00 - 48 + 13 - - ProgressBar::Format::Molecule#lookup_value + + ProgressBar::Output#print_and_flush - 50 + 66 @@ -4950,10 +4883,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated_with_friendly_oob + 13/13 + ProgressBar::Outputs::Tty#bar_update_string - 56 + 67 @@ -4963,10 +4896,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Bar#complete_bar + 13/15 + IO#print - 54 + 67 @@ -4976,10 +4909,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Components::Time#elapsed_with_label + 13/13 + ProgressBar::Outputs::Tty#eol - 56 + 67 @@ -4989,10 +4922,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Percentage#justified_percentage_with_precision + 26/29 + ProgressBar::Output#stream - 56 + 67 @@ -5002,10 +4935,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/56 - ProgressBar::Format::Molecule#bar_molecule? + 13/13 + IO#flush - 53 + 68 @@ -5015,12 +4948,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 96/96 - ProgressBar::Format::Molecule#method_name + 13/491997 + String#+ - 51 + 67 + + + + + + + + +     @@ -5028,12 +4970,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 96/205545 - Array#[] + 13/13 + ProgressBar::Output#print_and_flush - 51 + 67 + + 0.01% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Outputs::Tty#bar_update_string + + + + + + 15 + + + + + +     @@ -5041,10 +5006,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/60 - String#to_s + 13/13 + ProgressBar::Base#to_s - 56 + 16 @@ -5054,12 +5019,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/24 - ProgressBar::Base#time_component + 13/39 + ProgressBar::Output#bar - 51 + 16 + + + + + + + + +     @@ -5067,12 +5041,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Base#percentage_component + 13/13 + ProgressBar::Outputs::Tty#bar_update_string - 51 + 16 + + 0.01% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Base#to_s + + + + + + 169 + + + + + +     @@ -5080,21 +5077,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Base#bar_component + 13/13 + <Class::ProgressBar::Format::Formatter>#process - 51 + 172 - - - - - - - - -     @@ -5102,10 +5090,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/15 - IO#print + 13/13 + ProgressBar::Output#length - + 172 @@ -5115,35 +5103,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/15 - Object#work + 13/27 + ProgressBar::Base#output - 160 + 172 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 15 - - - IO#write - - - - - - - - - - - - @@ -5160,44 +5125,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Object#work + 13/13 + ProgressBar::Base#to_s - 97 + 172 - 0.00% + 0.01% 0.00% 0.00 0.00 0.00 0.00 - 1 + 13 - - Array#uniq + + <Class::ProgressBar::Format::Formatter>#process - + 4 - - - - - - - - -     @@ -5205,10 +5161,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/34 - ProgressBar::Components::Time#estimated_seconds_remaining + 26/39 + Array#each - 97 + 7 @@ -5218,10 +5174,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/34 - ProgressBar::Timer#elapsed_whole_seconds + 13/13 + String#dup - 64 + 5 @@ -5231,35 +5187,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/34 - ProgressBar::Throttle#choke + 13/13 + ProgressBar::Format::String#non_bar_molecules - 16 + 7 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 34 - - - ProgressBar::Timer#elapsed_seconds - - - - - - 57 - - - - - -     @@ -5267,10 +5200,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 32/46 - ProgressBar::Time#now + 13/13 + ProgressBar::Format::String#displayable_length - 60 + 13 @@ -5280,10 +5213,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/34 - Time#- + 13/13 + ProgressBar::Format::String#bar_molecule_placeholder_length - 60 + 13 @@ -5293,10 +5226,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/61 - ProgressBar::Timer#started? + 13/169316 + String#gsub! - 58 + 11 @@ -5306,10 +5239,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/105 - ProgressBar::Timer#started_at + 13/14 + ProgressBar::Format::String#bar_molecules - 60 + 18 @@ -5319,10 +5252,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/82 - ProgressBar::Timer#stopped_at + 13/37 + Integer#+ - 60 + 13 @@ -5332,21 +5265,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 32/46 - ProgressBar::Timer#time + 13/26 + Integer#< - 60 + 16 - - - - - - - - -     @@ -5354,12 +5278,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/4595 - Object#work + 13/40 + Integer#- - 83 + 13 + + + + + + + + +     @@ -5367,44 +5300,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4595 + 52/52 Array#each - 0.00% + 0.01% 0.00% 0.00 0.00 0.00 0.00 - 4595 + 52 - - Array#count + + ProgressBar::Format::Molecule#lookup_value - + 50 - - - - - - - - -     @@ -5412,35 +5336,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Object#work + 13/13 + ProgressBar::Components::Time#estimated_with_friendly_oob - 50 + 56 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - <Class::ProgressBar>#create - - - - - - 9 - - - - - -     @@ -5448,21 +5349,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/4611 - Class#new + 13/13 + ProgressBar::Components::Bar#complete_bar - 10 + 54 - - - - - - - - -     @@ -5470,44 +5362,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4592 - Array#each + 13/14 + ProgressBar::Components::Time#elapsed_with_label - + 56 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 4592 - - - Array#sum - - - - - - - - - - - - - - - - - - - - -     @@ -5515,10 +5375,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/46 - ProgressBar::Timer#stop + 13/13 + ProgressBar::Components::Percentage#justified_percentage_with_precision - 20 + 56 @@ -5528,10 +5388,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/46 - ProgressBar::Timer#start + 52/60 + ProgressBar::Format::Molecule#bar_molecule? - 13 + 53 @@ -5541,34 +5401,37 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 32/46 - ProgressBar::Timer#elapsed_seconds + 104/104 + ProgressBar::Format::Molecule#method_name - 60 + 51 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 46 - - - ProgressBar::Time#now - - - - - - 15 - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 104/1369396 + Array#[] + + 51 + - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 52/65 + String#to_s + + 56 +   @@ -5577,10 +5440,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46/46 - <Class::Time>#now + 26/26 + ProgressBar::Base#time_component - 16 + 51 @@ -5590,10 +5453,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46/46 - ProgressBar::Time#unmocked_time_method + 13/13 + ProgressBar::Base#bar_component - 16 + 51 @@ -5603,10 +5466,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46/54 - ProgressBar::Time#time + 13/13 + ProgressBar::Base#percentage_component - 16 + 51 @@ -5626,9 +5489,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Class#new + Object#work - + 57 @@ -5640,14 +5503,72 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#initialize + + <Class::ProgressBar>#create - 45 + 9 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/30768 + Class#new + + 10 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Class#new + + + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Base#initialize + + + + + + 45 @@ -5674,7 +5595,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/4611 + 8/30768 Class#new 52 @@ -5701,9 +5622,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#time_component= + ProgressBar::Base#rate_component= - 79 + 78 @@ -5714,9 +5635,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - <Class::String>#new + ProgressBar::Base#time_component= - 82 + 79 @@ -5727,9 +5648,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - <Class::ProgressBar::Projector>#from_type + <Class::String>#new - 66 + 82 @@ -5739,10 +5660,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/64348 - Hash#[] + 1/1 + <Class::ProgressBar::Projector>#from_type - 46 + 66 @@ -5778,10 +5699,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/32146 - Hash#merge + 8/799798 + Hash#[] - 71 + 46 @@ -5792,9 +5713,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#timer= + ProgressBar::Base#title_component= - 52 + 75 @@ -5804,10 +5725,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Hash#any? + 2/215245 + Hash#merge - 53 + 71 @@ -5818,9 +5739,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#title_component= + ProgressBar::Base#timer= - 75 + 52 @@ -5857,9 +5778,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#projector= + Hash#any? - 66 + 53 @@ -5883,9 +5804,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#rate_component= + ProgressBar::Base#finished= - 78 + 50 @@ -5896,9 +5817,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#autostart + ProgressBar::Base#bar_component= - 84 + 76 @@ -5908,10 +5829,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/50 - ProgressBar::Base#progressable + 1/1 + ProgressBar::Base#projector= - 71 + 66 @@ -5921,10 +5842,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/26 - ProgressBar::Base#output + 1/276711 + Hash#[]= - 82 + 46 @@ -5934,10 +5855,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Outputs::Tty#resolve_format + 1/51 + ProgressBar::Base#progressable - 82 + 71 @@ -5947,10 +5868,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#bar_component= + 1/29 + ProgressBar::Base#timer - 76 + 71 @@ -5986,10 +5907,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/28 - ProgressBar::Base#timer + 1/1 + ProgressBar::Outputs::Tty#resolve_format - 71 + 82 @@ -5999,10 +5920,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#finished= + 1/27 + ProgressBar::Base#output - 50 + 82 @@ -6012,10 +5933,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/36738 - Hash#[]= + 1/1 + ProgressBar::Base#autostart - 46 + 84 @@ -6034,10 +5955,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4592 - Array#each + 12/12 + ProgressBar::Output#with_refresh - + 229 @@ -6047,31 +5968,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592 + 12 - - Array#reverse + + ProgressBar::Projectors::SmoothedAverage#increment - + 28 - - - - - - - - -     @@ -6079,44 +5991,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4592/4592 - Array#each + 12/14 + ProgressBar::Projectors::SmoothedAverage#progress= - + 29 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 4592 - - - Array#max - - - - - - - - - - - - - - - - - - - - -     @@ -6124,34 +6004,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46/46 - ProgressBar::Time#now + 12/13 + ProgressBar::Projectors::SmoothedAverage#progress - 16 + 29 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 46 - - - <Class::Time>#now - - - - - - 225 - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/37 + Integer#+ + + 29 + @@ -6218,7 +6088,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 + 1/14 ProgressBar::Timer#start 88 @@ -6231,7 +6101,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/28 + 1/29 ProgressBar::Base#timer 88 @@ -6253,7 +6123,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Throttle#choke 52 @@ -6266,7 +6136,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Calculators::Length#length_changed? @@ -6289,7 +6159,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Calculators::Length#calculate_length 20 @@ -6302,7 +6172,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/2538753 + 13/17024280 BasicObject#!= 22 @@ -6315,7 +6185,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/37 + 26/40 ProgressBar::Calculators::Length#current_length 19 @@ -6328,7 +6198,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 + 13/14 ProgressBar::Calculators::Length#current_length= 20 @@ -6350,7 +6220,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Calculators::Length#length_changed? 20 @@ -6363,7 +6233,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Calculators::Length#calculate_length @@ -6386,7 +6256,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Calculators::Length#terminal_width 26 @@ -6399,7 +6269,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Calculators::Length#length_override 26 @@ -6421,23 +6291,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/14 - ProgressBar::Outputs::Tty#clear - - 11 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/14 - ProgressBar::Output#print_and_flush + 13/13 + ProgressBar::Format::Molecule#lookup_value - 67 + 56 @@ -6447,16 +6304,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14 + 13 - - IO#print + + ProgressBar::Components::Time#estimated_with_friendly_oob - + 43 @@ -6470,10 +6327,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/15 - IO#write + 13/13 + ProgressBar::Components::Time#estimated_with_elapsed_fallback - + 44 @@ -6492,10 +6349,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Calculators::Length#calculate_length + 1/1 + JSON::Ext::Generator::GeneratorMethods::Hash#to_json - 26 + @@ -6505,34 +6362,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 1 - - ProgressBar::Calculators::Length#terminal_width + + JSON::Ext::Generator::State#initialize - 43 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Calculators::Length#dynamic_width - - 46 - + + + + + + + +   @@ -6541,10 +6394,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Calculators::Length#unix? + 1/27 + ProgressBar::Base#initialize - 44 + 82 @@ -6554,21 +6407,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/24 - Integer#< + 13/27 + ProgressBar::Base#to_s - 47 + 172 - - - - - - - - -     @@ -6576,10 +6420,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Format::Molecule#lookup_value + 13/27 + ProgressBar::Base#update_progress - 56 + 227 @@ -6589,35 +6433,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 27 - - ProgressBar::Components::Time#estimated_with_friendly_oob + + ProgressBar::Base#output - 43 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Components::Time#estimated_with_elapsed_fallback - - 44 - - @@ -6634,23 +6465,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Components::Time#estimated_with_elapsed_fallback - - 89 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/13 - ProgressBar::Format::Molecule#lookup_value + 1/1 + Array#each - 56 + @@ -6660,35 +6478,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Components::Time#elapsed_with_label + + NilClass#to_s - 31 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Components::Time#elapsed - - 32 - - @@ -6705,10 +6510,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Format::Molecule#lookup_value + 1/1 + ProgressBar::Output#with_refresh - 54 + 230 @@ -6718,16 +6523,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 1 - - ProgressBar::Components::Bar#complete_bar + + ProgressBar::Timer#stop - 41 + 17 @@ -6741,10 +6546,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Bar#to_s + 1/49 + ProgressBar::Time#now - 44 + 20 @@ -6754,10 +6559,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Components::Bar#length= + 1/64 + ProgressBar::Timer#started? - 42 + 18 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/28 + ProgressBar::Timer#stopped_at= + + 20 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/49 + ProgressBar::Timer#time + + 20 @@ -6777,9 +6608,9 @@

Thread 80, Fiber: 60

0.00 0.00 12/12 - ProgressBar::Components::Time#estimated_with_friendly_oob + ProgressBar::Output#with_refresh - 44 + 228 @@ -6791,14 +6622,14 @@

Thread 80, Fiber: 60

0.00 12 - - ProgressBar::Components::Time#estimated_with_elapsed_fallback + + ProgressBar::Progress#increment - 88 + 31 @@ -6812,10 +6643,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Components::Time#estimated_with_label + 12/14 + ProgressBar::Progress#progress= - 91 + 38 @@ -6825,10 +6656,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Components::Time#elapsed_with_label + 36/113 + ProgressBar::Progress#progress - 89 + 32 @@ -6838,10 +6669,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/48 - ProgressBar::Progress#finished? + 24/125 + Integer#== - 89 + 32 @@ -6851,10 +6682,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/43 - ProgressBar::Components::Time#progress + 12/37 + Integer#+ - 89 + 38 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 24/205 + ProgressBar::Progress#total + + 32 @@ -6873,10 +6717,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Time#elapsed_with_label + 1/1 + ProgressBar::Base#initialize - 32 + 82 @@ -6886,47 +6730,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Components::Time#elapsed + + ProgressBar::Outputs::Tty#resolve_format - 80 + 23 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Timer#elapsed_whole_seconds - - 83 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/35 - String#% - - 85 - + + + + + + + +   @@ -6935,37 +6762,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/23 - ProgressBar::Timer#divide_seconds + 1/1 + ProgressBar::Base#initialize - 83 + 75 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 39/79 - ProgressBar::Components::Time#timer - - 81 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Base#title_component= + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/61 - ProgressBar::Timer#started? - - 81 - + + @@ -6983,10 +6807,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Bar#complete_bar + 1/1 + ProgressBar::Base#initialize - 44 + 52 @@ -6996,34 +6820,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 1 - - ProgressBar::Components::Bar#to_s + + ProgressBar::Base#timer= - 25 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Components::Bar#standard_complete_string - - 29 - + + + + + + + +   @@ -7032,10 +6852,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Bar#incomplete_string + 1/29 + ProgressBar::Base#start - 29 + 88 @@ -7045,10 +6865,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/23 - ProgressBar::Progress#unknown? + 1/29 + ProgressBar::Base#initialize - 26 + 71 @@ -7058,10 +6878,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 - ProgressBar::Components::Bar#progress + 1/29 + ProgressBar::Output#with_refresh - 26 + 230 @@ -7071,24 +6891,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - Symbol#== + 26/29 + ProgressBar::Base#stopped? - 28 + 124 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/64348 - Hash#[] - - 28 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 29 + + + ProgressBar::Base#timer + + + + + + + + + + + @@ -7106,10 +6936,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Components::Time#estimated_with_elapsed_fallback + 1/1 + ProgressBar::Base#initialize - 91 + 79 @@ -7119,22 +6949,31 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11 + 1 - - ProgressBar::Components::Time#estimated_with_label + + ProgressBar::Base#time_component= - 27 + + + + + + + + + +     @@ -7142,12 +6981,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Components::Time#estimated + 1/1 + ProgressBar::Base#initialize - 28 + 78 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Base#rate_component= + + + + + + + + + + + + @@ -7164,10 +7026,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Components::Time#estimated_with_label + 1/1 + ProgressBar::Base#initialize - 28 + 66 @@ -7177,22 +7039,31 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11 + 1 - - ProgressBar::Components::Time#estimated + + ProgressBar::Base#projector= - 66 + + + + + + + + + +     @@ -7200,10 +7071,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Components::Time#estimated_seconds_remaining + 1/14 + ProgressBar::Base#initialize - 67 + 71 @@ -7213,50 +7084,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/23 - ProgressBar::Timer#divide_seconds + 13/14 + ProgressBar::Output#with_refresh - 71 + 229 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/35 - String#% - - 76 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/79 - ProgressBar::Components::Time#timer - - 71 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 14 + + + ProgressBar::Base#projector + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/24 - Integer#> - - 73 - + + @@ -7275,9 +7130,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - JSON::Ext::Generator::GeneratorMethods::Hash#to_json + ProgressBar::Base#initialize - + 69 @@ -7289,8 +7144,8 @@

Thread 80, Fiber: 60

0.00 1 - - JSON::Ext::Generator::State#initialize + + ProgressBar::Base#progressable= @@ -7319,10 +7174,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/26 + 1/51 ProgressBar::Base#initialize - 82 + 71 @@ -7332,10 +7187,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/26 - ProgressBar::Base#to_s + 13/51 + ProgressBar::Output#with_refresh - 172 + 228 @@ -7345,10 +7200,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - ProgressBar::Base#update_progress + 37/51 + ProgressBar::Base#finished? - 227 + 130 @@ -7358,10 +7213,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26 + 51 - - ProgressBar::Base#output + + ProgressBar::Base#progressable @@ -7391,9 +7246,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Output#with_refresh + ProgressBar::Base#initialize - 230 + 77 @@ -7405,72 +7260,20 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Timer#stop + + ProgressBar::Base#percentage_component= - 17 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/46 - ProgressBar::Time#now - - 20 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/61 - ProgressBar::Timer#started? - - 18 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/26 - ProgressBar::Timer#stopped_at= - - 20 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/46 - ProgressBar::Timer#time - - 20 - - @@ -7487,10 +7290,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Output#with_refresh + 1/1 + ProgressBar::Base#initialize - 229 + 81 @@ -7500,47 +7303,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 1 - - ProgressBar::Projectors::SmoothedAverage#increment + + ProgressBar::Base#output= - 28 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/14 - ProgressBar::Projectors::SmoothedAverage#progress= - - 29 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/13 - ProgressBar::Projectors::SmoothedAverage#progress - - 29 - + + + + + + + +   @@ -7549,21 +7335,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 - Integer#+ + 24/37 + ProgressBar::Base#stopped? - 29 + 124 - - - - - - - - -     @@ -7571,10 +7348,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/37 ProgressBar::Output#with_refresh - 228 + 230 @@ -7584,16 +7361,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 37 - - ProgressBar::Progress#increment + + ProgressBar::Base#finished? - 31 + 129 @@ -7607,23 +7384,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/14 - ProgressBar::Progress#progress= - - 38 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/36 - Integer#+ + 37/50 + ProgressBar::Progress#finished? - 38 + 130 @@ -7633,10 +7397,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/119 - Integer#== + 37/37 + ProgressBar::Base#finished - 32 + 130 @@ -7646,10 +7410,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/107 - ProgressBar::Progress#progress + 37/51 + ProgressBar::Base#progressable - 32 + 130 @@ -7659,10 +7423,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/193 - ProgressBar::Progress#total + 37/37 + ProgressBar::Base#autofinish - 32 + 130 @@ -7681,10 +7445,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Calculators::Length#terminal_width + 1/1 + ProgressBar::Base#initialize - 46 + 50 @@ -7694,74 +7458,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 1 - - ProgressBar::Calculators::Length#dynamic_width + + ProgressBar::Base#finished= - 56 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object - - 58 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/13 - IO#tty? - - 57 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/20 - Kernel#respond_to? - - 57 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 36/48 - ProgressBar::Calculators::Length#output - - 57 - - @@ -7778,10 +7490,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Components::Time#estimated + 1/1 + ProgressBar::Base#initialize - 67 + 76 @@ -7791,216 +7503,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11 + 1 - - ProgressBar::Components::Time#estimated_seconds_remaining + + ProgressBar::Base#bar_component= - - 94 - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/34 - ProgressBar::Timer#elapsed_seconds - - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/11 - ProgressBar::Projectors::SmoothedAverage#none? - - 95 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/10 - ProgressBar::Progress#none? - - 95 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/23 - ProgressBar::Progress#unknown? - - 95 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/10 - ProgressBar::Timer#reset? - - 95 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/10 - Float#round - - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/48 - ProgressBar::Timer#stopped? - - 95 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 31/43 - ProgressBar::Components::Time#progress - - 95 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 30/79 - ProgressBar::Components::Time#timer - - 95 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 21/21 - ProgressBar::Components::Time#projector - - 95 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/24 - Float#- - - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/36 - Float#* - - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/82 - Integer#/ - - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/21 - ProgressBar::Projectors::SmoothedAverage#projection - - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/193 - ProgressBar::Progress#total - - 97 - + + + + + + + @@ -8021,7 +7538,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 82 + 48 @@ -8033,14 +7550,14 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Outputs::Tty#resolve_format + + ProgressBar::Base#autostart= - 23 + @@ -8066,7 +7583,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 75 + 84 @@ -8078,8 +7595,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#title_component= + + ProgressBar::Base#autostart @@ -8111,7 +7628,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 52 + 49 @@ -8123,8 +7640,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#timer= + + ProgressBar::Base#autofinish= @@ -8153,10 +7670,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/28 - ProgressBar::Base#start + 1/21 + <Class::ProgressBar::Projector>#from_type - 88 + 11 @@ -8166,10 +7683,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/28 - ProgressBar::Base#initialize + 1/21 + ProgressBar::Throttle#initialize - 71 + 12 @@ -8179,10 +7696,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/28 - ProgressBar::Output#with_refresh + 1/21 + ProgressBar::Progress#initialize - 230 + 13 @@ -8192,10 +7709,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25/28 - ProgressBar::Base#stopped? + 4/21 + ProgressBar::Format::Molecule#initialize - 124 + 35 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 2/21 + ProgressBar::Base#initialize + + 48 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/21 + ProgressBar::Throttle#choke + + 16 @@ -8205,10 +7748,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28 + 21 - - ProgressBar::Base#timer + + Hash#fetch @@ -8240,7 +7783,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 79 + 53 @@ -8252,8 +7795,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#time_component= + + Hash#any? @@ -8285,7 +7828,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 78 + 82 @@ -8297,8 +7840,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#rate_component= + + <Class::String>#new @@ -8311,6 +7854,19 @@

Thread 80, Fiber: 60

+ +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + String#initialize + + + + @@ -8342,42 +7898,20 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#projector= + + <Class::ProgressBar::Projector>#from_type - + 10 - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/14 - ProgressBar::Base#initialize - - 71 - -     @@ -8385,35 +7919,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Output#with_refresh + 1/21 + Hash#fetch - 229 + 11 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 14 - - - ProgressBar::Base#projector - - - - - - - - - - - - @@ -8433,7 +7944,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 69 + 81 @@ -8445,29 +7956,20 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#progressable= + + <Class::ProgressBar::Output>#detect - + 20 - - - - - - - - -     @@ -8475,10 +7977,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/50 - ProgressBar::Base#initialize + 1/30768 + Class#new - 71 + 24 @@ -8488,10 +7990,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/50 - ProgressBar::Base#finished? + 1/14 + IO#tty? - 130 + 23 @@ -8501,34 +8003,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/50 - ProgressBar::Output#with_refresh + 1/1 + Kernel#is_a? - 228 + 21 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 50 - - - ProgressBar::Base#progressable - - - - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 2/799798 + Hash#[] + + 21 + @@ -8547,9 +8039,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#initialize + <Class::String>#new - 77 + @@ -8561,8 +8053,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#percentage_component= + + String#initialize @@ -8575,14 +8067,40 @@

Thread 80, Fiber: 60

- - - - - - - - + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/49 + ProgressBar::Timer#stop + + 20 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/49 + ProgressBar::Timer#start + + 13 +   @@ -8591,10 +8109,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 34/49 + ProgressBar::Timer#elapsed_seconds - 81 + 60 @@ -8604,10 +8122,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 49 - - ProgressBar::Base#output= + + ProgressBar::Timer#time @@ -8636,10 +8154,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 23/36 - ProgressBar::Base#stopped? + 1/28 + ProgressBar::Timer#stop - 124 + 20 @@ -8649,10 +8167,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/36 - ProgressBar::Output#with_refresh + 13/28 + ProgressBar::Timer#reset - 230 + 45 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/28 + ProgressBar::Timer#start + + 14 @@ -8662,34 +8193,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36 + 28 - - ProgressBar::Base#finished? + + ProgressBar::Timer#stopped_at= - 129 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 36/48 - ProgressBar::Progress#finished? - - 130 - + + + + + + + +   @@ -8698,10 +8225,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/36 - ProgressBar::Base#autofinish + 1/64 + ProgressBar::Timer#stop - 130 + 18 @@ -8711,10 +8238,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/36 - ProgressBar::Base#finished + 14/64 + ProgressBar::Components::Time#elapsed - 130 + 81 @@ -8724,21 +8251,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/50 - ProgressBar::Base#progressable + 13/64 + ProgressBar::Throttle#choke - 130 + 16 - - - - - - - - -     @@ -8746,10 +8264,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 36/64 + ProgressBar::Timer#elapsed_seconds - 50 + 58 @@ -8759,31 +8277,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 64 - - ProgressBar::Base#finished= + + ProgressBar::Timer#started? - + 35 - - - - - - - - -     @@ -8791,35 +8300,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 64/111 + ProgressBar::Timer#started_at - 76 + 36 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - ProgressBar::Base#bar_component= - - - - - - - - - - - - @@ -8836,10 +8322,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 1/14 + ProgressBar::Base#start - 48 + 88 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + ProgressBar::Timer#restart + + 54 @@ -8849,30 +8348,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 14 - - ProgressBar::Base#autostart= + + ProgressBar::Timer#start - + 12 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/49 + ProgressBar::Time#now + + 13 +   @@ -8881,34 +8384,50 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 14/51 + ProgressBar::Timer#stopped? - 84 + 13 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - ProgressBar::Base#autostart - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/27 + ProgressBar::Timer#started_at= + + 13 + - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/28 + ProgressBar::Timer#stopped_at= + + 14 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/49 + ProgressBar::Timer#time + + 13 + @@ -8926,10 +8445,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 2/2 + Class#new - 49 + @@ -8939,31 +8458,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 2 - - ProgressBar::Base#autofinish= + + ProgressBar::Timer#initialize - + 8 - - - - - - - - -     @@ -8971,10 +8481,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - ProgressBar::Throttle#initialize + 2/30768 + Class#new - 12 + 9 @@ -8984,10 +8494,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - <Class::ProgressBar::Projector>#from_type + 2/2 + ProgressBar::Timer#time= - 11 + 9 @@ -8997,12 +8507,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - ProgressBar::Progress#initialize + 2/799798 + Hash#[] - 13 + 9 + + + + + + + + +     @@ -9010,10 +8529,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/21 - ProgressBar::Format::Molecule#initialize + 1/49 + ProgressBar::Timer#stop - 35 + 20 @@ -9023,10 +8542,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/21 - ProgressBar::Base#initialize + 14/49 + ProgressBar::Timer#start - 48 + 13 @@ -9036,10 +8555,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/21 - ProgressBar::Throttle#choke + 34/49 + ProgressBar::Timer#elapsed_seconds - 16 + 60 @@ -9049,22 +8568,61 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 21 + 49 - - Hash#fetch + + ProgressBar::Time#now - + 15 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 49/49 + <Class::Time>#now + + 16 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 49/49 + ProgressBar::Time#unmocked_time_method + + 16 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 49/57 + ProgressBar::Time#time + + 16 + + @@ -9081,10 +8639,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 2/14 + ProgressBar::Projectors::SmoothedAverage#start - 53 + 21 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/14 + ProgressBar::Projectors::SmoothedAverage#increment + + 29 @@ -9094,22 +8665,113 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 14 - - Hash#any? + + ProgressBar::Projectors::SmoothedAverage#progress= - + 42 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/14 + <Class::ProgressBar::Projectors::SmoothedAverage>#calculate + + 44 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/14 + ProgressBar::Projectors::SmoothedAverage#absolute + + 44 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/17 + ProgressBar::Projectors::SmoothedAverage#projection= + + 44 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/16 + Array#[]= + + 43 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/14 + Kernel#class + + 44 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/57 + ProgressBar::Projectors::SmoothedAverage#samples + + 43 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/14 + ProgressBar::Projectors::SmoothedAverage#strength + + 44 + + @@ -9126,35 +8788,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 11/36 + ProgressBar::Components::Time#estimated_seconds_remaining - 82 + 97 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - <Class::String>#new - - - - - - - - - - - -     @@ -9162,21 +8801,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - String#initialize + 14/36 + ProgressBar::Timer#elapsed_whole_seconds - + 64 - - - - - - - - -     @@ -9184,10 +8814,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 11/36 + ProgressBar::Throttle#choke - 66 + 16 @@ -9197,16 +8827,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 36 - - <Class::ProgressBar::Projector>#from_type + + ProgressBar::Timer#elapsed_seconds - 10 + 57 @@ -9220,21 +8850,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - Hash#fetch + 34/49 + ProgressBar::Time#now - 11 + 60 - - - - - - - - -     @@ -9242,35 +8863,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 36/36 + Time#- - 81 + 60 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - <Class::ProgressBar::Output>#detect - - - - - - 20 - - - - - -     @@ -9278,10 +8876,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/4611 - Class#new + 36/64 + ProgressBar::Timer#started? - 24 + 58 @@ -9291,10 +8889,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - IO#tty? + 36/111 + ProgressBar::Timer#started_at - 23 + 60 @@ -9304,10 +8902,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Kernel#is_a? + 34/49 + ProgressBar::Timer#time - 21 + 60 @@ -9317,10 +8915,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/64348 - Hash#[] + 36/87 + ProgressBar::Timer#stopped_at - 21 + 60 @@ -9339,10 +8937,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - <Class::String>#new + 2/15 + ProgressBar::Outputs::Tty#clear - + 11 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/15 + ProgressBar::Output#print_and_flush + + 67 @@ -9352,10 +8963,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 15 - - String#initialize + + IO#print @@ -9368,15 +8979,6 @@

Thread 80, Fiber: 60

- - - - - - - - -     @@ -9384,24 +8986,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/46 - ProgressBar::Timer#stop + 15/16 + IO#write - 20 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/46 - ProgressBar::Timer#start - - 13 - + + + + + + + +   @@ -9410,10 +9008,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 32/46 - ProgressBar::Timer#elapsed_seconds + 13/13 + ProgressBar::Calculators::Length#calculate_length - 60 + 26 @@ -9423,31 +9021,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46 + 13 - - ProgressBar::Timer#time + + ProgressBar::Calculators::Length#terminal_width - + 43 - - - - - - - - -     @@ -9455,10 +9044,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/26 - ProgressBar::Timer#stop + 13/13 + ProgressBar::Calculators::Length#dynamic_width - 20 + 46 @@ -9468,10 +9057,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/26 - ProgressBar::Timer#reset + 13/13 + ProgressBar::Calculators::Length#unix? - 45 + 44 @@ -9482,9 +9071,44 @@

Thread 80, Fiber: 60

0.00 0.00 13/26 - ProgressBar::Timer#start + Integer#< - 14 + 47 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/14 + ProgressBar::Components::Time#estimated_with_elapsed_fallback + + 89 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + ProgressBar::Format::Molecule#lookup_value + + 56 @@ -9494,22 +9118,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26 + 14 - - ProgressBar::Timer#stopped_at= + + ProgressBar::Components::Time#elapsed_with_label - + 31 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/14 + ProgressBar::Components::Time#elapsed + + 32 + + @@ -9526,12 +9163,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/61 - ProgressBar::Timer#stop + 13/13 + ProgressBar::Format::Molecule#lookup_value - 18 + 54 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Components::Bar#complete_bar + + + + + + 41 + + + + + +     @@ -9539,10 +9199,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/61 - ProgressBar::Components::Time#elapsed + 13/13 + ProgressBar::Components::Bar#to_s - 81 + 44 @@ -9552,12 +9212,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/61 - ProgressBar::Throttle#choke + 13/14 + ProgressBar::Components::Bar#length= - 16 + 42 + + + + + + + + +     @@ -9565,10 +9234,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/61 - ProgressBar::Timer#elapsed_seconds + 13/13 + ProgressBar::Components::Time#estimated_with_friendly_oob - 58 + 44 @@ -9578,16 +9247,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 61 + 13 - - ProgressBar::Timer#started? + + ProgressBar::Components::Time#estimated_with_elapsed_fallback - 35 + 88 @@ -9601,20 +9270,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 61/105 - ProgressBar::Timer#started_at + 12/12 + ProgressBar::Components::Time#estimated_with_label - 36 + 91 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/14 + ProgressBar::Components::Time#elapsed_with_label + + 89 +   @@ -9623,10 +9296,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Base#start + 13/50 + ProgressBar::Progress#finished? - 88 + 89 @@ -9636,10 +9309,32 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Timer#restart + 13/47 + ProgressBar::Components::Time#progress - 54 + 89 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/14 + ProgressBar::Components::Time#elapsed_with_label + + 32 @@ -9649,16 +9344,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 14 - - ProgressBar::Timer#start + + ProgressBar::Components::Time#elapsed - 12 + 80 @@ -9672,10 +9367,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/46 - ProgressBar::Time#now + 14/14 + ProgressBar::Timer#elapsed_whole_seconds - 13 + 83 @@ -9685,10 +9380,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/48 - ProgressBar::Timer#stopped? + 14/38 + String#% - 13 + 85 @@ -9698,10 +9393,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/25 - ProgressBar::Timer#started_at= + 14/25 + ProgressBar::Timer#divide_seconds - 13 + 83 @@ -9711,10 +9406,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - ProgressBar::Timer#stopped_at= + 42/86 + ProgressBar::Components::Time#timer - 14 + 81 @@ -9724,10 +9419,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/46 - ProgressBar::Timer#time + 14/64 + ProgressBar::Timer#started? - 13 + 81 @@ -9746,10 +9441,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - Class#new + 13/13 + ProgressBar::Components::Bar#complete_bar - + 44 @@ -9759,16 +9454,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2 + 13 - - ProgressBar::Timer#initialize + + ProgressBar::Components::Bar#to_s - 8 + 25 @@ -9782,10 +9477,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/4611 - Class#new + 13/13 + ProgressBar::Components::Bar#standard_complete_string - 9 + 29 @@ -9795,10 +9490,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - ProgressBar::Timer#time= + 13/13 + ProgressBar::Components::Bar#incomplete_string - 9 + 29 @@ -9808,20 +9503,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/64348 - Hash#[] + 13/25 + ProgressBar::Progress#unknown? - 9 + 26 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + Symbol#== + + 28 +   @@ -9830,10 +9529,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/14 - ProgressBar::Projectors::SmoothedAverage#start + 13/39 + ProgressBar::Components::Bar#progress - 21 + 26 @@ -9843,10 +9542,32 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/14 - ProgressBar::Projectors::SmoothedAverage#increment + 13/799798 + Hash#[] - 29 + 28 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/12 + ProgressBar::Components::Time#estimated_with_elapsed_fallback + + 91 @@ -9856,16 +9577,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14 + 12 - - ProgressBar::Projectors::SmoothedAverage#progress= + + ProgressBar::Components::Time#estimated_with_label - 42 + 27 @@ -9879,24 +9600,56 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - <Class::ProgressBar::Projectors::SmoothedAverage>#calculate + 12/12 + ProgressBar::Components::Time#estimated - 44 + 28 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/12 + ProgressBar::Components::Time#estimated_with_label + + 28 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/14 - ProgressBar::Projectors::SmoothedAverage#absolute - - 44 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 12 + + + ProgressBar::Components::Time#estimated + + + + + + 66 + + + + +   @@ -9905,10 +9658,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/17 - ProgressBar::Projectors::SmoothedAverage#projection= + 12/12 + ProgressBar::Components::Time#estimated_seconds_remaining - 44 + 67 @@ -9918,10 +9671,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/16 - Array#[]= + 11/25 + ProgressBar::Timer#divide_seconds - 43 + 71 @@ -9931,10 +9684,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - Kernel#class + 11/38 + String#% - 44 + 76 @@ -9944,10 +9697,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - ProgressBar::Projectors::SmoothedAverage#strength + 11/25 + Integer#> - 44 + 73 @@ -9957,10 +9710,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/57 - ProgressBar::Projectors::SmoothedAverage#samples + 11/86 + ProgressBar::Components::Time#timer - 43 + 71 @@ -10028,7 +9781,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/205545 + 13/1369396 Array#[] 33 @@ -10151,7 +9904,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/64348 + 1/799798 Hash#[] 14 @@ -10173,7 +9926,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/193 + 11/205 ProgressBar::Components::Time#estimated_seconds_remaining 97 @@ -10186,7 +9939,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 23/193 + 25/205 ProgressBar::Progress#unknown? 90 @@ -10199,7 +9952,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/193 + 39/205 ProgressBar::Progress#percentage_completed_with_precision 98 @@ -10212,10 +9965,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/193 - ProgressBar::Progress#progress= + 24/205 + ProgressBar::Progress#increment - 56 + 32 @@ -10225,10 +9978,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/193 - ProgressBar::Progress#increment + 28/205 + ProgressBar::Progress#progress= - 32 + 56 @@ -10238,7 +9991,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 72/193 + 78/205 ProgressBar::Progress#percentage_completed 74 @@ -10251,7 +10004,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 193 + 205 ProgressBar::Progress#total @@ -10332,12 +10085,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/24 + 28/205 + ProgressBar::Progress#total + + 56 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/25 Integer#> 56 + + + + + + + + +     @@ -10345,10 +10120,195 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/193 - ProgressBar::Progress#total + 1/113 + ProgressBar::Progress#start + + 19 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/113 + ProgressBar::Progress#total= + + 65 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/113 + ProgressBar::Progress#none? + + 86 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/113 + ProgressBar::Progress#percentage_completed_with_precision + + 101 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/113 + ProgressBar::Progress#percentage_completed + + 82 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 25/113 + ProgressBar::Progress#unknown? + + 90 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 36/113 + ProgressBar::Progress#increment + + 32 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 113 + + + ProgressBar::Progress#progress + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Class#new + + + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Progress#initialize + + + + + + 12 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/2 + ProgressBar::Progress#start + + 15 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Progress#total= + + 13 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/21 + Hash#fetch - 56 + 13 @@ -10367,10 +10327,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/107 - ProgressBar::Progress#start + 13/50 + ProgressBar::Components::Time#estimated_with_elapsed_fallback - 19 + 89 @@ -10380,12 +10340,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/107 - ProgressBar::Progress#total= + 37/50 + ProgressBar::Base#finished? - 65 + 130 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 50 + + + ProgressBar::Progress#finished? + + + + + + 27 + + + + + +     @@ -10393,12 +10376,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/107 - ProgressBar::Progress#none? + 50/125 + Integer#== - 86 + 28 + + + + + + + + +     @@ -10406,12 +10398,44 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/107 - ProgressBar::Progress#percentage_completed_with_precision + 13/13 + ProgressBar::Output#refresh - 101 + 51 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Output#throttle + + + + + + + + + + + + + + + + + + + + +     @@ -10419,10 +10443,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 23/107 - ProgressBar::Progress#unknown? + 13/39 + ProgressBar::Outputs::Tty#eol - 90 + 28 @@ -10432,10 +10456,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/107 - ProgressBar::Progress#percentage_completed + 13/39 + ProgressBar::Outputs::Tty#bar_update_string - 82 + 16 @@ -10445,10 +10469,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/107 - ProgressBar::Progress#increment + 13/39 + ProgressBar::Output#refresh - 32 + 51 @@ -10458,10 +10482,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 107 + 39 - - ProgressBar::Progress#progress + + ProgressBar::Output#bar @@ -10505,33 +10529,20 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Progress#initialize + + ProgressBar::Components::Title#initialize - 12 + 8 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/2 - ProgressBar::Progress#start - - 15 - -     @@ -10540,9 +10551,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Progress#total= + ProgressBar::Components::Title#title= - 13 + 9 @@ -10552,10 +10563,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - Hash#fetch + 1/799798 + Hash#[] - 13 + 9 @@ -10574,23 +10585,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/48 - ProgressBar::Components::Time#estimated_with_elapsed_fallback - - 89 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 36/48 - ProgressBar::Base#finished? + 1/1 + Class#new - 130 + @@ -10600,16 +10598,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48 + 1 - - ProgressBar::Progress#finished? + + ProgressBar::Components::Time#initialize - 27 + 21 @@ -10623,10 +10621,49 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/119 - Integer#== + 1/1 + ProgressBar::Components::Time#progress= - 28 + 23 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Time#timer= + + 22 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Time#projector= + + 24 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 3/799798 + Hash#[] + + 22 @@ -10645,10 +10682,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Output#refresh + 1/1 + Class#new - 51 + @@ -10658,30 +10695,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Output#throttle + + ProgressBar::Components::Rate#initialize - + 8 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Kernel#lambda + + 9 +   @@ -10690,10 +10731,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - ProgressBar::Outputs::Tty#eol + 1/1 + ProgressBar::Components::Rate#progress= - 28 + 11 @@ -10703,10 +10744,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/37 - ProgressBar::Output#refresh + 3/799798 + Hash#[] - 51 + 9 @@ -10716,35 +10757,25 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - ProgressBar::Outputs::Tty#bar_update_string + 1/1 + ProgressBar::Components::Rate#rate_scale= + + 9 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Rate#timer= - 16 + 10 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 37 - - - ProgressBar::Output#bar - - - - - - - - - - - - @@ -10776,14 +10807,14 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Components::Title#initialize + + ProgressBar::Components::Percentage#initialize - 8 + 6 @@ -10798,9 +10829,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Title#title= + ProgressBar::Components::Percentage#progress= - 9 + 7 @@ -10810,10 +10841,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/64348 + 1/799798 Hash#[] - 9 + 7 @@ -10847,20 +10878,33 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Components::Time#initialize + + ProgressBar::Components::Bar#initialize - 21 + 17 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 5/799798 + Hash#[] + + 18 + +     @@ -10869,9 +10913,22 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Time#progress= + ProgressBar::Components::Bar#progress= - 23 + 21 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/14 + ProgressBar::Components::Bar#length= + + 22 @@ -10882,9 +10939,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Time#timer= + ProgressBar::Components::Bar#remainder_mark= - 22 + 20 @@ -10895,9 +10952,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Time#projector= + ProgressBar::Components::Bar#progress_mark= - 24 + 19 @@ -10907,10 +10964,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/64348 - Hash#[] + 1/1 + ProgressBar::Components::Bar#upa_steps= - 22 + 18 @@ -10929,10 +10986,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Class#new + 13/26 + ProgressBar::Outputs::Tty#eol - + 28 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/26 + ProgressBar::Output#refresh + + 51 @@ -10942,16 +11012,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 26 - - ProgressBar::Components::Rate#initialize + + ProgressBar::Base#stopped? - 8 + 123 @@ -10965,36 +11035,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Kernel#lambda - - 9 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Rate#progress= - - 11 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Rate#rate_scale= + 24/37 + ProgressBar::Base#finished? - 9 + 124 @@ -11004,10 +11048,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/64348 - Hash#[] + 26/51 + ProgressBar::Timer#stopped? - 9 + 124 @@ -11017,10 +11061,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Rate#timer= + 26/29 + ProgressBar::Base#timer - 10 + 124 @@ -11039,10 +11083,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Class#new + 37/37 + ProgressBar::Base#finished? - + 130 @@ -11052,34 +11096,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 37 - - ProgressBar::Components::Percentage#initialize + + ProgressBar::Base#finished - 6 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Percentage#progress= - - 7 - + + + + + + + +   @@ -11088,12 +11128,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/64348 - Hash#[] + 37/37 + ProgressBar::Base#finished? - 7 + 130 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 37 + + + ProgressBar::Base#autofinish + + + + + + + + + + + + @@ -11111,9 +11174,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Class#new + <Class::ProgressBar::Output>#detect - + 21 @@ -11125,32 +11188,28 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Components::Bar#initialize + + Kernel#is_a? - 17 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Bar#progress= - - 21 - + + + + + + + +   @@ -11159,10 +11218,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Components::Bar#length= + 12/125 + BasicObject#!= - 22 + @@ -11172,10 +11231,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#remainder_mark= + 13/125 + ProgressBar::Progress#percentage_completed_with_precision - 20 + 98 @@ -11185,10 +11244,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#upa_steps= + 26/125 + ProgressBar::Progress#percentage_completed - 18 + 75 @@ -11198,10 +11257,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#progress_mark= + 24/125 + ProgressBar::Progress#increment - 19 + 32 @@ -11211,12 +11270,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 5/64348 - Hash#[] + 50/125 + ProgressBar::Progress#finished? - 18 + 28 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 125 + + + Integer#== + + + + + + + + + + + + @@ -11233,10 +11315,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 - ProgressBar::Outputs::Tty#eol + 13/37 + <Class::ProgressBar::Format::Formatter>#process - 28 + 13 @@ -11246,10 +11328,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/25 - ProgressBar::Output#refresh + 12/37 + ProgressBar::Projectors::SmoothedAverage#increment - 51 + 29 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/37 + ProgressBar::Progress#increment + + 38 @@ -11259,34 +11354,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25 + 37 - - ProgressBar::Base#stopped? + + Integer#+ - 123 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 23/36 - ProgressBar::Base#finished? - - 124 - + + + + + + + +   @@ -11295,10 +11386,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25/48 - ProgressBar::Timer#stopped? + 1/14 + <Class::ProgressBar::Output>#detect - 124 + 23 @@ -11308,12 +11399,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25/28 - ProgressBar::Base#timer + 13/14 + ProgressBar::Calculators::Length#dynamic_width - 124 + 57 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 14 + + + IO#tty? + + + + + + + + + + + + @@ -11330,10 +11444,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/36 - ProgressBar::Base#finished? + 2/2 + ProgressBar::Timer#initialize - 130 + 9 @@ -11343,10 +11457,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36 + 2 - - ProgressBar::Base#finished + + ProgressBar::Timer#time= @@ -11375,10 +11489,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/36 - ProgressBar::Base#finished? + 11/51 + ProgressBar::Components::Time#estimated_seconds_remaining - 130 + 95 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/51 + ProgressBar::Timer#start + + 13 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/51 + ProgressBar::Base#stopped? + + 124 @@ -11388,22 +11528,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36 + 51 - - ProgressBar::Base#autofinish + + ProgressBar::Timer#stopped? - + 39 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 51/87 + ProgressBar::Timer#stopped_at + + 40 + + @@ -11420,10 +11573,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - <Class::ProgressBar::Output>#detect + 14/27 + ProgressBar::Timer#start - 21 + 13 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/27 + ProgressBar::Timer#reset + + 44 @@ -11433,10 +11599,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 27 - - Kernel#is_a? + + ProgressBar::Timer#started_at= @@ -11465,10 +11631,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/119 - BasicObject#!= + 11/111 + ProgressBar::Timer#reset? - + 49 @@ -11478,10 +11644,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/119 - ProgressBar::Progress#percentage_completed_with_precision + 36/111 + ProgressBar::Timer#elapsed_seconds - 98 + 60 @@ -11491,24 +11657,43 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/119 - ProgressBar::Progress#percentage_completed + 64/111 + ProgressBar::Timer#started? - 75 + 36 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 48/119 - ProgressBar::Progress#finished? - - 28 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 111 + + + ProgressBar::Timer#started_at + + + + + + + + + + + + + + + + + + + +   @@ -11517,10 +11702,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/119 - ProgressBar::Progress#increment + 13/13 + ProgressBar::Throttle#choke - 32 + 20 @@ -11530,31 +11715,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 119 + 13 - - Integer#== + + ProgressBar::Timer#restart - + 52 - - - - - - - - -     @@ -11562,10 +11738,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 - ProgressBar::Projectors::SmoothedAverage#increment + 13/14 + ProgressBar::Timer#start - 29 + 54 @@ -11575,12 +11751,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 - <Class::ProgressBar::Format::Formatter>#process + 13/13 + ProgressBar::Timer#reset - 13 + 53 + + + + + + + + +     @@ -11588,10 +11773,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 - ProgressBar::Progress#increment + 49/49 + ProgressBar::Time#now - 38 + 16 @@ -11601,22 +11786,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36 + 49 - - Integer#+ + + ProgressBar::Time#unmocked_time_method - + 19 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 2/2 + Enumerable#find + + 20 + + @@ -11633,10 +11831,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - <Class::ProgressBar::Output>#detect + 8/57 + Array#each - 23 + @@ -11646,10 +11844,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Calculators::Length#dynamic_width + 49/57 + ProgressBar::Time#now - 57 + 16 @@ -11659,10 +11857,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 57 - - IO#tty? + + ProgressBar::Time#time @@ -11691,10 +11889,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - ProgressBar::Timer#initialize + 13/13 + ProgressBar::Calculators::Length#terminal_width - 9 + 46 @@ -11704,31 +11902,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2 + 13 - - ProgressBar::Timer#time= + + ProgressBar::Calculators::Length#dynamic_width - + 56 - - - - - - - - -     @@ -11736,10 +11925,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/48 - ProgressBar::Components::Time#estimated_seconds_remaining + 13/13 + ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object - 95 + 58 @@ -11749,10 +11938,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/48 - ProgressBar::Timer#start + 13/14 + IO#tty? - 13 + 57 @@ -11762,35 +11951,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25/48 - ProgressBar::Base#stopped? + 13/21 + Kernel#respond_to? - 124 + 57 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 48 - - - ProgressBar::Timer#stopped? - - - - - - 39 - - - - - -     @@ -11798,10 +11964,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/82 - ProgressBar::Timer#stopped_at + 39/52 + ProgressBar::Calculators::Length#output - 40 + 57 @@ -11820,23 +11986,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 - ProgressBar::Timer#reset - - 44 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/25 - ProgressBar::Timer#start + 12/12 + ProgressBar::Components::Time#estimated - 13 + 67 @@ -11846,31 +11999,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25 + 12 - - ProgressBar::Timer#started_at= + + ProgressBar::Components::Time#estimated_seconds_remaining - + 94 - - - - - - - - -     @@ -11878,10 +12022,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/105 - ProgressBar::Timer#reset? + 11/36 + ProgressBar::Timer#elapsed_seconds - 49 + 97 @@ -11891,10 +12035,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/105 - ProgressBar::Timer#elapsed_seconds + 12/12 + ProgressBar::Projectors::SmoothedAverage#none? - 60 + 95 @@ -11904,43 +12048,50 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 61/105 - ProgressBar::Timer#started? + 11/11 + ProgressBar::Progress#none? - 36 + 95 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 105 - - - ProgressBar::Timer#started_at - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/25 + ProgressBar::Progress#unknown? + + 95 + - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/11 + ProgressBar::Timer#reset? + + 95 + - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/11 + Float#round + + 97 +   @@ -11949,35 +12100,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Throttle#choke + 11/51 + ProgressBar::Timer#stopped? - 20 + 95 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 12 - - - ProgressBar::Timer#restart - - - - - - 52 - - - - - -     @@ -11985,10 +12113,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Timer#start + 34/47 + ProgressBar::Components::Time#progress - 54 + 95 @@ -11998,21 +12126,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Timer#reset + 33/86 + ProgressBar::Components::Time#timer - 53 + 95 - - - - - - - - -     @@ -12020,35 +12139,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46/46 - ProgressBar::Time#now + 23/23 + ProgressBar::Components::Time#projector - 16 + 95 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 46 - - - ProgressBar::Time#unmocked_time_method - - - - - - 19 - - - - - -     @@ -12056,21 +12152,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - Enumerable#find + 11/23 + ProgressBar::Projectors::SmoothedAverage#projection - 20 + 97 - - - - - - - - -     @@ -12078,10 +12165,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/54 - Array#each + 11/89 + Integer#/ - + 97 @@ -12091,34 +12178,37 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46/54 - ProgressBar::Time#now + 11/25 + Float#- - 16 + 97 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 54 - - - ProgressBar::Time#time - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/205 + ProgressBar::Progress#total + + 97 + - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/38 + Float#* + + 97 + @@ -12136,7 +12226,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/36 + 37/37 ProgressBar::Throttle#choke 16 @@ -12149,7 +12239,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36 + 37 ProgressBar::Throttle#timer @@ -12417,7 +12507,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/64348 + 2/799798 Hash#[] 21 @@ -12523,10 +12613,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/57 - ProgressBar::Projectors::SmoothedAverage#progress + 28/57 + ProgressBar::Projectors::SmoothedAverage#absolute - 33 + 67 @@ -12536,10 +12626,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/57 - ProgressBar::Projectors::SmoothedAverage#absolute + 13/57 + ProgressBar::Projectors::SmoothedAverage#progress - 67 + 33 @@ -12581,10 +12671,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/17 - ProgressBar::Projectors::SmoothedAverage#initialize + 2/17 + ProgressBar::Projectors::SmoothedAverage#start - 13 + 20 @@ -12594,10 +12684,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/17 - ProgressBar::Projectors::SmoothedAverage#start + 1/17 + ProgressBar::Projectors::SmoothedAverage#initialize - 20 + 13 @@ -12688,8 +12778,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/38 - Integer#- + 28/57 + ProgressBar::Projectors::SmoothedAverage#samples 67 @@ -12701,7 +12791,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/205545 + 28/1369396 Array#[] 67 @@ -12714,8 +12804,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/57 - ProgressBar::Projectors::SmoothedAverage#samples + 14/40 + Integer#- 67 @@ -12785,7 +12875,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/107 + 1/113 ProgressBar::Progress#progress 65 @@ -12882,7 +12972,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/64348 + 2/799798 Hash#[] 19 @@ -12895,7 +12985,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/107 + 1/113 ProgressBar::Progress#progress 19 @@ -12917,7 +13007,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/25 + 1/27 ProgressBar::Output#clear_string 38 @@ -12930,10 +13020,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 - ProgressBar::Output#length + 13/27 + ProgressBar::Throttle#choke - 42 + 52 @@ -12943,10 +13033,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 - ProgressBar::Throttle#choke + 13/27 + ProgressBar::Output#length - 52 + 42 @@ -12956,7 +13046,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25 + 27 ProgressBar::Output#length_calculator @@ -13024,7 +13114,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/4611 + 2/30768 Class#new 13 @@ -13064,9 +13154,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Output#stream= + ProgressBar::Output#length_calculator= - 12 + 14 @@ -13076,8 +13166,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Output#length_calculator= + 1/29 + ProgressBar::Output#stream 14 @@ -13089,10 +13179,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/27 - ProgressBar::Output#stream + 1/1 + ProgressBar::Output#stream= - 14 + 12 @@ -13102,7 +13192,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/64348 + 3/799798 Hash#[] 11 @@ -13664,7 +13754,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 + 1/14 ProgressBar::Components::Bar#initialize 22 @@ -13677,7 +13767,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 + 13/14 ProgressBar::Components::Bar#complete_bar 42 @@ -13690,7 +13780,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 14 ProgressBar::Components::Bar#length= @@ -13812,7 +13902,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/24 + 11/25 ProgressBar::Components::Time#estimated 73 @@ -13825,7 +13915,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/24 + 14/25 ProgressBar::Progress#progress= 56 @@ -13838,7 +13928,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24 + 25 Integer#> @@ -13915,7 +14005,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/27 + 4/28 ProgressBar::Format::Molecule#non_bar_molecule? 43 @@ -13928,7 +14018,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/27 + 11/28 ProgressBar::Timer#reset? 49 @@ -13941,7 +14031,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 + 13/28 ProgressBar::Throttle#choke 16 @@ -13954,7 +14044,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 27 + 28 BasicObject#! @@ -14026,6 +14116,51 @@

Thread 80, Fiber: 60

+ + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 49/49 + ProgressBar::Time#now + + 16 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 49 + + + <Class::Time>#now + + + + + + 225 + + + + @@ -14080,7 +14215,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/24 + 14/25 Float#- 57 @@ -14106,8 +14241,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/36 - Float#* + 14/80 + Integer#* 57 @@ -14119,8 +14254,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/75 - Integer#* + 14/38 + Float#* 57 @@ -14141,7 +14276,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/34 + 36/36 ProgressBar::Timer#elapsed_seconds 60 @@ -14154,7 +14289,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34 + 36 Time#- @@ -14177,7 +14312,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/34 + 36/36 Integer#fdiv @@ -14199,7 +14334,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/82 + 36/87 ProgressBar::Timer#elapsed_seconds 60 @@ -14212,7 +14347,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/82 + 51/87 ProgressBar::Timer#stopped? 40 @@ -14225,7 +14360,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 82 + 87 ProgressBar::Timer#stopped_at @@ -14257,7 +14392,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Timer#restart 53 @@ -14270,7 +14405,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Timer#reset @@ -14293,10 +14428,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/26 - ProgressBar::Timer#stopped_at= + 13/27 + ProgressBar::Timer#started_at= - 45 + 44 @@ -14306,10 +14441,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 - ProgressBar::Timer#started_at= + 13/28 + ProgressBar::Timer#stopped_at= - 44 + 45 @@ -14431,7 +14566,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Output#print_and_flush 67 @@ -14444,7 +14579,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Outputs::Tty#eol @@ -14467,7 +14602,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 + 13/26 ProgressBar::Base#stopped? 28 @@ -14480,7 +14615,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 + 13/39 ProgressBar::Output#bar 28 @@ -14592,10 +14727,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/27 - ProgressBar::Outputs::Tty#clear + 1/29 + ProgressBar::Output#initialize - 11 + 14 @@ -14605,10 +14740,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/27 - ProgressBar::Output#initialize + 2/29 + ProgressBar::Outputs::Tty#clear - 14 + 11 @@ -14618,7 +14753,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/27 + 26/29 ProgressBar::Output#print_and_flush 67 @@ -14631,7 +14766,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 27 + 29 ProgressBar::Output#stream @@ -14753,7 +14888,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 + 1/14 ProgressBar::Calculators::Length#initialize 11 @@ -14766,7 +14901,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 + 13/14 ProgressBar::Calculators::Length#length_changed? 20 @@ -14779,7 +14914,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 14 ProgressBar::Calculators::Length#current_length= @@ -14811,7 +14946,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/37 + 14/40 ProgressBar::Calculators::Length#length 15 @@ -14824,7 +14959,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/37 + 26/40 ProgressBar::Calculators::Length#length_changed? 19 @@ -14837,7 +14972,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37 + 40 ProgressBar::Calculators::Length#current_length @@ -14914,7 +15049,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/38 + 13/40 ProgressBar::Components::Bar#incomplete_string 82 @@ -14927,7 +15062,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/38 + 13/40 <Class::ProgressBar::Format::Formatter>#process 13 @@ -14940,7 +15075,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/38 + 14/40 ProgressBar::Projectors::SmoothedAverage#absolute 67 @@ -14953,7 +15088,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 38 + 40 Integer#- @@ -14985,7 +15120,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/75 + 1/80 ProgressBar::Format::String#bar_molecule_placeholder_length 14 @@ -14998,7 +15133,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/75 + 13/80 ProgressBar::Progress#percentage_completed_with_precision 101 @@ -15011,7 +15146,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/75 + 26/80 ProgressBar::Components::Bar#completed_length 92 @@ -15024,7 +15159,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/75 + 26/80 ProgressBar::Progress#percentage_completed 82 @@ -15037,7 +15172,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/75 + 14/80 <Class::ProgressBar::Projectors::SmoothedAverage>#calculate 57 @@ -15050,7 +15185,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 75 + 80 Integer#* @@ -15082,7 +15217,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Output#print_and_flush 68 @@ -15095,7 +15230,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 IO#flush @@ -15127,7 +15262,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/24 + 11/25 ProgressBar::Components::Time#estimated_seconds_remaining 97 @@ -15140,7 +15275,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/24 + 14/25 <Class::ProgressBar::Projectors::SmoothedAverage>#calculate 57 @@ -15153,7 +15288,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24 + 25 Float#- @@ -15230,7 +15365,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/36 + 11/38 ProgressBar::Components::Time#estimated_seconds_remaining 97 @@ -15243,7 +15378,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 + 13/38 ProgressBar::Progress#percentage_completed_with_precision 101 @@ -15256,7 +15391,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/36 + 14/38 <Class::ProgressBar::Projectors::SmoothedAverage>#calculate 57 @@ -15269,7 +15404,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36 + 38 Float#* @@ -15382,7 +15517,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/4611 + 1/30768 Class#new 12 @@ -15409,9 +15544,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Throttle#rate= + ProgressBar::Throttle#started_at= - 9 + 10 @@ -15422,9 +15557,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Throttle#stopped_at= + ProgressBar::Throttle#rate= - 11 + 9 @@ -15435,9 +15570,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Throttle#started_at= + ProgressBar::Throttle#stopped_at= - 10 + 11 @@ -15460,7 +15595,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/64348 + 1/799798 Hash#[] 9 @@ -15482,7 +15617,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Calculators::Length#calculate_length 26 @@ -15495,7 +15630,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Calculators::Length#length_override @@ -15576,7 +15711,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 + 1/14 ProgressBar::Calculators::Length#current_length= 11 @@ -15602,7 +15737,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/64348 + 2/799798 Hash#[] 9 @@ -15624,7 +15759,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/34 + 36/36 Time#- @@ -15637,7 +15772,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34 + 36 Integer#fdiv @@ -15705,7 +15840,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/36 + 2/39 Array#each @@ -15943,7 +16078,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/14 + 2/15 IO#print 11 @@ -15969,7 +16104,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/27 + 2/29 ProgressBar::Output#stream 11 @@ -15991,7 +16126,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Base#to_s 172 @@ -16004,7 +16139,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Output#length @@ -16027,7 +16162,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 + 13/14 ProgressBar::Calculators::Length#length 42 @@ -16040,7 +16175,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 + 13/27 ProgressBar::Output#length_calculator 42 @@ -16062,7 +16197,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Calculators::Length#terminal_width 44 @@ -16075,7 +16210,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Calculators::Length#unix? @@ -16098,7 +16233,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/19187 + 13/128135 String#=~ 94 @@ -16202,7 +16337,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - #<Class:0x0000000100c52f00>#[] + #<Class:0x0000000104922ef8>#[] 34 @@ -16223,7 +16358,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/24 + 13/26 <Class::ProgressBar::Format::Formatter>#process 16 @@ -16236,7 +16371,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/24 + 13/26 ProgressBar::Calculators::Length#terminal_width 47 @@ -16249,7 +16384,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24 + 26 Integer#< @@ -16281,7 +16416,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 <Class::ProgressBar::Format::Formatter>#process 5 @@ -16294,7 +16429,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 String#dup @@ -16317,7 +16452,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 Kernel#initialize_dup @@ -16375,7 +16510,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/25 + 1/27 String#* 38 @@ -16388,7 +16523,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 + 1/14 ProgressBar::Calculators::Length#length 38 @@ -16401,7 +16536,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/25 + 1/27 ProgressBar::Output#length_calculator 38 @@ -16423,7 +16558,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 <Class::ProgressBar::Format::Formatter>#process 7 @@ -16436,7 +16571,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Format::String#non_bar_molecules @@ -16472,7 +16607,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/4594 + 1/2 Array#select 18 @@ -16494,7 +16629,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 <Class::ProgressBar::Format::Formatter>#process 13 @@ -16507,7 +16642,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Format::String#displayable_length @@ -16530,7 +16665,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 String#gsub 10 @@ -16543,7 +16678,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 String#length 10 @@ -16565,7 +16700,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 + 13/14 <Class::ProgressBar::Format::Formatter>#process 18 @@ -16578,7 +16713,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 + 1/14 ProgressBar::Format::String#bar_molecule_placeholder_length 14 @@ -16591,7 +16726,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 14 ProgressBar::Format::String#bar_molecules @@ -16614,7 +16749,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/4594 + 1/2 Array#select 22 @@ -16649,7 +16784,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 <Class::ProgressBar::Format::Formatter>#process 13 @@ -16662,7 +16797,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Format::String#bar_molecule_placeholder_length @@ -16685,7 +16820,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 + 1/14 ProgressBar::Format::String#bar_molecules 14 @@ -16711,7 +16846,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/75 + 1/80 Integer#* 14 @@ -16733,7 +16868,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/48 + 13/52 ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object 72 @@ -16746,7 +16881,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/48 + 39/52 ProgressBar::Calculators::Length#dynamic_width 57 @@ -16759,7 +16894,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48 + 52 ProgressBar::Calculators::Length#output @@ -16791,7 +16926,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 + 1/14 ProgressBar::Output#clear_string 38 @@ -16804,7 +16939,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 + 13/14 ProgressBar::Output#length 42 @@ -16817,7 +16952,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 14 ProgressBar::Calculators::Length#length @@ -16840,7 +16975,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/37 + 14/40 ProgressBar::Calculators::Length#current_length 15 @@ -16862,7 +16997,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Calculators::Length#dynamic_width 58 @@ -16875,7 +17010,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object @@ -16898,7 +17033,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 IO#winsize 72 @@ -16911,7 +17046,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/48 + 13/52 ProgressBar::Calculators::Length#output 72 @@ -16933,7 +17068,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/20 + 8/21 Array#each @@ -16946,7 +17081,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/20 + 13/21 ProgressBar::Calculators::Length#dynamic_width 57 @@ -16959,7 +17094,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 20 + 21 Kernel#respond_to? @@ -17006,8 +17141,8 @@

Thread 80, Fiber: 60

0.00 1 - - #<Class:0x0000000100c52f00>#[] + + #<Class:0x0000000104922ef8>#[] @@ -17036,7 +17171,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Format::String#displayable_length 10 @@ -17049,7 +17184,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 String#length @@ -17081,7 +17216,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Format::String#displayable_length 10 @@ -17094,7 +17229,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 String#gsub @@ -17126,7 +17261,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/25 + 1/27 ProgressBar::Output#clear_string 38 @@ -17139,7 +17274,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 + 13/27 ProgressBar::Components::Bar#incomplete_string 82 @@ -17152,7 +17287,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 + 13/27 ProgressBar::Components::Bar#standard_complete_string 78 @@ -17165,7 +17300,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25 + 27 String#* @@ -17197,7 +17332,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/48 + 52/52 Array#each @@ -17210,7 +17345,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48 + 52 ProgressBar::Format::Molecule#full_key @@ -17233,7 +17368,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/108 + 52/116 ProgressBar::Format::Molecule#key 47 @@ -17255,7 +17390,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 String#dup @@ -17268,7 +17403,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 Kernel#initialize_dup @@ -17291,7 +17426,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 String#initialize_copy @@ -17313,7 +17448,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object 72 @@ -17326,7 +17461,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 IO#winsize @@ -17403,7 +17538,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/60 + 13/65 ProgressBar::Components::Percentage#justified_percentage_with_precision 23 @@ -17416,7 +17551,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/60 + 52/65 ProgressBar::Format::Molecule#lookup_value 56 @@ -17429,7 +17564,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 60 + 65 String#to_s @@ -17461,7 +17596,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 Kernel#initialize_dup @@ -17474,7 +17609,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 String#initialize_copy @@ -17506,7 +17641,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 96/96 + 104/104 ProgressBar::Format::Molecule#lookup_value 51 @@ -17519,7 +17654,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 96 + 104 ProgressBar::Format::Molecule#method_name @@ -17551,7 +17686,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/108 + 4/116 ProgressBar::Format::Molecule#initialize 35 @@ -17564,10 +17699,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/108 - ProgressBar::Format::Molecule#full_key + 60/116 + ProgressBar::Format::Molecule#bar_molecule? - 47 + 39 @@ -17577,10 +17712,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 56/108 - ProgressBar::Format::Molecule#bar_molecule? + 52/116 + ProgressBar::Format::Molecule#full_key - 39 + 47 @@ -17590,7 +17725,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 108 + 116 ProgressBar::Format::Molecule#key @@ -17622,7 +17757,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/56 + 4/60 Array#select @@ -17635,7 +17770,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/56 + 4/60 ProgressBar::Format::Molecule#non_bar_molecule? 43 @@ -17648,7 +17783,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 48/56 + 52/60 ProgressBar::Format::Molecule#lookup_value 53 @@ -17661,7 +17796,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 56 + 60 ProgressBar::Format::Molecule#bar_molecule? @@ -17684,7 +17819,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 56/56 + 60/60 Array#include? 39 @@ -17697,7 +17832,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 56/108 + 60/116 ProgressBar::Format::Molecule#key 39 @@ -17719,7 +17854,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Format::Molecule#lookup_value 56 @@ -17732,7 +17867,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Components::Percentage#justified_percentage_with_precision @@ -17755,7 +17890,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Progress#percentage_completed_with_precision 23 @@ -17768,7 +17903,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 String#rjust 23 @@ -17781,7 +17916,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Components::Percentage#progress 23 @@ -17794,7 +17929,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/60 + 13/65 String#to_s 23 @@ -17816,7 +17951,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/24 + 26/26 ProgressBar::Format::Molecule#lookup_value 51 @@ -17829,7 +17964,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24 + 26 ProgressBar::Base#time_component @@ -17861,7 +17996,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Format::Molecule#lookup_value 51 @@ -17874,7 +18009,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Base#percentage_component @@ -17906,7 +18041,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Format::Molecule#lookup_value 51 @@ -17919,7 +18054,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Base#bar_component @@ -17951,7 +18086,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Components::Percentage#justified_percentage_with_precision 23 @@ -17964,7 +18099,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 String#rjust @@ -17996,7 +18131,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Components::Percentage#justified_percentage_with_precision 23 @@ -18009,7 +18144,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Progress#percentage_completed_with_precision @@ -18032,7 +18167,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/35 + 13/38 String#% 101 @@ -18045,7 +18180,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/82 + 26/89 Integer#/ 101 @@ -18058,7 +18193,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/193 + 39/205 ProgressBar::Progress#total 98 @@ -18071,7 +18206,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 Integer#to_f 101 @@ -18084,10 +18219,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/82 - Kernel#nil? + 13/27 + Float#floor - 99 + 101 @@ -18097,10 +18232,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 - Float#* + 13/89 + Kernel#nil? - 101 + 99 @@ -18110,8 +18245,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/75 - Integer#* + 13/38 + Float#* 101 @@ -18123,8 +18258,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 - Float#floor + 13/80 + Integer#* 101 @@ -18136,7 +18271,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/107 + 13/113 ProgressBar::Progress#progress 101 @@ -18149,7 +18284,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/119 + 13/125 Integer#== 98 @@ -18171,7 +18306,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Components::Percentage#justified_percentage_with_precision 23 @@ -18184,7 +18319,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Components::Percentage#progress @@ -18216,7 +18351,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 56/56 + 60/60 ProgressBar::Format::Molecule#bar_molecule? 39 @@ -18229,7 +18364,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 56 + 60 Array#include? @@ -18261,7 +18396,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Components::Bar#to_s 28 @@ -18274,7 +18409,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 Symbol#== @@ -18306,7 +18441,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/35 + 11/38 ProgressBar::Components::Time#estimated 76 @@ -18319,7 +18454,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/35 + 14/38 ProgressBar::Components::Time#elapsed 85 @@ -18332,7 +18467,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/35 + 13/38 ProgressBar::Progress#percentage_completed_with_precision 101 @@ -18345,7 +18480,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 35 + 38 String#% @@ -18377,7 +18512,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 + 14/14 ProgressBar::Components::Time#elapsed 83 @@ -18390,7 +18525,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 14 ProgressBar::Timer#elapsed_whole_seconds @@ -18413,7 +18548,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/34 + 14/36 ProgressBar::Timer#elapsed_seconds 64 @@ -18426,7 +18561,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/25 + 14/27 Float#floor 64 @@ -18448,7 +18583,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/23 + 11/25 ProgressBar::Components::Time#estimated 71 @@ -18461,7 +18596,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/23 + 14/25 ProgressBar::Components::Time#elapsed 83 @@ -18474,7 +18609,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 23 + 25 ProgressBar::Timer#divide_seconds @@ -18497,7 +18632,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46/46 + 50/50 Integer#divmod 68 @@ -18519,7 +18654,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/23 + 12/25 ProgressBar::Components::Time#estimated_seconds_remaining 95 @@ -18532,7 +18667,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/23 + 13/25 ProgressBar::Components::Bar#to_s 26 @@ -18545,7 +18680,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 23 + 25 ProgressBar::Progress#unknown? @@ -18568,7 +18703,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46/82 + 50/89 Kernel#nil? 90 @@ -18581,8 +18716,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 23/193 - ProgressBar::Progress#total + 25/113 + ProgressBar::Progress#progress 90 @@ -18594,8 +18729,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 23/107 - ProgressBar::Progress#progress + 25/205 + ProgressBar::Progress#total 90 @@ -18687,7 +18822,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/79 + 11/86 ProgressBar::Components::Time#estimated 71 @@ -18700,7 +18835,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 30/79 + 33/86 ProgressBar::Components::Time#estimated_seconds_remaining 95 @@ -18713,7 +18848,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 39/79 + 42/86 ProgressBar::Components::Time#elapsed 81 @@ -18726,7 +18861,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 79 + 86 ProgressBar::Components::Time#timer @@ -18758,7 +18893,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/43 + 13/47 ProgressBar::Components::Time#estimated_with_elapsed_fallback 89 @@ -18771,7 +18906,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 31/43 + 34/47 ProgressBar::Components::Time#estimated_seconds_remaining 95 @@ -18784,7 +18919,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 43 + 47 ProgressBar::Components::Time#progress @@ -18816,7 +18951,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Components::Bar#to_s 29 @@ -18829,7 +18964,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Components::Bar#standard_complete_string @@ -18852,7 +18987,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/24 + 13/26 ProgressBar::Components::Bar#completed_length 78 @@ -18865,7 +19000,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 + 13/27 String#* 78 @@ -18878,7 +19013,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Components::Bar#progress_mark 78 @@ -18900,10 +19035,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/36 - ProgressBar::Components::Bar#completed_length + 13/39 + ProgressBar::Components::Bar#to_s - 92 + 26 @@ -18913,10 +19048,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 - ProgressBar::Components::Bar#to_s + 26/39 + ProgressBar::Components::Bar#completed_length - 26 + 92 @@ -18926,7 +19061,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36 + 39 ProgressBar::Components::Bar#progress @@ -18958,7 +19093,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Components::Bar#to_s 29 @@ -18971,7 +19106,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Components::Bar#incomplete_string @@ -18994,7 +19129,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/24 + 13/26 ProgressBar::Components::Bar#completed_length 82 @@ -19007,8 +19142,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 - String#* + 13/13 + ProgressBar::Components::Bar#remainder_mark 82 @@ -19020,8 +19155,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Bar#remainder_mark + 13/27 + String#* 82 @@ -19033,7 +19168,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 + 13/39 ProgressBar::Components::Bar#length 82 @@ -19046,7 +19181,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/38 + 13/40 Integer#- 82 @@ -19068,10 +19203,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/82 - ProgressBar::Progress#percentage_completed + 13/89 + ProgressBar::Progress#percentage_completed_with_precision - 74 + 99 @@ -19081,10 +19216,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/82 - ProgressBar::Progress#percentage_completed_with_precision + 26/89 + ProgressBar::Progress#percentage_completed - 99 + 74 @@ -19094,7 +19229,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46/82 + 50/89 ProgressBar::Progress#unknown? 90 @@ -19107,7 +19242,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 82 + 89 Kernel#nil? @@ -19139,7 +19274,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Progress#percentage_completed_with_precision 101 @@ -19152,7 +19287,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 Integer#to_f @@ -19184,7 +19319,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/82 + 11/89 ProgressBar::Components::Time#estimated_seconds_remaining 97 @@ -19197,7 +19332,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/82 + 26/89 ProgressBar::Progress#percentage_completed 82 @@ -19210,10 +19345,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/82 - ProgressBar::Progress#percentage_completed_with_precision + 26/89 + ProgressBar::Components::Bar#completed_length - 101 + 92 @@ -19223,10 +19358,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/82 - ProgressBar::Components::Bar#completed_length + 26/89 + ProgressBar::Progress#percentage_completed_with_precision - 92 + 101 @@ -19236,7 +19371,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 82 + 89 Integer#/ @@ -19268,7 +19403,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 + 13/27 ProgressBar::Progress#percentage_completed_with_precision 101 @@ -19281,7 +19416,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/25 + 14/27 ProgressBar::Timer#elapsed_whole_seconds 64 @@ -19294,7 +19429,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25 + 27 Float#floor @@ -19362,6 +19497,90 @@

Thread 80, Fiber: 60

+ + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/2 + ProgressBar::Format::String#bar_molecules + + 22 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/2 + ProgressBar::Format::String#non_bar_molecules + + 18 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 2 + + + Array#select + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 4/4 + ProgressBar::Format::Molecule#non_bar_molecule? + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 4/60 + ProgressBar::Format::Molecule#bar_molecule? + + + + + + + + + + + @@ -19407,7 +19626,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/4611 + 4/30768 Class#new 30 @@ -19433,7 +19652,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/4 + 4/169255 Array#<< 30 @@ -19491,7 +19710,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/56 + 4/60 ProgressBar::Format::Molecule#bar_molecule? 43 @@ -19504,7 +19723,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/27 + 4/28 BasicObject#! 43 @@ -19526,7 +19745,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Components::Bar#incomplete_string 82 @@ -19539,7 +19758,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Components::Bar#remainder_mark @@ -19571,7 +19790,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/13 ProgressBar::Components::Bar#standard_complete_string 78 @@ -19584,7 +19803,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 13 ProgressBar::Components::Bar#progress_mark @@ -19616,7 +19835,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/36 + 13/39 ProgressBar::Components::Bar#incomplete_string 82 @@ -19629,7 +19848,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/36 + 26/39 ProgressBar::Components::Bar#completed_length 92 @@ -19642,7 +19861,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36 + 39 ProgressBar::Components::Bar#length @@ -19674,7 +19893,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/24 + 13/26 ProgressBar::Components::Bar#incomplete_string 82 @@ -19687,7 +19906,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/24 + 13/26 ProgressBar::Components::Bar#standard_complete_string 78 @@ -19700,7 +19919,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24 + 26 ProgressBar::Components::Bar#completed_length @@ -19723,7 +19942,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/24 + 26/26 ProgressBar::Progress#percentage_completed 92 @@ -19736,8 +19955,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/82 - Integer#/ + 26/39 + ProgressBar::Components::Bar#length 92 @@ -19749,8 +19968,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/36 - ProgressBar::Components::Bar#progress + 26/89 + Integer#/ 92 @@ -19762,7 +19981,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/24 + 26/26 Integer#floor 92 @@ -19775,8 +19994,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/36 - ProgressBar::Components::Bar#length + 26/39 + ProgressBar::Components::Bar#progress 92 @@ -19788,7 +20007,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/75 + 26/80 Integer#* 92 @@ -19810,7 +20029,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46/46 + 50/50 ProgressBar::Timer#divide_seconds 68 @@ -19823,7 +20042,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 46 + 50 Integer#divmod @@ -19900,7 +20119,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/24 + 26/26 ProgressBar::Components::Bar#completed_length 92 @@ -19913,7 +20132,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24 + 26 ProgressBar::Progress#percentage_completed @@ -19936,7 +20155,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 72/193 + 78/205 ProgressBar::Progress#total 74 @@ -19949,7 +20168,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/24 + 26/26 Integer#to_i 82 @@ -19962,8 +20181,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/82 - Integer#/ + 26/80 + Integer#* 82 @@ -19975,10 +20194,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/75 - Integer#* + 26/89 + Kernel#nil? - 82 + 74 @@ -19988,7 +20207,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/119 + 26/125 Integer#== 75 @@ -20001,8 +20220,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/107 - ProgressBar::Progress#progress + 26/89 + Integer#/ 82 @@ -20014,10 +20233,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/82 - Kernel#nil? + 26/113 + ProgressBar::Progress#progress - 74 + 82 @@ -20036,7 +20255,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/24 + 26/26 ProgressBar::Components::Bar#completed_length 92 @@ -20049,7 +20268,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24 + 26 Integer#floor @@ -20081,52 +20300,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/4 - String#scan - - - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 4 - - - Array#<< - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 10/10 + 11/11 ProgressBar::Components::Time#estimated_seconds_remaining 95 @@ -20139,7 +20313,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10 + 11 ProgressBar::Timer#reset? @@ -20162,8 +20336,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/27 - BasicObject#! + 11/111 + ProgressBar::Timer#started_at 49 @@ -20175,8 +20349,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/105 - ProgressBar::Timer#started_at + 11/28 + BasicObject#! 49 @@ -20197,7 +20371,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/21 + 12/23 ProgressBar::Projectors::SmoothedAverage#none? 53 @@ -20210,7 +20384,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/21 + 11/23 ProgressBar::Components::Time#estimated_seconds_remaining 97 @@ -20223,7 +20397,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 21 + 23 ProgressBar::Projectors::SmoothedAverage#projection @@ -20255,7 +20429,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 + 12/12 ProgressBar::Components::Time#estimated_seconds_remaining 95 @@ -20268,7 +20442,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11 + 12 ProgressBar::Projectors::SmoothedAverage#none? @@ -20291,7 +20465,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 + 12/12 Float#zero? 53 @@ -20304,7 +20478,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/21 + 12/23 ProgressBar::Projectors::SmoothedAverage#projection 53 @@ -20326,7 +20500,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/10 + 11/11 ProgressBar::Components::Time#estimated_seconds_remaining 95 @@ -20339,7 +20513,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10 + 11 ProgressBar::Progress#none? @@ -20362,7 +20536,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/10 + 11/11 Integer#zero? 86 @@ -20375,7 +20549,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/107 + 11/113 ProgressBar::Progress#progress 86 @@ -20447,9 +20621,9 @@

Thread 80, Fiber: 60

0.00 0.00 4/4 - ProgressBar::Format::Molecule#method_name= + ProgressBar::Format::Molecule#key= - 35 + 34 @@ -20460,9 +20634,9 @@

Thread 80, Fiber: 60

0.00 0.00 4/4 - ProgressBar::Format::Molecule#key= + ProgressBar::Format::Molecule#method_name= - 34 + 35 @@ -20485,7 +20659,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/108 + 4/116 ProgressBar::Format::Molecule#key 35 @@ -20507,7 +20681,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 21/21 + 23/23 ProgressBar::Components::Time#estimated_seconds_remaining 95 @@ -20520,7 +20694,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 21 + 23 ProgressBar::Components::Time#projector @@ -20552,7 +20726,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/24 + 26/26 ProgressBar::Progress#percentage_completed 82 @@ -20565,7 +20739,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24 + 26 Integer#to_i @@ -20597,7 +20771,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/10 + 11/11 ProgressBar::Components::Time#estimated_seconds_remaining 97 @@ -20610,7 +20784,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10 + 11 Float#round @@ -20777,7 +20951,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10/10 + 11/11 ProgressBar::Progress#none? 86 @@ -20790,7 +20964,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 10 + 11 Integer#zero? @@ -20822,7 +20996,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 + 12/12 ProgressBar::Projectors::SmoothedAverage#none? 53 @@ -20835,7 +21009,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11 + 12 Float#zero? diff --git a/task-1.rb b/task-1.rb index 5263ca81..02d3d7c2 100644 --- a/task-1.rb +++ b/task-1.rb @@ -65,7 +65,7 @@ def work(file_name:) file_lines.each do |line| cols = line.split(',') - users = users + [parse_user(line)] if cols[0] == 'user' + users.concat([parse_user(line)]) if cols[0] == 'user' sessions = sessions + [parse_session(line)] if cols[0] == 'session' end progressbar.increment From 08f0506b0aa8d054ad011a98dced983973f27e5c Mon Sep 17 00:00:00 2001 From: Araslanov Evgeny Date: Sun, 26 Jan 2025 20:58:01 +0500 Subject: [PATCH 5/7] Optimization #3 - used Array#concat for sessions --- case-study.md | 6 + prof_reports/ruby_prof_callstack_after.html | 1818 +-- prof_reports/ruby_prof_callstack_before.html | 1718 +-- prof_reports/ruby_prof_graph_after.html | 10360 ++++++++--------- prof_reports/ruby_prof_graph_before.html | 3136 ++--- task-1.rb | 2 +- 6 files changed, 8554 insertions(+), 8486 deletions(-) diff --git a/case-study.md b/case-study.md index 8fb0d146..a9e9413d 100644 --- a/case-study.md +++ b/case-study.md @@ -39,6 +39,12 @@ - Время выполнения программы особо не изменилось. - Отчет профилировщика стал указывать на другие проблемы, главная точкой роста изменилась. +### Ваша находка №3 +- При объёме данных в 200к строк CallStack показал что программа 56.92% времени тратит на Array#+. С помощью Graph стало понятно что много времени тратиться на формирования списка сессий (sessions). +- Рекомундуется использовать Array#concat (https://github.com/fastruby/fast-ruby?tab=readme-ov-file#arrayconcat-vs-array-code) +- Время выполнения программы уменьшилось с ~14 секунд до ~6 секунды, при входных данных в 200к строк. Время выполнения программы на большом объёме данных больше 30 секунд. +- Отчет профилировщика стал указывать на другие проблемы, главная точкой роста изменилась. + ### Ваша находка №X - какой отчёт показал главную точку роста - как вы решили её оптимизировать diff --git a/prof_reports/ruby_prof_callstack_after.html b/prof_reports/ruby_prof_callstack_after.html index f64dd088..92c40c31 100644 --- a/prof_reports/ruby_prof_callstack_after.html +++ b/prof_reports/ruby_prof_callstack_after.html @@ -663,7 +663,7 @@
- Call tree for application task-1-ruby-prof-callstack.rb
Generated on 2025-01-26 20:44:59 +0500 + Call tree for application task-1-ruby-prof-callstack.rb
Generated on 2025-01-26 20:55:11 +0500 with options {}
@@ -693,7 +693,7 @@
- Thread: 80, Fiber: 60 (100.00% ~ 14.497787369880825) + Thread: 80, Fiber: 60 (100.00% ~ 6.727824849076569)
@@ -178,7 +178,7 @@

Wall_time

80 60 - 13.671027945820242 + 13.835856187157333 @@ -209,10 +209,10 @@

Thread 80, Fiber: 60

100.00% 0.00% - 13.67 + 13.84 0.00 0.00 - 13.67 + 13.84 1 @@ -232,10 +232,10 @@

Thread 80, Fiber: 60

    - 13.67 + 13.84 0.00 0.00 - 13.67 + 13.83 1/1 Object#work @@ -254,10 +254,10 @@

Thread 80, Fiber: 60

    - 13.67 + 13.84 0.00 0.00 - 13.67 + 13.83 1/1 [global]# @@ -267,10 +267,10 @@

Thread 80, Fiber: 60

100.00% 0.01% - 13.67 + 13.84 0.00 0.00 - 13.67 + 13.83 1 @@ -290,10 +290,10 @@

Thread 80, Fiber: 60

    - 12.22 - 0.22 + 12.37 + 0.21 0.00 - 12.01 + 12.16 3/39 Array#each @@ -306,7 +306,7 @@

Thread 80, Fiber: 60

1.24 0.00 0.00 - 1.23 + 1.24 7/7 Object#collect_stats_from_users @@ -398,10 +398,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/16 - IO#write + 1/1 + <Class::IO>#read - 169 + 60 @@ -411,10 +411,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - <Class::IO>#read + 1/16 + IO#write - 60 + 169 @@ -476,10 +476,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/17424268 - String#== + 1/276711 + Hash#[]= - 57 + 90 @@ -489,10 +489,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/276711 - Hash#[]= + 1/17424268 + String#== - 90 + 57 @@ -546,10 +546,10 @@

Thread 80, Fiber: 60

    - 1.23 - 0.25 + 1.24 + 0.26 0.00 - 0.98 + 0.99 7/39 Object#collect_stats_from_users @@ -559,10 +559,10 @@

Thread 80, Fiber: 60

    - 12.22 - 0.22 + 12.37 + 0.21 0.00 - 12.01 + 12.16 3/39 Object#work @@ -570,12 +570,12 @@

Thread 80, Fiber: 60

- 99.12% - 3.81% - 13.55 + 99.11% + 3.77% + 13.71 0.52 0.00 - 13.03 + 13.19 39 @@ -595,23 +595,23 @@

Thread 80, Fiber: 60

    - 7.71 - 7.71 + 7.82 + 7.82 0.00 0.00 - 230949/230949 + 200200/200200 Array#+ - 68 + 69     - 3.90 - 1.63 + 3.92 + 1.64 0.00 - 2.27 + 2.29 200000/200000 Array#all? @@ -621,8 +621,8 @@

Thread 80, Fiber: 60

    - 0.66 - 0.18 + 0.67 + 0.19 0.00 0.48 338239/338241 @@ -634,7 +634,7 @@

Thread 80, Fiber: 60

    - 0.23 + 0.24 0.14 0.00 0.10 @@ -651,10 +651,10 @@

Thread 80, Fiber: 60

0.08 0.00 0.00 - 799737/799798 - Hash#[] + 200000/400001 + String#split - 119 + 67 @@ -664,10 +664,10 @@

Thread 80, Fiber: 60

0.08 0.00 0.00 - 200000/400001 - String#split + 799737/799798 + Hash#[] - 67 + 119 @@ -702,7 +702,7 @@

Thread 80, Fiber: 60

0.04 0.03 0.00 - 0.02 + 0.01 30749/30749 Object#parse_user @@ -725,8 +725,8 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.04 + 0.04 0.00 0.00 215243/215245 @@ -860,9 +860,9 @@

Thread 80, Fiber: 60

0.00 0.00 30749/30749 - Array#max + Array#reverse - 141 + 165 @@ -873,9 +873,22 @@

Thread 80, Fiber: 60

0.00 0.00 30749/30749 - Array#reverse + Array#concat - 165 + 68 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 30749/30749 + Array#max + + 141 @@ -994,24 +1007,24 @@

Thread 80, Fiber: 60

    - 7.71 - 7.71 + 7.82 + 7.82 0.00 0.00 - 230949/230949 + 200200/200200 Array#each - 56.42% - 56.42% - 7.71 - 7.71 + 56.54% + 56.54% + 7.82 + 7.82 0.00 0.00 - 230949 + 200200 Array#+ @@ -1039,10 +1052,10 @@

Thread 80, Fiber: 60

    - 3.90 - 1.63 + 3.92 + 1.64 0.00 - 2.27 + 2.29 200000/200000 Array#each @@ -1050,12 +1063,12 @@

Thread 80, Fiber: 60

- 28.50% - 11.91% - 3.90 - 1.63 + 28.36% + 11.84% + 3.92 + 1.64 0.00 - 2.27 + 2.29 200000 @@ -1075,10 +1088,10 @@

Thread 80, Fiber: 60

    - 2.26 - 1.49 + 2.28 + 1.51 0.00 - 0.77 + 0.76 17024267/17024280 BasicObject#!= @@ -1136,10 +1149,10 @@

Thread 80, Fiber: 60

    - 2.26 - 1.49 + 2.28 + 1.51 0.00 - 0.77 + 0.76 17024267/17024280 Array#all? @@ -1147,12 +1160,12 @@

Thread 80, Fiber: 60

- 16.52% - 10.89% - 2.26 - 1.49 + 16.45% + 10.95% + 2.28 + 1.51 0.00 - 0.77 + 0.76 17024280 @@ -1172,8 +1185,8 @@

Thread 80, Fiber: 60

    - 0.77 - 0.77 + 0.76 + 0.76 0.00 0.00 17024267/17424268 @@ -1223,7 +1236,7 @@

Thread 80, Fiber: 60

1.24 0.00 0.00 - 1.23 + 1.24 7/7 Object#work @@ -1231,12 +1244,12 @@

Thread 80, Fiber: 60

- 9.03% + 8.99% 0.00% 1.24 0.00 0.00 - 1.23 + 1.24 7 @@ -1256,10 +1269,10 @@

Thread 80, Fiber: 60

    - 1.23 - 0.25 + 1.24 + 0.26 0.00 - 0.98 + 0.99 7/39 Array#each @@ -1304,8 +1317,8 @@

Thread 80, Fiber: 60

    - 0.77 - 0.77 + 0.76 + 0.76 0.00 0.00 17024267/17424268 @@ -1315,8 +1328,8 @@

Thread 80, Fiber: 60

- 5.80% - 5.80% + 5.68% + 5.68% 0.79 0.79 0.00 @@ -1362,8 +1375,8 @@

Thread 80, Fiber: 60

    - 0.66 - 0.18 + 0.67 + 0.19 0.00 0.48 338239/338241 @@ -1373,12 +1386,12 @@

Thread 80, Fiber: 60

- 5.15% - 1.55% - 0.70 - 0.21 + 5.16% + 1.56% + 0.71 + 0.22 0.00 - 0.49 + 0.50 338241 @@ -1398,10 +1411,10 @@

Thread 80, Fiber: 60

    - 0.42 - 0.22 + 0.40 + 0.19 0.00 - 0.20 + 0.21 169251/169251 <Class::Date>#parse @@ -1411,8 +1424,8 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.05 + 0.05 0.00 0.00 169251/169251 @@ -1459,10 +1472,10 @@

Thread 80, Fiber: 60

    - 0.42 - 0.22 + 0.40 + 0.19 0.00 - 0.20 + 0.21 169251/169251 Array#map @@ -1470,12 +1483,12 @@

Thread 80, Fiber: 60

- 3.07% - 1.58% - 0.42 - 0.22 + 2.88% + 1.38% + 0.40 + 0.19 0.00 - 0.20 + 0.21 169251 @@ -1499,8 +1512,8 @@

Thread 80, Fiber: 60

0.07 0.00 0.00 - 338502/338502 - Regexp#match + 169251/169316 + String#gsub! @@ -1512,8 +1525,8 @@

Thread 80, Fiber: 60

0.07 0.00 0.00 - 169251/169316 - String#gsub! + 338502/338502 + Regexp#match @@ -1582,7 +1595,7 @@

Thread 80, Fiber: 60

    - 0.23 + 0.24 0.14 0.00 0.10 @@ -1593,9 +1606,9 @@

Thread 80, Fiber: 60

- 1.69% - 0.99% - 0.23 + 1.74% + 0.98% + 0.24 0.14 0.00 0.10 @@ -1618,8 +1631,8 @@

Thread 80, Fiber: 60

    - 0.06 - 0.06 + 0.07 + 0.07 0.00 0.00 169251/400001 @@ -1679,8 +1692,8 @@

Thread 80, Fiber: 60

    - 0.06 - 0.06 + 0.07 + 0.07 0.00 0.00 169251/400001 @@ -1703,10 +1716,10 @@

Thread 80, Fiber: 60

- 1.23% - 1.23% - 0.17 - 0.17 + 1.30% + 1.30% + 0.18 + 0.18 0.00 0.00 400001 @@ -1748,7 +1761,7 @@

Thread 80, Fiber: 60

- 0.67% + 0.69% 0.00% 0.09 0.00 @@ -1806,7 +1819,7 @@

Thread 80, Fiber: 60

- 0.67% + 0.69% 0.00% 0.09 0.00 @@ -1858,9 +1871,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/799798 - ProgressBar::Components::Percentage#initialize + ProgressBar::Throttle#initialize - 7 + 9 @@ -1871,9 +1884,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/799798 - ProgressBar::Components::Title#initialize + ProgressBar::Components::Percentage#initialize - 9 + 7 @@ -1883,10 +1896,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/799798 - ProgressBar::Throttle#initialize + 2/799798 + ProgressBar::Calculators::Length#initialize - 9 + 9 @@ -1896,10 +1909,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 - <Class::ProgressBar::Output>#detect + 3/799798 + ProgressBar::Components::Time#initialize - 21 + 22 @@ -1909,10 +1922,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/799798 - ProgressBar::Components::Time#initialize + 1/799798 + ProgressBar::Projectors::SmoothedAverage#initialize - 22 + 14 @@ -1922,10 +1935,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 - ProgressBar::Calculators::Length#initialize + 1/799798 + ProgressBar::Components::Title#initialize - 9 + 9 @@ -1948,10 +1961,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/799798 - ProgressBar::Projectors::SmoothedAverage#initialize + 3/799798 + ProgressBar::Components::Rate#initialize - 14 + 9 @@ -1974,10 +1987,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/799798 - ProgressBar::Components::Rate#initialize + 5/799798 + ProgressBar::Components::Bar#initialize - 9 + 18 @@ -2013,10 +2026,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 5/799798 - ProgressBar::Components::Bar#initialize + 8/799798 + ProgressBar::Base#initialize - 18 + 46 @@ -2026,10 +2039,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/799798 - ProgressBar::Base#initialize + 2/799798 + <Class::ProgressBar::Output>#detect - 46 + 21 @@ -2072,8 +2085,8 @@

Thread 80, Fiber: 60

- 0.60% - 0.60% + 0.59% + 0.59% 0.08 0.08 0.00 @@ -2103,6 +2116,32 @@

Thread 80, Fiber: 60

+ +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/169316 + <Class::ProgressBar::Format::Formatter>#process + + 11 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 52/169316 + Array#each + + + +     @@ -2110,7 +2149,7 @@

Thread 80, Fiber: 60

0.07 0.00 0.00 - 338502/338502 + 169251/169316 <Class::Date>#parse @@ -2123,10 +2162,10 @@

Thread 80, Fiber: 60

0.07 0.00 0.00 - 338502 + 169316 - - Regexp#match + + String#gsub! @@ -2148,32 +2187,6 @@

Thread 80, Fiber: 60

- -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/169316 - <Class::ProgressBar::Format::Formatter>#process - - 11 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 52/169316 - Array#each - - - -     @@ -2181,23 +2194,23 @@

Thread 80, Fiber: 60

0.07 0.00 0.00 - 169251/169316 + 338502/338502 <Class::Date>#parse - 0.50% - 0.50% + 0.51% + 0.51% 0.07 0.07 0.00 0.00 - 169316 + 338502 - - String#gsub! + + Regexp#match @@ -2246,8 +2259,8 @@

Thread 80, Fiber: 60

- 0.47% - 0.32% + 0.46% + 0.31% 0.06 0.04 0.00 @@ -2369,8 +2382,8 @@

Thread 80, Fiber: 60

- 0.43% - 0.43% + 0.42% + 0.42% 0.06 0.06 0.00 @@ -2400,19 +2413,6 @@

Thread 80, Fiber: 60

- -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/491997 - ProgressBar::Output#print_and_flush - - 67 - -     @@ -2420,23 +2420,23 @@

Thread 80, Fiber: 60

0.05 0.00 0.00 - 491984/491997 - Array#each + 169251/169251 + Array#map - 0.34% - 0.34% + 0.39% + 0.39% 0.05 0.05 0.00 0.00 - 491997 + 169251 - - String#+ + + Date#iso8601 @@ -2461,23 +2461,81 @@

Thread 80, Fiber: 60

    - 0.04 - 0.03 0.00 - 0.02 - 30749/30749 - Array#each + 0.00 + 0.00 + 0.00 + 13/491997 + ProgressBar::Output#print_and_flush - + 67 - - 0.31% - 0.19% - 0.04 - 0.03 - 0.00 - 0.02 + +   +   + 0.05 + 0.05 + 0.00 + 0.00 + 491984/491997 + Array#each + + + + + + 0.33% + 0.33% + 0.05 + 0.05 + 0.00 + 0.00 + 491997 + + + String#+ + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.04 + 0.03 + 0.00 + 0.01 + 30749/30749 + Array#each + + + + + + 0.31% + 0.20% + 0.04 + 0.03 + 0.00 + 0.01 30749 @@ -2601,7 +2659,7 @@

Thread 80, Fiber: 60

- 0.28% + 0.27% 0.12% 0.04 0.02 @@ -2661,12 +2719,38 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 0.00 0.00 - 169251/169251 - <Class::Date>#parse + 0.00 + 0.00 + 39658/466624 + Array#all? + + + + + +   +   + 0.01 + 0.01 + 0.00 + 0.00 + 88464/466624 + Array#any? + + + + + +   +   + 0.03 + 0.03 + 0.00 + 0.00 + 338502/466624 + Array#map @@ -2678,10 +2762,10 @@

Thread 80, Fiber: 60

0.04 0.00 0.00 - 169251 + 466624 - - MatchData#begin + + String#upcase @@ -2706,38 +2790,12 @@

Thread 80, Fiber: 60

    + 0.04 + 0.04 0.00 0.00 - 0.00 - 0.00 - 39658/466624 - Array#all? - - - - - -   -   - 0.01 - 0.01 - 0.00 - 0.00 - 88464/466624 - Array#any? - - - - - -   -   - 0.03 - 0.03 - 0.00 - 0.00 - 338502/466624 - Array#map + 169251/169251 + <Class::Date>#parse @@ -2749,10 +2807,10 @@

Thread 80, Fiber: 60

0.04 0.00 0.00 - 466624 + 169251 - - String#upcase + + MatchData#begin @@ -2790,8 +2848,8 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.04 + 0.04 0.00 0.00 215243/215245 @@ -2801,10 +2859,10 @@

Thread 80, Fiber: 60

- 0.25% - 0.25% - 0.03 - 0.03 + 0.26% + 0.26% + 0.04 + 0.04 0.00 0.00 215245 @@ -2840,9 +2898,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/276711 - Object#work + ProgressBar::Base#initialize - 90 + 46 @@ -2853,9 +2911,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/276711 - ProgressBar::Base#initialize + Object#work - 46 + 90 @@ -2872,8 +2930,8 @@

Thread 80, Fiber: 60

- 0.24% - 0.24% + 0.25% + 0.25% 0.03 0.03 0.00 @@ -2892,51 +2950,6 @@

Thread 80, Fiber: 60

- - - - - - - - - - - - -   -   - 0.03 - 0.03 - 0.00 - 0.00 - 169251/169251 - Array#map - - - - - - 0.22% - 0.22% - 0.03 - 0.03 - 0.00 - 0.00 - 169251 - - - Date#iso8601 - - - - - - - - - - @@ -2962,8 +2975,8 @@

Thread 80, Fiber: 60

- 0.16% - 0.16% + 0.15% + 0.15% 0.02 0.02 0.00 @@ -3335,10 +3348,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/30768 - ProgressBar::Output#initialize + 4/30768 + String#scan - 13 + @@ -3348,10 +3361,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/30768 - String#scan + 2/30768 + ProgressBar::Output#initialize - + 13 @@ -3515,7 +3528,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Throttle#initialize + ProgressBar::Components::Bar#initialize @@ -3541,7 +3554,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Bar#initialize + ProgressBar::Throttle#initialize @@ -3554,7 +3567,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Rate#initialize + ProgressBar::Calculators::Length#initialize @@ -3567,7 +3580,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Calculators::Length#initialize + ProgressBar::Components::Rate#initialize @@ -3592,8 +3605,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - ProgressBar::Time#initialize + 1/1 + ProgressBar::Components::Title#initialize @@ -3605,8 +3618,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Title#initialize + 2/2 + ProgressBar::Time#initialize @@ -3705,8 +3718,8 @@

Thread 80, Fiber: 60

- 0.06% - 0.06% + 0.05% + 0.05% 0.01 0.01 0.00 @@ -3943,8 +3956,8 @@

Thread 80, Fiber: 60

- 0.03% - 0.03% + 0.02% + 0.02% 0.00 0.00 0.00 @@ -4026,48 +4039,89 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Base#start + 30749/30749 + Array#each - 89 + - -   -   - 0.00 + + 0.02% + 0.02% + 0.00 + 0.00 + 0.00 + 0.00 + 30749 + + + Array#reverse + + + + + + + + + + + + + + + + + + + + + + +   +   0.00 0.00 0.00 - 12/13 - ProgressBar::Base#increment + 0.00 + 30749/30749 + Array#each - 142 + 0.02% - 0.00% + 0.02% 0.00 0.00 0.00 0.00 - 13 + 30749 - - ProgressBar::Base#update_progress + + Array#concat - 226 + + + + + + + + + +     @@ -4075,12 +4129,44 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Output#with_refresh + 30749/30749 + Array#each - 227 + + + 0.02% + 0.02% + 0.00 + 0.00 + 0.00 + 0.00 + 30749 + + + Array#max + + + + + + + + + + + + + + + + + + + + +     @@ -4088,12 +4174,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - ProgressBar::Base#output + 30749/30749 + Array#each - 227 + + + 0.01% + 0.01% + 0.00 + 0.00 + 0.00 + 0.00 + 30749 + + + Array#sum + + + + + + + + + + + + @@ -4110,35 +4219,74 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 30749/30749 - Array#each + 1/13 + ProgressBar::Base#start - + 89 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/13 + ProgressBar::Base#increment + + 142 - 0.02% - 0.02% + 0.01% + 0.00% 0.00 0.00 0.00 0.00 - 30749 + 13 - - Array#max + + ProgressBar::Base#update_progress - + 226 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Output#with_refresh + + 227 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/27 + ProgressBar::Base#output + + 227 + + @@ -4162,7 +4310,7 @@

Thread 80, Fiber: 60

- 0.02% + 0.01% 0.00% 0.00 0.00 @@ -4282,10 +4430,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Base#projector + 1/2 + ProgressBar::Progress#start - 229 + 228 @@ -4295,10 +4443,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/2 - ProgressBar::Progress#start + 13/14 + ProgressBar::Base#projector - 228 + 229 @@ -4388,44 +4536,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 30749/30749 - Array#each + 3/30752 + Object#work - + 90 - - 0.01% - 0.01% - 0.00 - 0.00 - 0.00 - 0.00 - 30749 - - - Array#sum - - - - - - - - - - - - - - - - - - - - -     @@ -4433,7 +4549,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 30749/30749 + 30749/30752 Array#each @@ -4446,10 +4562,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 30749 + 30752 - - Array#reverse + + Array#count @@ -4728,10 +4844,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Throttle#rate + 13/27 + ProgressBar::Output#length_calculator - 16 + 52 @@ -4767,10 +4883,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - ProgressBar::Output#length_calculator + 11/11 + ProgressBar::Throttle#rate - 52 + 16 @@ -4780,64 +4896,6 @@

Thread 80, Fiber: 60

- - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 3/30752 - Object#work - - 90 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 30749/30752 - Array#each - - - - - - 0.01% - 0.01% - 0.00 - 0.00 - 0.00 - 0.00 - 30752 - - - Array#count - - - - - - - - - - - - - - - - - - - @@ -4922,8 +4980,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/29 - ProgressBar::Output#stream + 13/491997 + String#+ 67 @@ -4948,8 +5006,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/491997 - String#+ + 26/29 + ProgressBar::Output#stream 67 @@ -5213,10 +5271,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Format::String#bar_molecule_placeholder_length + 13/169316 + String#gsub! - 13 + 11 @@ -5226,10 +5284,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/169316 - String#gsub! + 13/13 + ProgressBar::Format::String#bar_molecule_placeholder_length - 11 + 13 @@ -5252,10 +5310,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/37 - Integer#+ + 13/26 + Integer#< - 13 + 16 @@ -5265,10 +5323,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - Integer#< + 13/37 + Integer#+ - 16 + 13 @@ -5307,7 +5365,7 @@

Thread 80, Fiber: 60

- 0.01% + 0.00% 0.00% 0.00 0.00 @@ -5454,7 +5512,7 @@

Thread 80, Fiber: 60

0.00 0.00 13/13 - ProgressBar::Base#bar_component + ProgressBar::Base#percentage_component 51 @@ -5467,7 +5525,7 @@

Thread 80, Fiber: 60

0.00 0.00 13/13 - ProgressBar::Base#percentage_component + ProgressBar::Base#bar_component 51 @@ -5614,19 +5672,6 @@

Thread 80, Fiber: 60

81 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Base#rate_component= - - 78 - -     @@ -5648,9 +5693,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - <Class::String>#new + <Class::ProgressBar::Projector>#from_type - 82 + 66 @@ -5661,9 +5706,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - <Class::ProgressBar::Projector>#from_type + <Class::String>#new - 66 + 82 @@ -5712,10 +5757,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#title_component= + 2/215245 + Hash#merge - 75 + 71 @@ -5725,10 +5770,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/215245 - Hash#merge + 1/1 + ProgressBar::Base#timer= - 71 + 52 @@ -5739,9 +5784,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#timer= + ProgressBar::Base#autostart= - 52 + 48 @@ -5752,9 +5797,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#autostart= + Hash#any? - 48 + 53 @@ -5765,9 +5810,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#autofinish= + ProgressBar::Base#title_component= - 49 + 75 @@ -5778,9 +5823,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Hash#any? + ProgressBar::Base#autofinish= - 53 + 49 @@ -5803,10 +5848,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#finished= + 1/276711 + Hash#[]= - 50 + 46 @@ -5817,9 +5862,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#bar_component= + ProgressBar::Base#progressable= - 76 + 69 @@ -5842,10 +5887,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/276711 - Hash#[]= + 1/1 + ProgressBar::Base#finished= - 46 + 50 @@ -5868,8 +5913,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Base#timer + 1/14 + ProgressBar::Base#projector 71 @@ -5882,9 +5927,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#progressable= + ProgressBar::Base#rate_component= - 69 + 78 @@ -5894,8 +5939,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Base#projector + 1/29 + ProgressBar::Base#timer 71 @@ -5908,9 +5953,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Outputs::Tty#resolve_format + ProgressBar::Base#bar_component= - 82 + 76 @@ -5920,8 +5965,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/27 - ProgressBar::Base#output + 1/1 + ProgressBar::Outputs::Tty#resolve_format 82 @@ -5939,6 +5984,19 @@

Thread 80, Fiber: 60

84 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/27 + ProgressBar::Base#output + + 82 + + @@ -5955,10 +6013,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Output#with_refresh + 1/1 + ProgressBar::Base#initialize - 229 + 84 @@ -5968,16 +6026,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 1 - - ProgressBar::Projectors::SmoothedAverage#increment + + ProgressBar::Base#start - 28 + 87 @@ -5991,10 +6049,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/14 - ProgressBar::Projectors::SmoothedAverage#progress= + 1/13 + ProgressBar::Base#update_progress - 29 + 89 @@ -6004,10 +6062,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Projectors::SmoothedAverage#progress + 1/14 + ProgressBar::Timer#start - 29 + 88 @@ -6017,10 +6075,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - Integer#+ + 1/29 + ProgressBar::Base#timer - 29 + 88 @@ -6039,10 +6097,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 13/13 + ProgressBar::Throttle#choke - 84 + 52 @@ -6052,16 +6110,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 13 - - ProgressBar::Base#start + + ProgressBar::Calculators::Length#length_changed? - 87 + 18 @@ -6075,10 +6133,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Base#update_progress + 13/13 + ProgressBar::Calculators::Length#calculate_length - 89 + 20 @@ -6088,10 +6146,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Timer#start + 13/17024280 + BasicObject#!= - 88 + 22 @@ -6101,92 +6159,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Base#timer - - 88 - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Throttle#choke - - 52 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 13 - - - ProgressBar::Calculators::Length#length_changed? - - - - - - 18 - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Calculators::Length#calculate_length - - 20 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/17024280 - BasicObject#!= - - 22 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/40 - ProgressBar::Calculators::Length#current_length + 26/40 + ProgressBar::Calculators::Length#current_length 19 @@ -6282,64 +6256,6 @@

Thread 80, Fiber: 60

- - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Format::Molecule#lookup_value - - 56 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 13 - - - ProgressBar::Components::Time#estimated_with_friendly_oob - - - - - - 43 - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Components::Time#estimated_with_elapsed_fallback - - 44 - - - - - - - - - @@ -6565,6 +6481,19 @@

Thread 80, Fiber: 60

18 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/49 + ProgressBar::Timer#time + + 20 + +     @@ -6578,6 +6507,15 @@

Thread 80, Fiber: 60

20 + + + + + + + + +     @@ -6585,10 +6523,72 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/49 - ProgressBar::Timer#time + 12/12 + ProgressBar::Output#with_refresh - 20 + 229 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 12 + + + ProgressBar::Projectors::SmoothedAverage#increment + + + + + + 28 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/14 + ProgressBar::Projectors::SmoothedAverage#progress= + + 29 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/13 + ProgressBar::Projectors::SmoothedAverage#progress + + 29 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/37 + Integer#+ + + 29 @@ -6656,10 +6656,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/113 - ProgressBar::Progress#progress + 12/37 + Integer#+ - 32 + 38 @@ -6669,8 +6669,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/125 - Integer#== + 24/205 + ProgressBar::Progress#total 32 @@ -6682,10 +6682,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - Integer#+ + 24/125 + Integer#== - 38 + 32 @@ -6695,8 +6695,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/205 - ProgressBar::Progress#total + 36/113 + ProgressBar::Progress#progress 32 @@ -7335,10 +7335,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/37 - ProgressBar::Base#stopped? + 13/37 + ProgressBar::Output#with_refresh - 124 + 230 @@ -7348,10 +7348,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/37 - ProgressBar::Output#with_refresh + 24/37 + ProgressBar::Base#stopped? - 230 + 124 @@ -7671,9 +7671,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/21 - <Class::ProgressBar::Projector>#from_type + ProgressBar::Throttle#initialize - 11 + 12 @@ -7684,9 +7684,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/21 - ProgressBar::Throttle#initialize + <Class::ProgressBar::Projector>#from_type - 12 + 11 @@ -8003,8 +8003,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Kernel#is_a? + 2/799798 + Hash#[] 21 @@ -8016,8 +8016,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 - Hash#[] + 1/1 + Kernel#is_a? 21 @@ -8714,8 +8714,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/17 - ProgressBar::Projectors::SmoothedAverage#projection= + 14/14 + Kernel#class 44 @@ -8740,8 +8740,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - Kernel#class + 14/17 + ProgressBar::Projectors::SmoothedAverage#projection= 44 @@ -8753,10 +8753,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/57 - ProgressBar::Projectors::SmoothedAverage#samples + 14/14 + ProgressBar::Projectors::SmoothedAverage#strength - 43 + 44 @@ -8766,10 +8766,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - ProgressBar::Projectors::SmoothedAverage#strength + 14/57 + ProgressBar::Projectors::SmoothedAverage#samples - 44 + 43 @@ -8902,8 +8902,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/49 - ProgressBar::Timer#time + 36/87 + ProgressBar::Timer#stopped_at 60 @@ -8915,8 +8915,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/87 - ProgressBar::Timer#stopped_at + 34/49 + ProgressBar::Timer#time 60 @@ -9083,6 +9083,64 @@

Thread 80, Fiber: 60

+ + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Format::Molecule#lookup_value + + 56 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Components::Time#estimated_with_friendly_oob + + + + + + 43 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Components::Time#estimated_with_elapsed_fallback + + 44 + + + + + + + + + @@ -9529,10 +9587,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/39 - ProgressBar::Components::Bar#progress + 13/799798 + Hash#[] - 26 + 28 @@ -9542,10 +9600,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/799798 - Hash#[] + 13/39 + ProgressBar::Components::Bar#progress - 28 + 26 @@ -9697,10 +9755,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/25 - Integer#> + 11/86 + ProgressBar::Components::Time#timer - 73 + 71 @@ -9710,10 +9768,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/86 - ProgressBar::Components::Time#timer + 11/25 + Integer#> - 71 + 73 @@ -9939,10 +9997,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25/205 - ProgressBar::Progress#unknown? + 28/205 + ProgressBar::Progress#progress= - 90 + 56 @@ -9952,10 +10010,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 39/205 - ProgressBar::Progress#percentage_completed_with_precision + 25/205 + ProgressBar::Progress#unknown? - 98 + 90 @@ -9965,10 +10023,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/205 - ProgressBar::Progress#increment + 39/205 + ProgressBar::Progress#percentage_completed_with_precision - 32 + 98 @@ -9978,10 +10036,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/205 - ProgressBar::Progress#progress= + 24/205 + ProgressBar::Progress#increment - 56 + 32 @@ -10085,8 +10143,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/205 - ProgressBar::Progress#total + 14/25 + Integer#> 56 @@ -10098,8 +10156,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/25 - Integer#> + 28/205 + ProgressBar::Progress#total 56 @@ -10172,10 +10230,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/113 - ProgressBar::Progress#percentage_completed + 25/113 + ProgressBar::Progress#unknown? - 82 + 90 @@ -10185,10 +10243,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25/113 - ProgressBar::Progress#unknown? + 26/113 + ProgressBar::Progress#percentage_completed - 90 + 82 @@ -10444,9 +10502,9 @@

Thread 80, Fiber: 60

0.00 0.00 13/39 - ProgressBar::Outputs::Tty#eol + ProgressBar::Outputs::Tty#bar_update_string - 28 + 16 @@ -10457,9 +10515,9 @@

Thread 80, Fiber: 60

0.00 0.00 13/39 - ProgressBar::Outputs::Tty#bar_update_string + ProgressBar::Outputs::Tty#eol - 16 + 28 @@ -10622,9 +10680,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Time#progress= + ProgressBar::Components::Time#timer= - 23 + 22 @@ -10635,9 +10693,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Time#timer= + ProgressBar::Components::Time#projector= - 22 + 24 @@ -10648,9 +10706,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Time#projector= + ProgressBar::Components::Time#progress= - 24 + 23 @@ -10719,9 +10777,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Kernel#lambda + ProgressBar::Components::Rate#progress= - 9 + 11 @@ -10732,9 +10790,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Rate#progress= + Kernel#lambda - 11 + 9 @@ -10744,8 +10802,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/799798 - Hash#[] + 1/1 + ProgressBar::Components::Rate#rate_scale= 9 @@ -10757,8 +10815,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Rate#rate_scale= + 3/799798 + Hash#[] 9 @@ -10899,10 +10957,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 5/799798 - Hash#[] + 1/1 + ProgressBar::Components::Bar#progress_mark= - 18 + 19 @@ -10925,10 +10983,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Components::Bar#length= + 1/1 + ProgressBar::Components::Bar#upa_steps= - 22 + 18 @@ -10938,10 +10996,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#remainder_mark= + 1/14 + ProgressBar::Components::Bar#length= - 20 + 22 @@ -10951,10 +11009,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#progress_mark= + 5/799798 + Hash#[] - 19 + 18 @@ -10965,9 +11023,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Bar#upa_steps= + ProgressBar::Components::Bar#remainder_mark= - 18 + 20 @@ -11315,10 +11373,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/37 - <Class::ProgressBar::Format::Formatter>#process + 12/37 + ProgressBar::Projectors::SmoothedAverage#increment - 13 + 29 @@ -11328,10 +11386,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - ProgressBar::Projectors::SmoothedAverage#increment + 13/37 + <Class::ProgressBar::Format::Formatter>#process - 29 + 13 @@ -11573,10 +11631,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/27 - ProgressBar::Timer#start - - 13 + 13/27 + ProgressBar::Timer#reset + + 44 @@ -11586,10 +11644,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - ProgressBar::Timer#reset + 14/27 + ProgressBar::Timer#start - 44 + 13 @@ -11889,10 +11947,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Calculators::Length#terminal_width + 37/37 + ProgressBar::Throttle#choke - 46 + 16 @@ -11902,34 +11960,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 37 - - ProgressBar::Calculators::Length#dynamic_width + + ProgressBar::Throttle#timer - 56 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object - - 58 - + + + + + + + +   @@ -11938,37 +11992,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - IO#tty? + 11/11 + ProgressBar::Throttle#choke - 57 + 16 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/21 - Kernel#respond_to? - - 57 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 11 + + + ProgressBar::Throttle#rate + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 39/52 - ProgressBar::Calculators::Length#output - - 57 - + + @@ -11986,10 +12037,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated + 1/1 + ProgressBar::Projectors::SmoothedAverage#initialize - 67 + 14 @@ -11999,34 +12050,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 1 - - ProgressBar::Components::Time#estimated_seconds_remaining + + ProgressBar::Projectors::SmoothedAverage#strength= - 94 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/36 - ProgressBar::Timer#elapsed_seconds - - 97 - + + + + + + + +   @@ -12035,12 +12082,44 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Projectors::SmoothedAverage#none? + 14/14 + ProgressBar::Projectors::SmoothedAverage#progress= - 95 + 44 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 14 + + + ProgressBar::Projectors::SmoothedAverage#strength + + + + + + + + + + + + + + + + + + + + +     @@ -12048,10 +12127,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Progress#none? + 1/2 + ProgressBar::Output#with_refresh - 95 + 229 @@ -12061,12 +12140,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 - ProgressBar::Progress#unknown? + 1/2 + ProgressBar::Projectors::SmoothedAverage#initialize - 95 + 16 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 2 + + + ProgressBar::Projectors::SmoothedAverage#start + + + + + + 19 + + + + + +     @@ -12074,10 +12176,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Timer#reset? + 2/14 + ProgressBar::Projectors::SmoothedAverage#progress= - 95 + 21 @@ -12087,10 +12189,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - Float#round + 1/13 + ProgressBar::Projectors::SmoothedAverage#progress - 97 + 21 @@ -12100,10 +12202,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/51 - ProgressBar::Timer#stopped? + 2/16 + Array#[]= - 95 + 21 @@ -12113,10 +12215,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/47 - ProgressBar::Components::Time#progress + 2/57 + ProgressBar::Projectors::SmoothedAverage#samples - 95 + 21 @@ -12126,10 +12228,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 33/86 - ProgressBar::Components::Time#timer + 2/799798 + Hash#[] - 95 + 21 @@ -12139,12 +12241,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 23/23 - ProgressBar::Components::Time#projector + 2/17 + ProgressBar::Projectors::SmoothedAverage#projection= - 95 + 20 + + + + + + + + +     @@ -12152,400 +12263,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/23 - ProgressBar::Projectors::SmoothedAverage#projection + 1/1 + ProgressBar::Projectors::SmoothedAverage#initialize - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/89 - Integer#/ - - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/25 - Float#- - - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/205 - ProgressBar::Progress#total - - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/38 - Float#* - - 97 - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 37/37 - ProgressBar::Throttle#choke - - 16 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 37 - - - ProgressBar::Throttle#timer - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/11 - ProgressBar::Throttle#choke - - 16 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 11 - - - ProgressBar::Throttle#rate - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Projectors::SmoothedAverage#initialize - - 14 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - ProgressBar::Projectors::SmoothedAverage#strength= - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/14 - ProgressBar::Projectors::SmoothedAverage#progress= - - 44 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 14 - - - ProgressBar::Projectors::SmoothedAverage#strength - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/2 - ProgressBar::Output#with_refresh - - 229 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/2 - ProgressBar::Projectors::SmoothedAverage#initialize - - 16 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 2 - - - ProgressBar::Projectors::SmoothedAverage#start - - - - - - 19 - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/14 - ProgressBar::Projectors::SmoothedAverage#progress= - - 21 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/13 - ProgressBar::Projectors::SmoothedAverage#progress - - 21 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/16 - Array#[]= - - 21 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/57 - ProgressBar::Projectors::SmoothedAverage#samples - - 21 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/799798 - Hash#[] - - 21 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/17 - ProgressBar::Projectors::SmoothedAverage#projection= - - 20 - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Projectors::SmoothedAverage#initialize - - 12 + 12 @@ -12613,10 +12334,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/57 - ProgressBar::Projectors::SmoothedAverage#absolute + 13/57 + ProgressBar::Projectors::SmoothedAverage#progress - 67 + 33 @@ -12626,10 +12347,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/57 - ProgressBar::Projectors::SmoothedAverage#progress + 28/57 + ProgressBar::Projectors::SmoothedAverage#absolute - 33 + 67 @@ -12671,10 +12392,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/17 - ProgressBar::Projectors::SmoothedAverage#start + 1/17 + ProgressBar::Projectors::SmoothedAverage#initialize - 20 + 13 @@ -12684,10 +12405,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/17 - ProgressBar::Projectors::SmoothedAverage#initialize + 2/17 + ProgressBar::Projectors::SmoothedAverage#start - 13 + 20 @@ -12778,8 +12499,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/57 - ProgressBar::Projectors::SmoothedAverage#samples + 28/1369396 + Array#[] 67 @@ -12791,8 +12512,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/1369396 - Array#[] + 14/40 + Integer#- 67 @@ -12804,8 +12525,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/40 - Integer#- + 28/57 + ProgressBar::Projectors::SmoothedAverage#samples 67 @@ -12862,8 +12583,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - NilClass#nil? + 1/113 + ProgressBar::Progress#progress 65 @@ -12875,8 +12596,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/113 - ProgressBar::Progress#progress + 1/1 + NilClass#nil? 65 @@ -13021,9 +12742,9 @@

Thread 80, Fiber: 60

0.00 0.00 13/27 - ProgressBar::Throttle#choke + ProgressBar::Output#length - 52 + 42 @@ -13034,9 +12755,9 @@

Thread 80, Fiber: 60

0.00 0.00 13/27 - ProgressBar::Output#length + ProgressBar::Throttle#choke - 42 + 52 @@ -13179,10 +12900,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Output#stream= + 3/799798 + Hash#[] - 12 + 11 @@ -13192,10 +12913,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/799798 - Hash#[] + 1/1 + ProgressBar::Output#stream= - 11 + 12 @@ -14727,10 +14448,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Output#initialize + 2/29 + ProgressBar::Outputs::Tty#clear - 14 + 11 @@ -14740,10 +14461,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/29 - ProgressBar::Outputs::Tty#clear + 1/29 + ProgressBar::Output#initialize - 11 + 14 @@ -15711,10 +15432,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Calculators::Length#current_length= + 1/1 + ProgressBar::Calculators::Length#output= - 11 + 10 @@ -15724,10 +15445,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Calculators::Length#output= + 1/14 + ProgressBar::Calculators::Length#current_length= - 10 + 11 @@ -16337,7 +16058,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - #<Class:0x0000000104922ef8>#[] + #<Class:0x0000000100662f00>#[] 34 @@ -16349,6 +16070,103 @@

Thread 80, Fiber: 60

+ + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Calculators::Length#terminal_width + + 46 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Calculators::Length#dynamic_width + + + + + + 56 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object + + 58 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + IO#tty? + + 57 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/21 + Kernel#respond_to? + + 57 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 39/52 + ProgressBar::Calculators::Length#output + + 57 + + + + + + + + + @@ -16510,8 +16328,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/27 - String#* + 1/14 + ProgressBar::Calculators::Length#length 38 @@ -16523,8 +16341,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Calculators::Length#length + 1/27 + String#* 38 @@ -17141,8 +16959,8 @@

Thread 80, Fiber: 60

0.00 1 - - #<Class:0x0000000104922ef8>#[] + + #<Class:0x0000000100662f00>#[] @@ -18219,8 +18037,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - Float#floor + 13/38 + Float#* 101 @@ -18232,10 +18050,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/89 - Kernel#nil? + 13/113 + ProgressBar::Progress#progress - 99 + 101 @@ -18245,8 +18063,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/38 - Float#* + 13/80 + Integer#* 101 @@ -18258,8 +18076,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/80 - Integer#* + 13/27 + Float#floor 101 @@ -18271,10 +18089,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/113 - ProgressBar::Progress#progress + 13/125 + Integer#== - 101 + 98 @@ -18284,10 +18102,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/125 - Integer#== + 13/89 + Kernel#nil? - 98 + 99 @@ -18716,8 +18534,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25/113 - ProgressBar::Progress#progress + 25/205 + ProgressBar::Progress#total 90 @@ -18729,8 +18547,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25/205 - ProgressBar::Progress#total + 25/113 + ProgressBar::Progress#progress 90 @@ -18835,10 +18653,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 33/86 - ProgressBar::Components::Time#estimated_seconds_remaining + 42/86 + ProgressBar::Components::Time#elapsed - 95 + 81 @@ -18848,10 +18666,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 42/86 - ProgressBar::Components::Time#elapsed + 33/86 + ProgressBar::Components::Time#estimated_seconds_remaining - 81 + 95 @@ -19142,8 +18960,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Bar#remainder_mark + 13/27 + String#* 82 @@ -19155,8 +18973,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - String#* + 13/39 + ProgressBar::Components::Bar#length 82 @@ -19168,8 +18986,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/39 - ProgressBar::Components::Bar#length + 13/13 + ProgressBar::Components::Bar#remainder_mark 82 @@ -19928,13 +19746,239 @@

Thread 80, Fiber: 60

- 91 + 91 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/26 + ProgressBar::Progress#percentage_completed + + 92 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/39 + ProgressBar::Components::Bar#length + + 92 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/89 + Integer#/ + + 92 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/26 + Integer#floor + + 92 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/39 + ProgressBar::Components::Bar#progress + + 92 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/80 + Integer#* + + 92 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 50/50 + ProgressBar::Timer#divide_seconds + + 68 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 50 + + + Integer#divmod + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 4/4 + String#scan + + + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 4 + + + String#[] + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/26 + ProgressBar::Components::Bar#completed_length + + 92 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 26 + + + ProgressBar::Progress#percentage_completed + + + + + + 73 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 78/205 + ProgressBar::Progress#total + + 74 + +     @@ -19943,9 +19987,9 @@

Thread 80, Fiber: 60

0.00 0.00 26/26 - ProgressBar::Progress#percentage_completed + Integer#to_i - 92 + 82 @@ -19955,10 +19999,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/39 - ProgressBar::Components::Bar#length + 26/113 + ProgressBar::Progress#progress - 92 + 82 @@ -19968,10 +20012,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/89 - Integer#/ + 26/80 + Integer#* - 92 + 82 @@ -19981,10 +20025,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/26 - Integer#floor + 26/89 + Integer#/ - 92 + 82 @@ -19994,10 +20038,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/39 - ProgressBar::Components::Bar#progress + 26/125 + Integer#== - 92 + 75 @@ -20007,10 +20051,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/80 - Integer#* + 26/89 + Kernel#nil? - 92 + 74 @@ -20029,10 +20073,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 50/50 - ProgressBar::Timer#divide_seconds + 12/12 + ProgressBar::Components::Time#estimated - 68 + 67 @@ -20042,30 +20086,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 50 + 12 - - Integer#divmod + + ProgressBar::Components::Time#estimated_seconds_remaining - + 94 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/36 + ProgressBar::Timer#elapsed_seconds + + 97 +   @@ -20074,43 +20122,50 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/4 - String#scan + 11/11 + ProgressBar::Progress#none? - + 95 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 4 - - - String#[] - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/12 + ProgressBar::Projectors::SmoothedAverage#none? + + 95 + - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/25 + ProgressBar::Progress#unknown? + + 95 + - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/11 + Float#round + + 97 +   @@ -20119,34 +20174,37 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/26 - ProgressBar::Components::Bar#completed_length + 33/86 + ProgressBar::Components::Time#timer - 92 + 95 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 26 - - - ProgressBar::Progress#percentage_completed - - - - - - 73 - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/11 + ProgressBar::Timer#reset? + + 95 + - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/51 + ProgressBar::Timer#stopped? + + 95 +   @@ -20155,10 +20213,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 78/205 - ProgressBar::Progress#total + 34/47 + ProgressBar::Components::Time#progress - 74 + 95 @@ -20168,10 +20226,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/26 - Integer#to_i + 23/23 + ProgressBar::Components::Time#projector - 82 + 95 @@ -20181,10 +20239,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/80 - Integer#* + 11/23 + ProgressBar::Projectors::SmoothedAverage#projection - 82 + 97 @@ -20194,10 +20252,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/89 - Kernel#nil? + 11/25 + Float#- - 74 + 97 @@ -20207,10 +20265,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/125 - Integer#== + 11/205 + ProgressBar::Progress#total - 75 + 97 @@ -20220,10 +20278,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/89 - Integer#/ + 11/38 + Float#* - 82 + 97 @@ -20233,10 +20291,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/113 - ProgressBar::Progress#progress + 11/89 + Integer#/ - 82 + 97 @@ -20336,8 +20394,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/111 - ProgressBar::Timer#started_at + 11/28 + BasicObject#! 49 @@ -20349,8 +20407,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/28 - BasicObject#! + 11/111 + ProgressBar::Timer#started_at 49 diff --git a/task-1.rb b/task-1.rb index 02d3d7c2..14ff66eb 100644 --- a/task-1.rb +++ b/task-1.rb @@ -66,7 +66,7 @@ def work(file_name:) file_lines.each do |line| cols = line.split(',') users.concat([parse_user(line)]) if cols[0] == 'user' - sessions = sessions + [parse_session(line)] if cols[0] == 'session' + sessions.concat([parse_session(line)]) if cols[0] == 'session' end progressbar.increment From 5b80d94ef335625e5aebc07deff965bbf25befb3 Mon Sep 17 00:00:00 2001 From: Araslanov Evgeny Date: Sun, 26 Jan 2025 21:17:51 +0500 Subject: [PATCH 6/7] Optimization #4 - used Set for uniqueBrowsers --- case-study.md | 8 +- prof_reports/ruby_prof_callstack_after.html | 1880 +-- prof_reports/ruby_prof_callstack_before.html | 1796 ++- prof_reports/ruby_prof_graph_after.html | 10140 +++++++++-------- prof_reports/ruby_prof_graph_before.html | 7464 ++++++------ task-1.rb | 4 +- 6 files changed, 10836 insertions(+), 10456 deletions(-) diff --git a/case-study.md b/case-study.md index a9e9413d..57e9a26b 100644 --- a/case-study.md +++ b/case-study.md @@ -42,7 +42,13 @@ ### Ваша находка №3 - При объёме данных в 200к строк CallStack показал что программа 56.92% времени тратит на Array#+. С помощью Graph стало понятно что много времени тратиться на формирования списка сессий (sessions). - Рекомундуется использовать Array#concat (https://github.com/fastruby/fast-ruby?tab=readme-ov-file#arrayconcat-vs-array-code) -- Время выполнения программы уменьшилось с ~14 секунд до ~6 секунды, при входных данных в 200к строк. Время выполнения программы на большом объёме данных больше 30 секунд. +- Время выполнения программы уменьшилось с ~14 секунд до ~6 секунд, при входных данных в 200к строк. Время выполнения программы на большом объёме данных больше 30 секунд. +- Отчет профилировщика стал указывать на другие проблемы, главная точкой роста изменилась. + +### Ваша находка №4 +- При объёме данных в 400к строк CallStack показал что программа 52.94% времени тратит на Array#all?. С помощью Graph стало понятно что много времени тратиться на проверку уникальности браузера (uniqueBrowsers). +- Для этих данных лучше всего подойдет Set. +- Время выполнения программы уменьшилось с ~15 секунд до ~7 секунд, при входных данных в 400к строк. Время выполнения программы на большом объёме данных больше 30 секунд. - Отчет профилировщика стал указывать на другие проблемы, главная точкой роста изменилась. ### Ваша находка №X diff --git a/prof_reports/ruby_prof_callstack_after.html b/prof_reports/ruby_prof_callstack_after.html index 92c40c31..190f4b4f 100644 --- a/prof_reports/ruby_prof_callstack_after.html +++ b/prof_reports/ruby_prof_callstack_after.html @@ -663,7 +663,7 @@
- Call tree for application task-1-ruby-prof-callstack.rb
Generated on 2025-01-26 20:55:11 +0500 + Call tree for application task-1-ruby-prof-callstack.rb
Generated on 2025-01-26 21:14:45 +0500 with options {}
@@ -693,7 +693,7 @@
- Thread: 80, Fiber: 60 (100.00% ~ 6.727824849076569) + Thread: 80, Fiber: 60 (100.00% ~ 7.4524629903025925)
@@ -178,7 +178,7 @@

Wall_time

80 60 - 13.835856187157333 + 15.182634805794805 @@ -209,10 +209,10 @@

Thread 80, Fiber: 60

100.00% 0.00% - 13.84 + 15.18 0.00 0.00 - 13.84 + 15.18 1 @@ -232,10 +232,10 @@

Thread 80, Fiber: 60

    - 13.84 + 15.18 0.00 0.00 - 13.83 + 15.18 1/1 Object#work @@ -254,10 +254,10 @@

Thread 80, Fiber: 60

    - 13.84 + 15.18 0.00 0.00 - 13.83 + 15.18 1/1 [global]# @@ -266,11 +266,11 @@

Thread 80, Fiber: 60

100.00% - 0.01% - 13.84 + 0.02% + 15.18 0.00 0.00 - 13.83 + 15.18 1 @@ -290,10 +290,10 @@

Thread 80, Fiber: 60

    - 12.37 - 0.21 + 11.76 + 0.38 0.00 - 12.16 + 11.38 3/39 Array#each @@ -303,10 +303,10 @@

Thread 80, Fiber: 60

    - 1.24 + 2.91 0.00 0.00 - 1.24 + 2.91 7/7 Object#collect_stats_from_users @@ -316,10 +316,10 @@

Thread 80, Fiber: 60

    - 0.09 + 0.22 0.00 0.00 - 0.09 + 0.22 1/1 Object#select_sessions_for_users @@ -329,11 +329,11 @@

Thread 80, Fiber: 60

    - 0.04 - 0.03 + 0.11 + 0.08 0.00 - 0.01 - 2/338241 + 0.03 + 2/677019 Array#map 104 @@ -342,8 +342,8 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 + 0.09 + 0.09 0.00 0.00 1/1 @@ -355,11 +355,11 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 + 0.04 + 0.04 0.00 0.00 - 1/400001 + 1/800001 String#split 60 @@ -368,11 +368,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.03 + 0.03 0.00 0.00 - 1/61499 + 1/123095 Array#sort 104 @@ -381,8 +381,8 @@

Thread 80, Fiber: 60

    - 0.00 - 0.00 + 0.01 + 0.01 0.00 0.00 1/1 @@ -450,7 +450,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/30750 + 1/61548 Array#join 104 @@ -463,7 +463,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/30752 + 3/61550 Array#count 90 @@ -476,10 +476,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/276711 - Hash#[]= + 1/34856637 + String#== - 90 + 57 @@ -489,10 +489,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/17424268 - String#== + 1/553808 + Hash#[]= - 57 + 90 @@ -533,10 +533,10 @@

Thread 80, Fiber: 60

    - 0.09 - 0.05 + 0.22 + 0.12 0.00 - 0.04 + 0.10 1/39 Enumerable#each_with_object @@ -546,10 +546,10 @@

Thread 80, Fiber: 60

    - 1.24 - 0.26 + 2.91 + 0.66 0.00 - 0.99 + 2.25 7/39 Object#collect_stats_from_users @@ -559,10 +559,10 @@

Thread 80, Fiber: 60

    - 12.37 - 0.21 + 11.76 + 0.38 0.00 - 12.16 + 11.38 3/39 Object#work @@ -570,12 +570,12 @@

Thread 80, Fiber: 60

- 99.11% - 3.77% - 13.71 - 0.52 + 98.04% + 7.59% + 14.89 + 1.15 0.00 - 13.19 + 13.73 39 @@ -595,25 +595,25 @@

Thread 80, Fiber: 60

    - 7.82 - 7.82 + 7.89 + 3.30 0.00 - 0.00 - 200200/200200 - Array#+ + 4.59 + 400000/400000 + Array#all? - 69 + 96     - 3.92 - 1.64 + 2.43 + 2.43 0.00 - 2.29 - 200000/200000 - Array#all? + 0.00 + 61747/61747 + Array#+ 96 @@ -621,11 +621,11 @@

Thread 80, Fiber: 60

    - 0.67 - 0.19 + 1.50 + 0.47 0.00 - 0.48 - 338239/338241 + 1.03 + 677017/677019 Array#map 135 @@ -634,11 +634,11 @@

Thread 80, Fiber: 60

    - 0.24 - 0.14 + 0.61 + 0.35 0.00 - 0.10 - 169251/169251 + 0.26 + 338453/338453 Object#parse_session 69 @@ -647,11 +647,11 @@

Thread 80, Fiber: 60

    - 0.08 - 0.08 + 0.23 + 0.23 0.00 0.00 - 200000/400001 + 400000/800001 String#split 67 @@ -660,11 +660,11 @@

Thread 80, Fiber: 60

    - 0.08 - 0.08 + 0.21 + 0.21 0.00 0.00 - 799737/799798 + 1600111/1600172 Hash#[] 119 @@ -673,11 +673,11 @@

Thread 80, Fiber: 60

    - 0.05 - 0.03 + 0.12 + 0.08 0.00 - 0.02 - 61498/61499 + 0.04 + 123094/123095 Array#sort 147 @@ -686,11 +686,11 @@

Thread 80, Fiber: 60

    - 0.05 - 0.05 + 0.12 + 0.12 0.00 0.00 - 491984/491997 + 984752/984765 String#+ 40 @@ -699,11 +699,24 @@

Thread 80, Fiber: 60

    + 0.08 + 0.08 + 0.00 + 0.00 + 553806/553808 + Hash#[]= + + 48 + + + +   +   + 0.08 0.04 - 0.03 0.00 - 0.01 - 30749/30749 + 0.04 + 61547/61547 Object#parse_user 68 @@ -712,11 +725,11 @@

Thread 80, Fiber: 60

    - 0.04 - 0.02 + 0.08 + 0.03 0.00 - 0.02 - 30749/30749 + 0.05 + 61547/61547 Array#any? 153 @@ -725,11 +738,11 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 + 0.08 + 0.08 0.00 0.00 - 215243/215245 + 430829/430831 Hash#merge 129 @@ -738,24 +751,24 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 - 0.00 + 0.05 + 0.05 0.00 - 276709/276711 - Hash#[]= + 0.01 + 61547/61566 + Class#new - 48 + 120     - 0.02 - 0.02 + 0.05 + 0.05 0.00 0.00 - 400000/17424268 + 800000/34856637 String#== 68 @@ -764,11 +777,11 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 + 0.05 + 0.05 0.00 0.00 - 430486/430486 + 861658/861658 User#attributes 40 @@ -777,11 +790,11 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 + 0.04 + 0.04 0.00 0.00 - 400000/1369396 + 800000/2738598 Array#[] 68 @@ -790,50 +803,50 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.03 + 0.03 0.00 0.00 - 215243/215243 - User#sessions + 400000/400000 + Array#concat - 129 + 68     - 0.01 - 0.01 + 0.03 + 0.03 0.00 0.00 - 169251/169255 - Array#<< + 430829/430829 + User#sessions - 49 + 129     - 0.01 - 0.01 + 0.02 + 0.02 0.00 0.00 - 30749/30768 - Class#new + 338453/338457 + Array#<< - 120 + 49     - 0.01 - 0.01 + 0.02 + 0.02 0.00 0.00 - 30749/30750 + 61547/61548 Array#join 147 @@ -842,11 +855,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.02 + 0.02 0.00 0.00 - 61497/61497 + 123094/123094 Integer#to_s 135 @@ -855,40 +868,27 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 30749/30749 - Array#reverse - - 165 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 30749/30749 - Array#concat + 61547/61547 + Array#max - 68 + 141     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 30749/30749 - Array#max + 61547/61547 + Array#reverse - 141 + 165 @@ -898,7 +898,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 30749/30749 + 61547/61547 Array#sum 135 @@ -911,7 +911,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 30749/30752 + 61547/61550 Array#count 129 @@ -937,7 +937,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 52/169316 + 52/338518 String#gsub! 8 @@ -956,19 +956,6 @@

Thread 80, Fiber: 60

8 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - NilClass#to_s - - 141 - -     @@ -1007,69 +994,24 @@

Thread 80, Fiber: 60

    - 7.82 - 7.82 - 0.00 - 0.00 - 200200/200200 - Array#each - - - - - - 56.54% - 56.54% - 7.82 - 7.82 - 0.00 - 0.00 - 200200 - - - Array#+ - - - - - - - - - - - - - - - - - - - - - - -   -   - 3.92 - 1.64 + 7.89 + 3.30 0.00 - 2.29 - 200000/200000 + 4.59 + 400000/400000 Array#each - 28.36% - 11.84% - 3.92 - 1.64 + 51.94% + 21.71% + 7.89 + 3.30 0.00 - 2.29 - 200000 + 4.59 + 400000 Array#all? @@ -1088,11 +1030,11 @@

Thread 80, Fiber: 60

    - 2.28 - 1.51 + 4.57 + 3.03 0.00 - 0.76 - 17024267/17024280 + 1.54 + 34056636/34056649 BasicObject#!= 96 @@ -1105,7 +1047,7 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 39658/128135 + 79403/255947 String#=~ 159 @@ -1114,11 +1056,11 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 39658/466624 + 79403/932840 String#upcase 159 @@ -1140,7 +1082,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/17024280 + 13/34056649 ProgressBar::Calculators::Length#length_changed? 22 @@ -1149,24 +1091,24 @@

Thread 80, Fiber: 60

    - 2.28 - 1.51 + 4.57 + 3.03 0.00 - 0.76 - 17024267/17024280 + 1.54 + 34056636/34056649 Array#all? - 16.45% - 10.95% - 2.28 - 1.51 + 30.10% + 19.92% + 4.57 + 3.03 0.00 - 0.76 - 17024280 + 1.54 + 34056649 BasicObject#!= @@ -1185,11 +1127,11 @@

Thread 80, Fiber: 60

    - 0.76 - 0.76 + 1.54 + 1.54 0.00 0.00 - 17024267/17424268 + 34056636/34856637 String#== @@ -1202,8 +1144,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/125 - Integer#== + 1/1 + BasicObject#== @@ -1215,8 +1157,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - BasicObject#== + 12/125 + Integer#== @@ -1233,10 +1175,10 @@

Thread 80, Fiber: 60

    - 1.24 + 2.91 0.00 0.00 - 1.24 + 2.91 7/7 Object#work @@ -1244,12 +1186,12 @@

Thread 80, Fiber: 60

- 8.99% + 19.16% 0.00% - 1.24 + 2.91 0.00 0.00 - 1.24 + 2.91 7 @@ -1269,10 +1211,10 @@

Thread 80, Fiber: 60

    - 1.24 - 0.26 + 2.91 + 0.66 0.00 - 0.99 + 2.25 7/39 Array#each @@ -1291,53 +1233,27 @@

Thread 80, Fiber: 60

    + 2.43 + 2.43 0.00 0.00 - 0.00 - 0.00 - 1/17424268 - Object#work - - 57 - - - -   -   - 0.02 - 0.02 - 0.00 - 0.00 - 400000/17424268 + 61747/61747 Array#each - -   -   - 0.76 - 0.76 - 0.00 - 0.00 - 17024267/17424268 - BasicObject#!= - - - - - 5.68% - 5.68% - 0.79 - 0.79 + 15.98% + 15.98% + 2.43 + 2.43 0.00 0.00 - 17424268 + 61747 - - String#== + + Array#+ @@ -1362,11 +1278,11 @@

Thread 80, Fiber: 60

    - 0.04 - 0.03 + 0.11 + 0.08 0.00 - 0.01 - 2/338241 + 0.03 + 2/677019 Object#work 104 @@ -1375,24 +1291,24 @@

Thread 80, Fiber: 60

    - 0.67 - 0.19 + 1.50 + 0.47 0.00 - 0.48 - 338239/338241 + 1.03 + 677017/677019 Array#each - 5.16% - 1.56% - 0.71 - 0.22 + 10.62% + 3.60% + 1.61 + 0.55 0.00 - 0.50 - 338241 + 1.07 + 677019 Array#map @@ -1411,11 +1327,11 @@

Thread 80, Fiber: 60

    - 0.40 - 0.19 + 0.86 + 0.44 0.00 - 0.21 - 169251/169251 + 0.42 + 338453/338453 <Class::Date>#parse 165 @@ -1424,37 +1340,37 @@

Thread 80, Fiber: 60

    - 0.05 - 0.05 + 0.09 + 0.09 0.00 0.00 - 169251/169251 - Date#iso8601 + 676906/932840 + String#upcase - 165 + 107     - 0.03 - 0.03 + 0.06 + 0.06 0.00 0.00 - 338502/466624 - String#upcase + 338453/338453 + Date#iso8601 - 107 + 165     - 0.02 - 0.02 + 0.05 + 0.05 0.00 0.00 - 338502/338502 + 676906/676906 String#to_i 135 @@ -1472,24 +1388,95 @@

Thread 80, Fiber: 60

    - 0.40 - 0.19 0.00 - 0.21 - 169251/169251 + 0.00 + 0.00 + 0.00 + 1/34856637 + Object#work + + 57 + + + +   +   + 0.05 + 0.05 + 0.00 + 0.00 + 800000/34856637 + Array#each + + + + + +   +   + 1.54 + 1.54 + 0.00 + 0.00 + 34056636/34856637 + BasicObject#!= + + + + + + 10.49% + 10.49% + 1.59 + 1.59 + 0.00 + 0.00 + 34856637 + + + String#== + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.86 + 0.44 + 0.00 + 0.42 + 338453/338453 Array#map - 2.88% - 1.38% - 0.40 - 0.19 + 5.68% + 2.92% + 0.86 + 0.44 0.00 - 0.21 - 169251 + 0.42 + 338453 <Class::Date>#parse @@ -1508,12 +1495,12 @@

Thread 80, Fiber: 60

    - 0.07 - 0.07 + 0.15 + 0.15 0.00 0.00 - 169251/169316 - String#gsub! + 676906/676906 + Regexp#match @@ -1521,12 +1508,12 @@

Thread 80, Fiber: 60

    - 0.07 - 0.07 + 0.14 + 0.14 0.00 0.00 - 338502/338502 - Regexp#match + 338453/338518 + String#gsub! @@ -1534,11 +1521,11 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 + 0.08 + 0.08 0.00 0.00 - 169251/169251 + 338453/338453 MatchData#begin @@ -1547,11 +1534,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.03 + 0.03 0.00 0.00 - 169251/169251 + 338453/338453 String#[]= @@ -1560,11 +1547,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.02 + 0.02 0.00 0.00 - 169251/169251 + 338453/338453 MatchData#end @@ -1573,11 +1560,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.02 + 0.02 0.00 0.00 - 169251/169251 + 338453/338453 Integer#div @@ -1595,24 +1582,24 @@

Thread 80, Fiber: 60

    - 0.24 - 0.14 + 0.61 + 0.35 0.00 - 0.10 - 169251/169251 + 0.26 + 338453/338453 Array#each - 1.74% - 0.98% - 0.24 - 0.14 + 4.01% + 2.29% + 0.61 + 0.35 0.00 - 0.10 - 169251 + 0.26 + 338453 Object#parse_session @@ -1631,11 +1618,11 @@

Thread 80, Fiber: 60

    - 0.07 - 0.07 + 0.19 + 0.19 0.00 0.00 - 169251/400001 + 338453/800001 String#split 28 @@ -1644,11 +1631,11 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 + 0.07 + 0.07 0.00 0.00 - 846255/1369396 + 1692265/2738598 Array#[] 30 @@ -1666,11 +1653,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.03 + 0.03 0.00 0.00 - 30749/400001 + 61547/800001 Object#parse_user 18 @@ -1679,11 +1666,11 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 + 0.04 + 0.04 0.00 0.00 - 1/400001 + 1/800001 Object#work 60 @@ -1692,11 +1679,11 @@

Thread 80, Fiber: 60

    - 0.07 - 0.07 + 0.19 + 0.19 0.00 0.00 - 169251/400001 + 338453/800001 Object#parse_session 28 @@ -1705,24 +1692,24 @@

Thread 80, Fiber: 60

    - 0.08 - 0.08 + 0.23 + 0.23 0.00 0.00 - 200000/400001 + 400000/800001 Array#each - 1.30% - 1.30% - 0.18 - 0.18 + 3.19% + 3.19% + 0.48 + 0.48 0.00 0.00 - 400001 + 800001 String#split @@ -1750,10 +1737,10 @@

Thread 80, Fiber: 60

    - 0.09 + 0.22 0.00 0.00 - 0.09 + 0.22 1/1 Object#work @@ -1761,12 +1748,12 @@

Thread 80, Fiber: 60

- 0.69% + 1.42% 0.00% - 0.09 + 0.22 0.00 0.00 - 0.09 + 0.22 1 @@ -1786,10 +1773,10 @@

Thread 80, Fiber: 60

    - 0.09 + 0.22 0.00 0.00 - 0.09 + 0.22 1/1 Enumerable#each_with_object @@ -1808,10 +1795,10 @@

Thread 80, Fiber: 60

    - 0.09 + 0.22 0.00 0.00 - 0.09 + 0.22 1/1 Object#select_sessions_for_users @@ -1819,12 +1806,12 @@

Thread 80, Fiber: 60

- 0.69% + 1.42% 0.00% - 0.09 + 0.22 0.00 0.00 - 0.09 + 0.22 1 @@ -1844,10 +1831,10 @@

Thread 80, Fiber: 60

    - 0.09 - 0.05 + 0.22 + 0.12 0.00 - 0.04 + 0.10 1/39 Array#each @@ -1870,7 +1857,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/799798 + 1/1600172 ProgressBar::Throttle#initialize 9 @@ -1883,10 +1870,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/799798 - ProgressBar::Components::Percentage#initialize + 1/1600172 + ProgressBar::Components::Title#initialize - 7 + 9 @@ -1896,7 +1883,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 + 2/1600172 ProgressBar::Calculators::Length#initialize 9 @@ -1909,10 +1896,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/799798 - ProgressBar::Components::Time#initialize + 1/1600172 + ProgressBar::Components::Percentage#initialize - 22 + 7 @@ -1922,10 +1909,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/799798 - ProgressBar::Projectors::SmoothedAverage#initialize + 3/1600172 + ProgressBar::Components::Time#initialize - 14 + 22 @@ -1935,10 +1922,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/799798 - ProgressBar::Components::Title#initialize + 3/1600172 + ProgressBar::Output#initialize - 9 + 11 @@ -1948,10 +1935,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/799798 - ProgressBar::Output#initialize + 1/1600172 + ProgressBar::Projectors::SmoothedAverage#initialize - 11 + 14 @@ -1961,10 +1948,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/799798 - ProgressBar::Components::Rate#initialize + 2/1600172 + <Class::ProgressBar::Output>#detect - 9 + 21 @@ -1974,10 +1961,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 - ProgressBar::Timer#initialize + 3/1600172 + ProgressBar::Components::Rate#initialize - 9 + 9 @@ -1987,7 +1974,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 5/799798 + 5/1600172 ProgressBar::Components::Bar#initialize 18 @@ -2000,10 +1987,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 - ProgressBar::Progress#start + 2/1600172 + ProgressBar::Timer#initialize - 19 + 9 @@ -2013,10 +2000,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 - ProgressBar::Projectors::SmoothedAverage#start + 2/1600172 + ProgressBar::Progress#start - 21 + 19 @@ -2026,10 +2013,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/799798 - ProgressBar::Base#initialize + 2/1600172 + ProgressBar::Projectors::SmoothedAverage#start - 46 + 21 @@ -2039,10 +2026,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 - <Class::ProgressBar::Output>#detect + 8/1600172 + ProgressBar::Base#initialize - 21 + 46 @@ -2052,7 +2039,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/799798 + 13/1600172 ProgressBar::Components::Bar#to_s 28 @@ -2065,7 +2052,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/799798 + 12/1600172 ProgressBar::Output#refresh 51 @@ -2074,24 +2061,24 @@

Thread 80, Fiber: 60

    - 0.08 - 0.08 + 0.21 + 0.21 0.00 0.00 - 799737/799798 + 1600111/1600172 Array#each - 0.59% - 0.59% - 0.08 - 0.08 + 1.35% + 1.35% + 0.21 + 0.21 0.00 0.00 - 799798 + 1600172 Hash#[] @@ -2119,53 +2106,40 @@

Thread 80, Fiber: 60

    + 0.03 + 0.03 0.00 0.00 - 0.00 - 0.00 - 13/169316 - <Class::ProgressBar::Format::Formatter>#process + 1/123095 + Object#work - 11 + 104     + 0.12 + 0.08 0.00 - 0.00 - 0.00 - 0.00 - 52/169316 + 0.04 + 123094/123095 Array#each - -   -   - 0.07 - 0.07 - 0.00 - 0.00 - 169251/169316 - <Class::Date>#parse - - - - - 0.51% - 0.51% - 0.07 - 0.07 + 1.00% + 0.72% + 0.15 + 0.11 0.00 - 0.00 - 169316 + 0.04 + 123095 - - String#gsub! + + Array#sort @@ -2178,6 +2152,19 @@

Thread 80, Fiber: 60

+ +   +   + 0.04 + 0.04 + 0.00 + 0.00 + 684785/684785 + Date#<=> + + + + @@ -2190,24 +2177,24 @@

Thread 80, Fiber: 60

    - 0.07 - 0.07 + 0.15 + 0.15 0.00 0.00 - 338502/338502 + 676906/676906 <Class::Date>#parse - 0.51% - 0.51% - 0.07 - 0.07 + 0.96% + 0.96% + 0.15 + 0.15 0.00 0.00 - 338502 + 676906 Regexp#match @@ -2235,40 +2222,53 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 0.00 0.00 - 1/61499 - Object#work + 0.00 + 0.00 + 13/338518 + <Class::ProgressBar::Format::Formatter>#process - 104 + 11     - 0.05 - 0.03 0.00 - 0.02 - 61498/61499 + 0.00 + 0.00 + 0.00 + 52/338518 Array#each + +   +   + 0.14 + 0.14 + 0.00 + 0.00 + 338453/338518 + <Class::Date>#parse + + + + - 0.46% - 0.31% - 0.06 - 0.04 + 0.91% + 0.91% + 0.14 + 0.14 0.00 - 0.02 - 61499 + 0.00 + 338518 - - Array#sort + + String#gsub! @@ -2281,19 +2281,6 @@

Thread 80, Fiber: 60

- -   -   - 0.02 - 0.02 - 0.00 - 0.00 - 342928/342928 - Date#<=> - - - - @@ -2310,7 +2297,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/1369396 + 28/2738598 ProgressBar::Projectors::SmoothedAverage#absolute 67 @@ -2323,7 +2310,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/1369396 + 13/2738598 ProgressBar::Projectors::SmoothedAverage#progress 33 @@ -2336,7 +2323,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 104/1369396 + 104/2738598 ProgressBar::Format::Molecule#lookup_value 51 @@ -2349,7 +2336,7 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 122996/1369396 + 246188/2738598 Object#parse_user 20 @@ -2358,11 +2345,11 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 + 0.04 + 0.04 0.00 0.00 - 400000/1369396 + 800000/2738598 Array#each @@ -2371,24 +2358,24 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 + 0.07 + 0.07 0.00 0.00 - 846255/1369396 + 1692265/2738598 Object#parse_session 30 - 0.42% - 0.42% - 0.06 - 0.06 + 0.79% + 0.79% + 0.12 + 0.12 0.00 0.00 - 1369396 + 2738598 Array#[] @@ -2416,27 +2403,40 @@

Thread 80, Fiber: 60

    - 0.05 - 0.05 0.00 0.00 - 169251/169251 - Array#map + 0.00 + 0.00 + 13/984765 + ProgressBar::Output#print_and_flush + + 67 + + + +   +   + 0.12 + 0.12 + 0.00 + 0.00 + 984752/984765 + Array#each - 0.39% - 0.39% - 0.05 - 0.05 + 0.78% + 0.78% + 0.12 + 0.12 0.00 0.00 - 169251 + 984765 - - Date#iso8601 + + String#+ @@ -2461,40 +2461,53 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 + 79403/932840 + Array#all? + + + + + +   +   + 0.02 + 0.02 0.00 0.00 - 13/491997 - ProgressBar::Output#print_and_flush + 176531/932840 + Array#any? - 67 +     - 0.05 - 0.05 + 0.09 + 0.09 0.00 0.00 - 491984/491997 - Array#each + 676906/932840 + Array#map - 0.33% - 0.33% - 0.05 - 0.05 + 0.73% + 0.73% + 0.11 + 0.11 0.00 0.00 - 491997 + 932840 - - String#+ + + String#upcase @@ -2519,33 +2532,33 @@

Thread 80, Fiber: 60

    - 0.04 - 0.03 + 0.09 + 0.09 0.00 - 0.01 - 30749/30749 - Array#each + 0.00 + 1/1 + Object#work - + 169 - 0.31% - 0.20% - 0.04 - 0.03 + 0.59% + 0.59% + 0.09 + 0.09 0.00 - 0.01 - 30749 + 0.00 + 1 - - Object#parse_user + + JSON::Ext::Generator::GeneratorMethods::Hash#to_json - 17 + @@ -2555,27 +2568,14 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 0.00 0.00 - 30749/400001 - String#split - - 18 - - - -   -   - 0.01 - 0.01 0.00 0.00 - 122996/1369396 - Array#[] + 1/1 + JSON::Ext::Generator::State#initialize - 20 + @@ -2590,27 +2590,53 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 0.00 0.00 - 1/1 + 0.00 + 0.00 + 1/553808 Object#work - 169 + 90 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/553808 + ProgressBar::Base#initialize + + 46 + + + +   +   + 0.08 + 0.08 + 0.00 + 0.00 + 553806/553808 + Array#each + + - 0.28% - 0.28% - 0.04 - 0.04 + 0.54% + 0.54% + 0.08 + 0.08 0.00 0.00 - 1 + 553808 - - JSON::Ext::Generator::GeneratorMethods::Hash#to_json + + Hash#[]= @@ -2623,19 +2649,6 @@

Thread 80, Fiber: 60

- -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - JSON::Ext::Generator::State#initialize - - - - @@ -2648,33 +2661,33 @@

Thread 80, Fiber: 60

    + 0.08 0.04 - 0.02 0.00 - 0.02 - 30749/30749 + 0.04 + 61547/61547 Array#each - 0.27% - 0.12% + 0.54% + 0.25% + 0.08 0.04 - 0.02 0.00 - 0.02 - 30749 + 0.04 + 61547 - - Array#any? + + Object#parse_user - + 17 @@ -2684,14 +2697,14 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.03 + 0.03 0.00 0.00 - 88464/128135 - String#=~ + 61547/800001 + String#split - 153 + 18 @@ -2701,10 +2714,10 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 88464/466624 - String#upcase + 246188/2738598 + Array#[] - 153 + 20 @@ -2719,53 +2732,27 @@

Thread 80, Fiber: 60

    - 0.00 - 0.00 - 0.00 - 0.00 - 39658/466624 - Array#all? - - - - - -   -   - 0.01 - 0.01 - 0.00 - 0.00 - 88464/466624 - Array#any? - - - - - -   -   - 0.03 + 0.08 0.03 0.00 - 0.00 - 338502/466624 - Array#map + 0.05 + 61547/61547 + Array#each - 0.27% - 0.27% - 0.04 - 0.04 - 0.00 + 0.54% + 0.22% + 0.08 + 0.03 0.00 - 466624 + 0.05 + 61547 - - String#upcase + + Array#any? @@ -2778,50 +2765,31 @@

Thread 80, Fiber: 60

- - - - - - - - -     - 0.04 - 0.04 + 0.03 + 0.03 0.00 0.00 - 169251/169251 - <Class::Date>#parse + 176531/255947 + String#=~ - + 153 - - 0.26% - 0.26% - 0.04 - 0.04 - 0.00 - 0.00 - 169251 - - - MatchData#begin - - - - - - - - - - - + +   +   + 0.02 + 0.02 + 0.00 + 0.00 + 176531/932840 + String#upcase + + 153 + @@ -2839,7 +2807,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/215245 + 2/430831 ProgressBar::Base#initialize 71 @@ -2848,24 +2816,24 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 + 0.08 + 0.08 0.00 0.00 - 215243/215245 + 430829/430831 Array#each - 0.26% - 0.26% - 0.04 - 0.04 + 0.51% + 0.51% + 0.08 + 0.08 0.00 0.00 - 215245 + 430831 Hash#merge @@ -2893,53 +2861,27 @@

Thread 80, Fiber: 60

    + 0.08 + 0.08 0.00 0.00 - 0.00 - 0.00 - 1/276711 - ProgressBar::Base#initialize - - 46 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/276711 - Object#work - - 90 - - - -   -   - 0.03 - 0.03 - 0.00 - 0.00 - 276709/276711 - Array#each + 338453/338453 + <Class::Date>#parse - 0.25% - 0.25% - 0.03 - 0.03 + 0.50% + 0.50% + 0.08 + 0.08 0.00 0.00 - 276711 + 338453 - - Hash#[]= + + MatchData#begin @@ -2964,27 +2906,27 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 + 0.06 + 0.06 0.00 0.00 - 430486/430486 - Array#each + 338453/338453 + Array#map - 0.15% - 0.15% - 0.02 - 0.02 + 0.42% + 0.42% + 0.06 + 0.06 0.00 0.00 - 430486 + 338453 - - User#attributes + + Date#iso8601 @@ -3009,48 +2951,16 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 0.00 0.00 - 342928/342928 - Array#sort + 0.00 + 0.00 + 1/61566 + ProgressBar::Throttle#initialize - + 12 - - 0.15% - 0.15% - 0.02 - 0.02 - 0.00 - 0.00 - 342928 - - - Date#<=> - - - - - - - - - - - - - - - - - - - - -     @@ -3058,326 +2968,49 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/128135 - ProgressBar::Calculators::Length#unix? + 2/61566 + ProgressBar::Timer#initialize - 94 + 9     - 0.01 - 0.01 0.00 0.00 - 39658/128135 - Array#all? + 0.00 + 0.00 + 2/61566 + ProgressBar::Output#initialize - + 13     - 0.01 - 0.01 0.00 0.00 - 88464/128135 - Array#any? + 0.00 + 0.00 + 4/61566 + String#scan - - 0.15% - 0.15% - 0.02 - 0.02 - 0.00 - 0.00 - 128135 - - - String#=~ - - - - - - - - - - - - - - - - - - - - -     - 0.02 - 0.02 0.00 0.00 - 338502/338502 - Array#map + 0.00 + 0.00 + 1/61566 + <Class::ProgressBar::Output>#detect - - - - - 0.13% - 0.13% - 0.02 - 0.02 - 0.00 - 0.00 - 338502 - - - String#to_i - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.01 - 0.01 - 0.00 - 0.00 - 169251/169251 - <Class::Date>#parse - - - - - - 0.10% - 0.10% - 0.01 - 0.01 - 0.00 - 0.00 - 169251 - - - String#[]= - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.01 - 0.01 - 0.00 - 0.00 - 215243/215243 - Array#each - - - - - - 0.09% - 0.09% - 0.01 - 0.01 - 0.00 - 0.00 - 215243 - - - User#sessions - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 4/169255 - String#scan - - - - - -   -   - 0.01 - 0.01 - 0.00 - 0.00 - 169251/169255 - Array#each - - - - - - 0.08% - 0.08% - 0.01 - 0.01 - 0.00 - 0.00 - 169255 - - - Array#<< - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/30768 - ProgressBar::Throttle#initialize - - 12 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/30768 - ProgressBar::Timer#initialize - - 9 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 4/30768 - String#scan - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/30768 - ProgressBar::Output#initialize - - 13 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/30768 - <Class::ProgressBar::Output>#detect - - 24 + 24 @@ -3387,7 +3020,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/30768 + 8/61566 ProgressBar::Base#initialize 52 @@ -3400,7 +3033,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/30768 + 1/61566 <Class::ProgressBar>#create 10 @@ -3409,24 +3042,24 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 - 0.00 + 0.05 + 0.05 0.00 - 30749/30768 + 0.01 + 61547/61566 Array#each - 0.08% - 0.05% - 0.01 - 0.01 - 0.00 + 0.36% + 0.30% + 0.06 + 0.05 0.00 - 30768 + 0.01 + 61566 *Class#new @@ -3445,11 +3078,11 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 30749/30749 + 61547/61547 User#initialize @@ -3528,7 +3161,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Bar#initialize + ProgressBar::Throttle#initialize @@ -3554,7 +3187,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Throttle#initialize + ProgressBar::Components::Bar#initialize @@ -3605,8 +3238,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Title#initialize + 2/2 + ProgressBar::Time#initialize @@ -3618,8 +3251,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - ProgressBar::Time#initialize + 1/1 + ProgressBar::Components::Title#initialize @@ -3649,27 +3282,27 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 - 0.00 + 0.05 + 0.05 0.00 - 169251/169251 - <Class::Date>#parse + 0.00 + 676906/676906 + Array#map - 0.07% - 0.07% - 0.01 - 0.01 + 0.34% + 0.34% + 0.05 + 0.05 0.00 0.00 - 169251 + 676906 - - MatchData#end + + String#to_i @@ -3694,40 +3327,27 @@

Thread 80, Fiber: 60

    + 0.05 + 0.05 0.00 0.00 - 0.00 - 0.00 - 1/30750 - Object#work - - 104 - - - -   -   - 0.01 - 0.01 - 0.00 - 0.00 - 30749/30750 + 861658/861658 Array#each - 0.05% - 0.05% - 0.01 - 0.01 + 0.31% + 0.31% + 0.05 + 0.05 0.00 0.00 - 30750 + 861658 - - Array#join + + User#attributes @@ -3749,6 +3369,19 @@

Thread 80, Fiber: 60

+ +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/255947 + ProgressBar::Calculators::Length#unix? + + 94 + +     @@ -3756,23 +3389,36 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 169251/169251 - <Class::Date>#parse + 79403/255947 + Array#all? + + + + + +   +   + 0.03 + 0.03 + 0.00 + 0.00 + 176531/255947 + Array#any? - 0.05% - 0.05% - 0.01 - 0.01 + 0.29% + 0.29% + 0.04 + 0.04 0.00 0.00 - 169251 + 255947 - - Integer#div + + String#=~ @@ -3797,27 +3443,27 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.04 + 0.04 0.00 0.00 - 61497/61497 - Array#each + 684785/684785 + Array#sort - 0.04% - 0.04% - 0.01 - 0.01 + 0.28% + 0.28% + 0.04 + 0.04 0.00 0.00 - 61497 + 684785 - - Integer#to_s + + Date#<=> @@ -3842,33 +3488,33 @@

Thread 80, Fiber: 60

    + 0.03 + 0.03 0.00 0.00 - 0.00 - 0.00 - 30749/30749 - Class#new + 400000/400000 + Array#each - 0.03% - 0.03% - 0.00 - 0.00 + 0.19% + 0.19% + 0.03 + 0.03 0.00 0.00 - 30749 + 400000 - - User#initialize + + Array#concat - 11 + @@ -3887,27 +3533,27 @@

Thread 80, Fiber: 60

    + 0.03 + 0.03 0.00 0.00 - 0.00 - 0.00 - 1/1 - Object#work + 430829/430829 + Array#each - 104 + - 0.03% - 0.03% - 0.00 - 0.00 + 0.18% + 0.18% + 0.03 + 0.03 0.00 0.00 - 1 + 430829 - - Array#uniq + + User#sessions @@ -3932,40 +3578,27 @@

Thread 80, Fiber: 60

    + 0.03 + 0.03 0.00 0.00 - 0.00 - 0.00 - 15/16 - IO#print + 338453/338453 + <Class::Date>#parse - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/16 - Object#work - - 169 - - - 0.02% - 0.02% - 0.00 - 0.00 + 0.18% + 0.18% + 0.03 + 0.03 0.00 0.00 - 16 + 338453 - - IO#write + + String#[]= @@ -3994,23 +3627,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Object#work + 4/338457 + String#scan - 60 + + + + +   +   + 0.02 + 0.02 + 0.00 + 0.00 + 338453/338457 + Array#each + + - 0.02% - 0.02% - 0.00 - 0.00 + 0.15% + 0.15% + 0.02 + 0.02 0.00 0.00 - 1 + 338457 - - <Class::IO>#read + + Array#<< @@ -4039,23 +3685,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 30749/30749 + 1/61548 + Object#work + + 104 + + + +   +   + 0.02 + 0.02 + 0.00 + 0.00 + 61547/61548 Array#each - 0.02% - 0.02% - 0.00 - 0.00 + 0.13% + 0.13% + 0.02 + 0.02 0.00 0.00 - 30749 + 61548 - - Array#reverse + + Array#join @@ -4080,27 +3739,27 @@

Thread 80, Fiber: 60

    + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 30749/30749 - Array#each + 338453/338453 + <Class::Date>#parse - 0.02% - 0.02% - 0.00 - 0.00 + 0.12% + 0.12% + 0.02 + 0.02 0.00 0.00 - 30749 + 338453 - - Array#concat + + MatchData#end @@ -4125,27 +3784,27 @@

Thread 80, Fiber: 60

    + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 30749/30749 + 123094/123094 Array#each - 0.02% - 0.02% - 0.00 - 0.00 + 0.10% + 0.10% + 0.02 + 0.02 0.00 0.00 - 30749 + 123094 - - Array#max + + Integer#to_s @@ -4170,27 +3829,413 @@

Thread 80, Fiber: 60

    + 0.02 + 0.02 0.00 0.00 - 0.00 - 0.00 - 30749/30749 + 338453/338453 + <Class::Date>#parse + + + + + + 0.10% + 0.10% + 0.02 + 0.02 + 0.00 + 0.00 + 338453 + + + Integer#div + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.01 + 0.01 + 0.00 + 0.00 + 1/1 + Object#work + + 104 + + + + 0.08% + 0.08% + 0.01 + 0.01 + 0.00 + 0.00 + 1 + + + Array#uniq + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.01 + 0.01 + 0.00 + 0.00 + 61547/61547 + Class#new + + + + + + 0.06% + 0.06% + 0.01 + 0.01 + 0.00 + 0.00 + 61547 + + + User#initialize + + + + + + 11 + + + + + + + + + + + + + + + + +   +   + 0.01 + 0.01 + 0.00 + 0.00 + 61547/61547 + Array#each + + + + + + 0.05% + 0.05% + 0.01 + 0.01 + 0.00 + 0.00 + 61547 + + + Array#max + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.01 + 0.01 + 0.00 + 0.00 + 61547/61547 + Array#each + + + + + + 0.04% + 0.04% + 0.01 + 0.01 + 0.00 + 0.00 + 61547 + + + Array#reverse + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 15/16 + IO#print + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/16 + Object#work + + 169 + + + + 0.03% + 0.03% + 0.00 + 0.00 + 0.00 + 0.00 + 16 + + + IO#write + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Object#work + + 60 + + + + 0.03% + 0.03% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + <Class::IO>#read + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 61547/61547 + Array#each + + + + + + 0.03% + 0.03% + 0.00 + 0.00 + 0.00 + 0.00 + 61547 + + + Array#sum + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 3/61550 + Object#work + + 90 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 61547/61550 Array#each - 0.01% - 0.01% + 0.02% + 0.02% 0.00 0.00 0.00 0.00 - 30749 + 61550 - - Array#sum + + Array#count @@ -4430,10 +4475,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/2 - ProgressBar::Progress#start + 13/14 + ProgressBar::Base#projector - 228 + 229 @@ -4443,10 +4488,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Base#projector + 1/2 + ProgressBar::Progress#start - 229 + 228 @@ -4527,64 +4572,6 @@

Thread 80, Fiber: 60

- - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 3/30752 - Object#work - - 90 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 30749/30752 - Array#each - - - - - - 0.01% - 0.01% - 0.00 - 0.00 - 0.00 - 0.00 - 30752 - - - Array#count - - - - - - - - - - - - - - - - - - - @@ -4682,7 +4669,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/799798 + 12/1600172 Hash#[] 51 @@ -4980,8 +4967,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/491997 - String#+ + 26/29 + ProgressBar::Output#stream 67 @@ -4993,10 +4980,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - IO#flush + 13/984765 + String#+ - 68 + 67 @@ -5006,10 +4993,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/29 - ProgressBar::Output#stream + 13/13 + IO#flush - 67 + 68 @@ -5271,7 +5258,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/169316 + 13/338518 String#gsub! 11 @@ -5310,10 +5297,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - Integer#< + 13/40 + Integer#- - 16 + 13 @@ -5336,10 +5323,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/40 - Integer#- + 13/26 + Integer#< - 13 + 16 @@ -5472,7 +5459,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 104/1369396 + 104/2738598 Array#[] 51 @@ -5582,7 +5569,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/30768 + 1/61566 Class#new 10 @@ -5640,10 +5627,127 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#start + 1/1 + ProgressBar::Base#start + + 84 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 8/61566 + Class#new + + 52 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + <Class::ProgressBar::Output>#detect + + 81 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Base#time_component= + + 79 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + <Class::String>#new + + 82 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + <Class::ProgressBar::Projector>#from_type + + 66 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Base#percentage_component= + + 77 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 8/1600172 + Hash#[] + + 46 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 2/430831 + Hash#merge + + 71 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 2/21 + Hash#fetch - 84 + 48 @@ -5653,8 +5757,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/30768 - Class#new + 1/1 + ProgressBar::Base#timer= 52 @@ -5667,9 +5771,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - <Class::ProgressBar::Output>#detect + Hash#any? - 81 + 53 @@ -5680,9 +5784,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#time_component= + ProgressBar::Base#title_component= - 79 + 75 @@ -5693,9 +5797,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - <Class::ProgressBar::Projector>#from_type + ProgressBar::Base#autofinish= - 66 + 49 @@ -5706,9 +5810,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - <Class::String>#new + ProgressBar::Base#output= - 82 + 81 @@ -5719,9 +5823,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#percentage_component= + ProgressBar::Base#autostart= - 77 + 48 @@ -5731,10 +5835,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/21 - Hash#fetch + 1/553808 + Hash#[]= - 48 + 46 @@ -5744,10 +5848,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/799798 - Hash#[] + 1/1 + ProgressBar::Base#finished= - 46 + 50 @@ -5757,10 +5861,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/215245 - Hash#merge + 1/1 + ProgressBar::Outputs::Tty#resolve_format - 71 + 82 @@ -5771,9 +5875,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#timer= + ProgressBar::Base#rate_component= - 52 + 78 @@ -5784,9 +5888,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#autostart= + ProgressBar::Base#bar_component= - 48 + 76 @@ -5796,10 +5900,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Hash#any? + 1/27 + ProgressBar::Base#output - 53 + 82 @@ -5810,9 +5914,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#title_component= + ProgressBar::Base#projector= - 75 + 66 @@ -5822,10 +5926,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#autofinish= + 1/51 + ProgressBar::Base#progressable - 49 + 71 @@ -5836,9 +5940,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#output= + ProgressBar::Base#progressable= - 81 + 69 @@ -5848,10 +5952,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/276711 - Hash#[]= + 1/14 + ProgressBar::Base#projector - 46 + 71 @@ -5861,10 +5965,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#progressable= + 1/29 + ProgressBar::Base#timer - 69 + 71 @@ -5875,11 +5979,20 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#projector= + ProgressBar::Base#autostart - 66 + 84 + + + + + + + + +     @@ -5887,12 +6000,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#finished= + 13/13 + ProgressBar::Throttle#choke - 50 + 52 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Calculators::Length#length_changed? + + + + + + 18 + + + + + +     @@ -5900,10 +6036,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/51 - ProgressBar::Base#progressable + 13/13 + ProgressBar::Calculators::Length#calculate_length - 71 + 20 @@ -5913,10 +6049,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Base#projector + 13/34056649 + BasicObject#!= - 71 + 22 @@ -5926,10 +6062,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#rate_component= + 13/14 + ProgressBar::Calculators::Length#current_length= - 78 + 20 @@ -5939,12 +6075,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Base#timer + 26/40 + ProgressBar::Calculators::Length#current_length - 71 + 19 + + + + + + + + +     @@ -5952,12 +6097,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#bar_component= + 12/12 + ProgressBar::Output#with_refresh - 76 + 229 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 12 + + + ProgressBar::Projectors::SmoothedAverage#increment + + + + + + 28 + + + + + +     @@ -5965,10 +6133,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Outputs::Tty#resolve_format + 12/14 + ProgressBar::Projectors::SmoothedAverage#progress= - 82 + 29 @@ -5978,10 +6146,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#autostart + 12/13 + ProgressBar::Projectors::SmoothedAverage#progress - 84 + 29 @@ -5991,10 +6159,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/27 - ProgressBar::Base#output + 12/37 + Integer#+ - 82 + 29 @@ -6098,9 +6266,9 @@

Thread 80, Fiber: 60

0.00 0.00 13/13 - ProgressBar::Throttle#choke + ProgressBar::Calculators::Length#length_changed? - 52 + 20 @@ -6112,14 +6280,14 @@

Thread 80, Fiber: 60

0.00 13 - - ProgressBar::Calculators::Length#length_changed? + + ProgressBar::Calculators::Length#calculate_length - 18 + 25 @@ -6134,35 +6302,9 @@

Thread 80, Fiber: 60

0.00 0.00 13/13 - ProgressBar::Calculators::Length#calculate_length - - 20 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/17024280 - BasicObject#!= - - 22 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/40 - ProgressBar::Calculators::Length#current_length + ProgressBar::Calculators::Length#terminal_width - 19 + 26 @@ -6172,10 +6314,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Calculators::Length#current_length= + 13/13 + ProgressBar::Calculators::Length#length_override - 20 + 26 @@ -6195,9 +6337,9 @@

Thread 80, Fiber: 60

0.00 0.00 13/13 - ProgressBar::Calculators::Length#length_changed? + ProgressBar::Calculators::Length#calculate_length - 20 + 26 @@ -6209,14 +6351,14 @@

Thread 80, Fiber: 60

0.00 13 - - ProgressBar::Calculators::Length#calculate_length + + ProgressBar::Calculators::Length#terminal_width - 25 + 43 @@ -6231,9 +6373,9 @@

Thread 80, Fiber: 60

0.00 0.00 13/13 - ProgressBar::Calculators::Length#terminal_width + ProgressBar::Calculators::Length#dynamic_width - 26 + 46 @@ -6244,9 +6386,22 @@

Thread 80, Fiber: 60

0.00 0.00 13/13 - ProgressBar::Calculators::Length#length_override + ProgressBar::Calculators::Length#unix? - 26 + 44 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/26 + Integer#< + + 47 @@ -6363,51 +6518,6 @@

Thread 80, Fiber: 60

- - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - Array#each - - - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - NilClass#to_s - - - - - - - - - - @@ -6488,8 +6598,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/49 - ProgressBar::Timer#time + 1/28 + ProgressBar::Timer#stopped_at= 20 @@ -6501,8 +6611,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/28 - ProgressBar::Timer#stopped_at= + 1/49 + ProgressBar::Timer#time 20 @@ -6526,7 +6636,7 @@

Thread 80, Fiber: 60

12/12 ProgressBar::Output#with_refresh - 229 + 228 @@ -6538,14 +6648,14 @@

Thread 80, Fiber: 60

0.00 12 - - ProgressBar::Projectors::SmoothedAverage#increment + + ProgressBar::Progress#increment - 28 + 31 @@ -6560,9 +6670,9 @@

Thread 80, Fiber: 60

0.00 0.00 12/14 - ProgressBar::Projectors::SmoothedAverage#progress= + ProgressBar::Progress#progress= - 29 + 38 @@ -6572,10 +6682,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Projectors::SmoothedAverage#progress + 36/113 + ProgressBar::Progress#progress - 29 + 32 @@ -6588,7 +6698,33 @@

Thread 80, Fiber: 60

12/37 Integer#+ - 29 + 38 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 24/205 + ProgressBar::Progress#total + + 32 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 24/125 + Integer#== + + 32 @@ -6607,10 +6743,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Output#with_refresh + 1/1 + ProgressBar::Base#initialize - 228 + 82 @@ -6620,22 +6756,31 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 1 - - ProgressBar::Progress#increment + + ProgressBar::Outputs::Tty#resolve_format - 31 + 23 + + + + + + + + +     @@ -6643,12 +6788,44 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/14 - ProgressBar::Progress#progress= + 1/1 + ProgressBar::Base#initialize - 38 + 75 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Base#title_component= + + + + + + + + + + + + + + + + + + + + +     @@ -6656,10 +6833,55 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - Integer#+ + 1/1 + ProgressBar::Base#initialize - 38 + 52 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Base#timer= + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/29 + ProgressBar::Base#start + + 88 @@ -6669,10 +6891,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/205 - ProgressBar::Progress#total + 1/29 + ProgressBar::Base#initialize - 32 + 71 @@ -6682,10 +6904,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/125 - Integer#== + 1/29 + ProgressBar::Output#with_refresh - 32 + 230 @@ -6695,12 +6917,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/113 - ProgressBar::Progress#progress + 26/29 + ProgressBar::Base#stopped? - 32 + 124 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 29 + + + ProgressBar::Base#timer + + + + + + + + + + + + @@ -6720,7 +6965,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 82 + 79 @@ -6732,14 +6977,14 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Outputs::Tty#resolve_format + + ProgressBar::Base#time_component= - 23 + @@ -6765,7 +7010,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 75 + 78 @@ -6777,8 +7022,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#title_component= + + ProgressBar::Base#rate_component= @@ -6810,7 +7055,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 52 + 66 @@ -6822,8 +7067,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#timer= + + ProgressBar::Base#projector= @@ -6852,20 +7097,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Base#start - - 88 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/29 + 1/14 ProgressBar::Base#initialize 71 @@ -6878,12 +7110,44 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 + 13/14 ProgressBar::Output#with_refresh - 230 + 229 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 14 + + + ProgressBar::Base#projector + + + + + + + + + + + + + + + + + + + + +     @@ -6891,10 +7155,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/29 - ProgressBar::Base#stopped? + 1/1 + ProgressBar::Base#initialize - 124 + 69 @@ -6904,10 +7168,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 29 + 1 - - ProgressBar::Base#timer + + ProgressBar::Base#progressable= @@ -6936,10 +7200,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 + 1/51 ProgressBar::Base#initialize - 79 + 71 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/51 + ProgressBar::Output#with_refresh + + 228 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 37/51 + ProgressBar::Base#finished? + + 130 @@ -6949,10 +7239,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 51 - - ProgressBar::Base#time_component= + + ProgressBar::Base#progressable @@ -6984,7 +7274,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 78 + 77 @@ -6996,8 +7286,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#rate_component= + + ProgressBar::Base#percentage_component= @@ -7029,7 +7319,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 66 + 81 @@ -7041,8 +7331,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#projector= + + ProgressBar::Base#output= @@ -7071,10 +7361,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Base#initialize + 24/37 + ProgressBar::Base#stopped? - 71 + 124 @@ -7084,10 +7374,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 + 13/37 ProgressBar::Output#with_refresh - 229 + 230 @@ -7097,22 +7387,74 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14 + 37 - - ProgressBar::Base#projector + + ProgressBar::Base#finished? - + 129 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 37/50 + ProgressBar::Progress#finished? + + 130 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 37/37 + ProgressBar::Base#finished + + 130 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 37/51 + ProgressBar::Base#progressable + + 130 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 37/37 + ProgressBar::Base#autofinish + + 130 + + @@ -7132,7 +7474,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 69 + 50 @@ -7144,8 +7486,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#progressable= + + ProgressBar::Base#finished= @@ -7174,36 +7516,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/51 - ProgressBar::Base#initialize - - 71 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/51 - ProgressBar::Output#with_refresh - - 228 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 37/51 - ProgressBar::Base#finished? + 1/1 + ProgressBar::Base#initialize - 130 + 76 @@ -7213,10 +7529,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 51 + 1 - - ProgressBar::Base#progressable + + ProgressBar::Base#bar_component= @@ -7248,7 +7564,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 77 + 48 @@ -7260,8 +7576,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#percentage_component= + + ProgressBar::Base#autostart= @@ -7293,7 +7609,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 81 + 84 @@ -7305,8 +7621,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#output= + + ProgressBar::Base#autostart @@ -7335,23 +7651,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/37 - ProgressBar::Output#with_refresh - - 230 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 24/37 - ProgressBar::Base#stopped? + 1/1 + ProgressBar::Base#initialize - 124 + 49 @@ -7361,22 +7664,31 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37 + 1 - - ProgressBar::Base#finished? + + ProgressBar::Base#autofinish= - 129 + + + + + + + + + +     @@ -7384,10 +7696,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/50 - ProgressBar::Progress#finished? + 1/21 + ProgressBar::Throttle#initialize - 130 + 12 @@ -7397,10 +7709,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/37 - ProgressBar::Base#finished + 1/21 + <Class::ProgressBar::Projector>#from_type - 130 + 11 @@ -7410,10 +7722,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/51 - ProgressBar::Base#progressable + 1/21 + ProgressBar::Progress#initialize - 130 + 13 @@ -7423,21 +7735,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/37 - ProgressBar::Base#autofinish + 4/21 + ProgressBar::Format::Molecule#initialize - 130 + 35 - - - - - - - - -     @@ -7445,10 +7748,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 + 2/21 ProgressBar::Base#initialize - 50 + 48 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/21 + ProgressBar::Throttle#choke + + 16 @@ -7458,10 +7774,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 21 - - ProgressBar::Base#finished= + + Hash#fetch @@ -7493,7 +7809,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 76 + 53 @@ -7505,8 +7821,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#bar_component= + + Hash#any? @@ -7538,7 +7854,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 48 + 82 @@ -7550,8 +7866,8 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#autostart= + + <Class::String>#new @@ -7564,6 +7880,19 @@

Thread 80, Fiber: 60

+ +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + String#initialize + + + + @@ -7583,7 +7912,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 84 + 66 @@ -7595,20 +7924,33 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#autostart + + <Class::ProgressBar::Projector>#from_type - + 10 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/21 + Hash#fetch + + 11 + + @@ -7628,7 +7970,7 @@

Thread 80, Fiber: 60

1/1 ProgressBar::Base#initialize - 49 + 81 @@ -7640,28 +7982,32 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Base#autofinish= + + <Class::ProgressBar::Output>#detect - + 20 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/61566 + Class#new + + 24 +   @@ -7670,10 +8016,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - ProgressBar::Throttle#initialize + 1/14 + IO#tty? - 12 + 23 @@ -7683,10 +8029,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - <Class::ProgressBar::Projector>#from_type + 1/1 + Kernel#is_a? - 11 + 21 @@ -7696,12 +8042,66 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - ProgressBar::Progress#initialize + 2/1600172 + Hash#[] - 13 + 21 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + <Class::String>#new + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + String#initialize + + + + + + + + + + + + + + + + + + + + +     @@ -7709,10 +8109,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/21 - ProgressBar::Format::Molecule#initialize + 1/49 + ProgressBar::Timer#stop - 35 + 20 @@ -7722,10 +8122,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/21 - ProgressBar::Base#initialize + 14/49 + ProgressBar::Timer#start - 48 + 13 @@ -7735,10 +8135,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/21 - ProgressBar::Throttle#choke + 34/49 + ProgressBar::Timer#elapsed_seconds - 16 + 60 @@ -7748,10 +8148,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 21 + 49 - - Hash#fetch + + ProgressBar::Timer#time @@ -7780,10 +8180,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 1/28 + ProgressBar::Timer#stop - 53 + 20 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/28 + ProgressBar::Timer#start + + 14 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/28 + ProgressBar::Timer#reset + + 45 @@ -7793,10 +8219,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 28 - - Hash#any? + + ProgressBar::Timer#stopped_at= @@ -7825,35 +8251,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 1/64 + ProgressBar::Timer#stop - 82 + 18 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - <Class::String>#new - - - - - - - - - - - -     @@ -7861,20 +8264,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - String#initialize + 14/64 + ProgressBar::Components::Time#elapsed - + 81 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/64 + ProgressBar::Throttle#choke + + 16 +   @@ -7883,10 +8290,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 36/64 + ProgressBar::Timer#elapsed_seconds - 66 + 58 @@ -7896,16 +8303,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 64 - - <Class::ProgressBar::Projector>#from_type + + ProgressBar::Timer#started? - 10 + 35 @@ -7919,10 +8326,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - Hash#fetch + 64/111 + ProgressBar::Timer#started_at - 11 + 36 @@ -7941,10 +8348,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 1/14 + ProgressBar::Base#start - 81 + 88 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + ProgressBar::Timer#restart + + 54 @@ -7954,16 +8374,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 14 - - <Class::ProgressBar::Output>#detect + + ProgressBar::Timer#start - 20 + 12 @@ -7977,10 +8397,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/30768 - Class#new + 14/49 + ProgressBar::Time#now - 24 + 13 @@ -7990,10 +8410,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - IO#tty? + 14/51 + ProgressBar::Timer#stopped? - 23 + 13 @@ -8003,10 +8423,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 - Hash#[] + 14/27 + ProgressBar::Timer#started_at= - 21 + 13 @@ -8016,21 +8436,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Kernel#is_a? + 14/28 + ProgressBar::Timer#stopped_at= - 21 + 14 - - - - - - - - -     @@ -8038,69 +8449,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - <Class::String>#new + 14/49 + ProgressBar::Timer#time - + 13 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - String#initialize - - - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/49 - ProgressBar::Timer#stop - - 20 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/49 - ProgressBar::Timer#start - - 13 - + +   @@ -8109,10 +8471,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/49 - ProgressBar::Timer#elapsed_seconds + 2/2 + Class#new - 60 + @@ -8122,31 +8484,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49 + 2 - - ProgressBar::Timer#time + + ProgressBar::Timer#initialize - + 8 - - - - - - - - -     @@ -8154,10 +8507,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/28 - ProgressBar::Timer#stop + 2/61566 + Class#new - 20 + 9 @@ -8167,10 +8520,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/28 - ProgressBar::Timer#reset + 2/2 + ProgressBar::Timer#time= - 45 + 9 @@ -8180,35 +8533,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/28 - ProgressBar::Timer#start + 2/1600172 + Hash#[] - 14 + 9 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 28 - - - ProgressBar::Timer#stopped_at= - - - - - - - - - - - - @@ -8225,23 +8555,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/64 + 1/49 ProgressBar::Timer#stop - 18 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/64 - ProgressBar::Components::Time#elapsed - - 81 + 20 @@ -8251,10 +8568,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/64 - ProgressBar::Throttle#choke + 14/49 + ProgressBar::Timer#start - 16 + 13 @@ -8264,10 +8581,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/64 + 34/49 ProgressBar::Timer#elapsed_seconds - 58 + 60 @@ -8277,16 +8594,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 64 + 49 - - ProgressBar::Timer#started? + + ProgressBar::Time#now - 35 + 15 @@ -8300,10 +8617,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 64/111 - ProgressBar::Timer#started_at + 49/49 + <Class::Time>#now - 36 + 16 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 49/49 + ProgressBar::Time#unmocked_time_method + + 16 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 49/57 + ProgressBar::Time#time + + 16 @@ -8322,10 +8665,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Base#start + 2/14 + ProgressBar::Projectors::SmoothedAverage#start - 88 + 21 @@ -8335,10 +8678,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Timer#restart + 12/14 + ProgressBar::Projectors::SmoothedAverage#increment - 54 + 29 @@ -8350,14 +8693,14 @@

Thread 80, Fiber: 60

0.00 14 - - ProgressBar::Timer#start + + ProgressBar::Projectors::SmoothedAverage#progress= - 12 + 42 @@ -8371,10 +8714,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/49 - ProgressBar::Time#now + 14/14 + <Class::ProgressBar::Projectors::SmoothedAverage>#calculate - 13 + 44 @@ -8384,10 +8727,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/51 - ProgressBar::Timer#stopped? + 14/14 + ProgressBar::Projectors::SmoothedAverage#absolute - 13 + 44 @@ -8397,10 +8740,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/27 - ProgressBar::Timer#started_at= + 14/16 + Array#[]= - 13 + 43 @@ -8410,10 +8753,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/28 - ProgressBar::Timer#stopped_at= + 14/17 + ProgressBar::Projectors::SmoothedAverage#projection= - 14 + 44 @@ -8423,10 +8766,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/49 - ProgressBar::Timer#time + 14/14 + Kernel#class - 13 + 44 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/14 + ProgressBar::Projectors::SmoothedAverage#strength + + 44 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/57 + ProgressBar::Projectors::SmoothedAverage#samples + + 43 @@ -8445,10 +8814,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - Class#new + 11/36 + ProgressBar::Components::Time#estimated_seconds_remaining - + 97 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/36 + ProgressBar::Timer#elapsed_whole_seconds + + 64 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/36 + ProgressBar::Throttle#choke + + 16 @@ -8458,16 +8853,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2 + 36 - - ProgressBar::Timer#initialize + + ProgressBar::Timer#elapsed_seconds - 8 + 57 @@ -8481,10 +8876,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/30768 - Class#new + 34/49 + ProgressBar::Time#now + + 60 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 36/36 + Time#- - 9 + 60 @@ -8494,10 +8902,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - ProgressBar::Timer#time= + 36/64 + ProgressBar::Timer#started? - 9 + 58 @@ -8507,20 +8915,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 - Hash#[] + 36/87 + ProgressBar::Timer#stopped_at - 9 + 60 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 36/111 + ProgressBar::Timer#started_at + + 60 +   @@ -8529,12 +8941,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/49 - ProgressBar::Timer#stop + 34/49 + ProgressBar::Timer#time - 20 + 60 + + + + + + + + +     @@ -8542,10 +8963,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/49 - ProgressBar::Timer#start + 2/15 + ProgressBar::Outputs::Tty#clear - 13 + 11 @@ -8555,10 +8976,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/49 - ProgressBar::Timer#elapsed_seconds + 13/15 + ProgressBar::Output#print_and_flush - 60 + 67 @@ -8568,16 +8989,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49 + 15 - - ProgressBar::Time#now + + IO#print - 15 + @@ -8591,12 +9012,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49/49 - <Class::Time>#now + 15/16 + IO#write - 16 + + + + + + + + + +     @@ -8604,12 +9034,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49/49 - ProgressBar::Time#unmocked_time_method + 13/13 + ProgressBar::Format::Molecule#lookup_value - 16 + 56 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Components::Time#estimated_with_friendly_oob + + + + + + 43 + + + + + +     @@ -8617,10 +9070,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49/57 - ProgressBar::Time#time + 13/13 + ProgressBar::Components::Time#estimated_with_elapsed_fallback - 16 + 44 @@ -8639,10 +9092,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/14 - ProgressBar::Projectors::SmoothedAverage#start + 1/14 + ProgressBar::Components::Time#estimated_with_elapsed_fallback - 21 + 89 @@ -8652,10 +9105,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/14 - ProgressBar::Projectors::SmoothedAverage#increment + 13/14 + ProgressBar::Format::Molecule#lookup_value - 29 + 56 @@ -8667,14 +9120,14 @@

Thread 80, Fiber: 60

0.00 14 - - ProgressBar::Projectors::SmoothedAverage#progress= + + ProgressBar::Components::Time#elapsed_with_label - 42 + 31 @@ -8689,11 +9142,20 @@

Thread 80, Fiber: 60

0.00 0.00 14/14 - <Class::ProgressBar::Projectors::SmoothedAverage>#calculate + ProgressBar::Components::Time#elapsed - 44 + 32 + + + + + + + + +     @@ -8701,12 +9163,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - ProgressBar::Projectors::SmoothedAverage#absolute + 13/13 + ProgressBar::Format::Molecule#lookup_value - 44 + 54 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Components::Bar#complete_bar + + + + + + 41 + + + + + +     @@ -8714,10 +9199,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - Kernel#class + 13/13 + ProgressBar::Components::Bar#to_s - 44 + 44 @@ -8727,12 +9212,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/16 - Array#[]= + 13/14 + ProgressBar::Components::Bar#length= - 43 + 42 + + + + + + + + +     @@ -8740,12 +9234,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/17 - ProgressBar::Projectors::SmoothedAverage#projection= + 13/13 + ProgressBar::Components::Time#estimated_with_friendly_oob - 44 + 44 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Components::Time#estimated_with_elapsed_fallback + + + + + + 88 + + + + + +     @@ -8753,33 +9270,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - ProgressBar::Projectors::SmoothedAverage#strength + 12/12 + ProgressBar::Components::Time#estimated_with_label - 44 + 91     0.00 - 0.00 - 0.00 - 0.00 - 14/57 - ProgressBar::Projectors::SmoothedAverage#samples - - 43 - - - - - - - - - - + 0.00 + 0.00 + 0.00 + 1/14 + ProgressBar::Components::Time#elapsed_with_label + + 89 +   @@ -8788,10 +9296,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/36 - ProgressBar::Components::Time#estimated_seconds_remaining + 13/50 + ProgressBar::Progress#finished? - 97 + 89 @@ -8801,12 +9309,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/36 - ProgressBar::Timer#elapsed_whole_seconds + 13/47 + ProgressBar::Components::Time#progress - 64 + 89 + + + + + + + + +     @@ -8814,10 +9331,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/36 - ProgressBar::Throttle#choke + 14/14 + ProgressBar::Components::Time#elapsed_with_label - 16 + 32 @@ -8827,16 +9344,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36 + 14 - - ProgressBar::Timer#elapsed_seconds + + ProgressBar::Components::Time#elapsed - 57 + 80 @@ -8850,23 +9367,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/49 - ProgressBar::Time#now - - 60 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 36/36 - Time#- + 14/14 + ProgressBar::Timer#elapsed_whole_seconds - 60 + 83 @@ -8876,10 +9380,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/64 - ProgressBar::Timer#started? + 14/38 + String#% - 58 + 85 @@ -8889,10 +9393,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/111 - ProgressBar::Timer#started_at + 14/25 + ProgressBar::Timer#divide_seconds - 60 + 83 @@ -8902,10 +9406,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/87 - ProgressBar::Timer#stopped_at + 14/64 + ProgressBar::Timer#started? - 60 + 81 @@ -8915,10 +9419,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/49 - ProgressBar::Timer#time + 42/86 + ProgressBar::Components::Time#timer - 60 + 81 @@ -8937,23 +9441,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/15 - ProgressBar::Outputs::Tty#clear - - 11 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/15 - ProgressBar::Output#print_and_flush + 13/13 + ProgressBar::Components::Bar#complete_bar - 67 + 44 @@ -8963,16 +9454,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 15 + 13 - - IO#print + + ProgressBar::Components::Bar#to_s - + 25 @@ -8986,21 +9477,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 15/16 - IO#write + 13/13 + ProgressBar::Components::Bar#standard_complete_string - + 29 - - - - - - - - -     @@ -9009,33 +9491,23 @@

Thread 80, Fiber: 60

0.00 0.00 13/13 - ProgressBar::Calculators::Length#calculate_length + ProgressBar::Components::Bar#incomplete_string - 26 + 29 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 13 - - - ProgressBar::Calculators::Length#terminal_width - - - - - - 43 - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/25 + ProgressBar::Progress#unknown? + + 26 +   @@ -9044,10 +9516,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Calculators::Length#dynamic_width + 13/1600172 + Hash#[] - 46 + 28 @@ -9058,9 +9530,9 @@

Thread 80, Fiber: 60

0.00 0.00 13/13 - ProgressBar::Calculators::Length#unix? + Symbol#== - 44 + 28 @@ -9070,10 +9542,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - Integer#< + 13/39 + ProgressBar::Components::Bar#progress - 47 + 26 @@ -9092,10 +9564,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Format::Molecule#lookup_value + 12/12 + ProgressBar::Components::Time#estimated_with_elapsed_fallback - 56 + 91 @@ -9105,16 +9577,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 12 - - ProgressBar::Components::Time#estimated_with_friendly_oob + + ProgressBar::Components::Time#estimated_with_label - 43 + 27 @@ -9128,10 +9600,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Time#estimated_with_elapsed_fallback + 12/12 + ProgressBar::Components::Time#estimated - 44 + 28 @@ -9150,23 +9622,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Components::Time#estimated_with_elapsed_fallback - - 89 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/14 - ProgressBar::Format::Molecule#lookup_value + 12/12 + ProgressBar::Components::Time#estimated_with_label - 56 + 28 @@ -9176,16 +9635,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14 + 12 - - ProgressBar::Components::Time#elapsed_with_label + + ProgressBar::Components::Time#estimated - 31 + 66 @@ -9199,20 +9658,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - ProgressBar::Components::Time#elapsed + 12/12 + ProgressBar::Components::Time#estimated_seconds_remaining - 32 + 67 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/25 + ProgressBar::Timer#divide_seconds + + 71 +   @@ -9221,35 +9684,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Format::Molecule#lookup_value + 11/38 + String#% - 54 + 76 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 13 - - - ProgressBar::Components::Bar#complete_bar - - - - - - 41 - - - - - -     @@ -9257,10 +9697,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Bar#to_s + 11/25 + Integer#> - 44 + 73 @@ -9270,10 +9710,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Components::Bar#length= + 11/86 + ProgressBar::Components::Time#timer - 42 + 71 @@ -9292,10 +9732,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Time#estimated_with_friendly_oob + 1/13 + ProgressBar::Projectors::SmoothedAverage#start - 44 + 21 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/13 + ProgressBar::Projectors::SmoothedAverage#increment + + 29 @@ -9307,14 +9760,14 @@

Thread 80, Fiber: 60

0.00 13 - - ProgressBar::Components::Time#estimated_with_elapsed_fallback + + ProgressBar::Projectors::SmoothedAverage#progress - 88 + 32 @@ -9328,36 +9781,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated_with_label - - 91 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/14 - ProgressBar::Components::Time#elapsed_with_label - - 89 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/50 - ProgressBar::Progress#finished? + 13/2738598 + Array#[] - 89 + 33 @@ -9367,10 +9794,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/47 - ProgressBar::Components::Time#progress + 13/57 + ProgressBar::Projectors::SmoothedAverage#samples - 89 + 33 @@ -9389,10 +9816,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - ProgressBar::Components::Time#elapsed_with_label + 1/1 + Class#new - 32 + @@ -9402,16 +9829,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14 + 1 - - ProgressBar::Components::Time#elapsed + + ProgressBar::Projectors::SmoothedAverage#initialize - 80 + 11 @@ -9425,10 +9852,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - ProgressBar::Timer#elapsed_whole_seconds + 1/2 + ProgressBar::Projectors::SmoothedAverage#start - 83 + 16 @@ -9438,10 +9865,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/38 - String#% + 1/1 + ProgressBar::Projectors::SmoothedAverage#samples= - 85 + 12 @@ -9451,10 +9878,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/25 - ProgressBar::Timer#divide_seconds + 1/1 + ProgressBar::Projectors::SmoothedAverage#strength= - 83 + 14 @@ -9464,10 +9891,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 42/86 - ProgressBar::Components::Time#timer + 1/17 + ProgressBar::Projectors::SmoothedAverage#projection= - 81 + 13 @@ -9477,10 +9904,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/64 - ProgressBar::Timer#started? + 1/1600172 + Hash#[] - 81 + 14 @@ -9499,35 +9926,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Bar#complete_bar + 11/205 + ProgressBar::Components::Time#estimated_seconds_remaining - 44 + 97 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 13 - - - ProgressBar::Components::Bar#to_s - - - - - - 25 - - - - - -     @@ -9535,10 +9939,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Bar#standard_complete_string + 25/205 + ProgressBar::Progress#unknown? - 29 + 90 @@ -9548,10 +9952,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Bar#incomplete_string + 39/205 + ProgressBar::Progress#percentage_completed_with_precision - 29 + 98 @@ -9561,10 +9965,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/25 - ProgressBar::Progress#unknown? + 78/205 + ProgressBar::Progress#percentage_completed - 26 + 74 @@ -9574,10 +9978,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - Symbol#== + 24/205 + ProgressBar::Progress#increment - 28 + 32 @@ -9587,24 +9991,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/799798 - Hash#[] + 28/205 + ProgressBar::Progress#progress= - 28 + 56 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/39 - ProgressBar::Components::Bar#progress - - 26 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 205 + + + ProgressBar::Progress#total + + + + + + + + + + + @@ -9622,10 +10036,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated_with_elapsed_fallback + 2/14 + ProgressBar::Progress#start - 91 + 19 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/14 + ProgressBar::Progress#increment + + 38 @@ -9635,16 +10062,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 14 - - ProgressBar::Components::Time#estimated_with_label + + ProgressBar::Progress#progress= - 27 + 55 @@ -9658,21 +10085,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated + 28/205 + ProgressBar::Progress#total - 28 + 56 - - - - - - - - -     @@ -9680,34 +10098,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated_with_label + 14/25 + Integer#> - 28 + 56 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 12 - - - ProgressBar::Components::Time#estimated - - - - - 66 + + + + - - - +   @@ -9716,10 +10120,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated_seconds_remaining + 1/113 + ProgressBar::Progress#start - 67 + 19 @@ -9729,10 +10133,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/25 - ProgressBar::Timer#divide_seconds + 1/113 + ProgressBar::Progress#total= - 71 + 65 @@ -9742,10 +10146,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/38 - String#% + 11/113 + ProgressBar::Progress#none? - 76 + 86 @@ -9755,10 +10159,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/86 - ProgressBar::Components::Time#timer + 13/113 + ProgressBar::Progress#percentage_completed_with_precision - 71 + 101 @@ -9768,21 +10172,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/25 - Integer#> + 25/113 + ProgressBar::Progress#unknown? - 73 + 90 - - - - - - - - -     @@ -9790,10 +10185,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Projectors::SmoothedAverage#start + 26/113 + ProgressBar::Progress#percentage_completed - 21 + 82 @@ -9803,10 +10198,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Projectors::SmoothedAverage#increment + 36/113 + ProgressBar::Progress#increment - 29 + 32 @@ -9816,48 +10211,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 113 - - ProgressBar::Projectors::SmoothedAverage#progress + + ProgressBar::Progress#progress - 32 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/1369396 - Array#[] - - 33 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/57 - ProgressBar::Projectors::SmoothedAverage#samples - - 33 - - @@ -9889,14 +10258,14 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Projectors::SmoothedAverage#initialize + + ProgressBar::Progress#initialize - 11 + 12 @@ -9911,9 +10280,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/2 - ProgressBar::Projectors::SmoothedAverage#start + ProgressBar::Progress#start - 16 + 15 @@ -9924,9 +10293,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Projectors::SmoothedAverage#samples= + ProgressBar::Progress#total= - 12 + 13 @@ -9936,12 +10305,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Projectors::SmoothedAverage#strength= + 1/21 + Hash#fetch - 14 + 13 + + + + + + + + +     @@ -9949,10 +10327,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/17 - ProgressBar::Projectors::SmoothedAverage#projection= + 13/50 + ProgressBar::Components::Time#estimated_with_elapsed_fallback - 13 + 89 @@ -9962,33 +10340,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/799798 - Hash#[] + 37/50 + ProgressBar::Base#finished? - 14 + 130 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 50 + + + ProgressBar::Progress#finished? + + - - - + + + 27 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/205 - ProgressBar::Components::Time#estimated_seconds_remaining - - 97 - + +   @@ -9997,12 +10376,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/205 - ProgressBar::Progress#progress= + 50/125 + Integer#== - 56 + 28 + + + + + + + + +     @@ -10010,12 +10398,44 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25/205 - ProgressBar::Progress#unknown? + 13/13 + ProgressBar::Output#refresh - 90 + 51 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Output#throttle + + + + + + + + + + + + + + + + + + + + +     @@ -10023,10 +10443,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 39/205 - ProgressBar::Progress#percentage_completed_with_precision + 13/39 + ProgressBar::Outputs::Tty#eol - 98 + 28 @@ -10036,10 +10456,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/205 - ProgressBar::Progress#increment + 13/39 + ProgressBar::Outputs::Tty#bar_update_string - 32 + 16 @@ -10049,10 +10469,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 78/205 - ProgressBar::Progress#percentage_completed + 13/39 + ProgressBar::Output#refresh - 74 + 51 @@ -10062,10 +10482,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 205 + 39 - - ProgressBar::Progress#total + + ProgressBar::Output#bar @@ -10094,12 +10514,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/14 - ProgressBar::Progress#start + 1/1 + Class#new - 19 + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Components::Title#initialize + + + + + + 8 + + + + + +     @@ -10107,10 +10550,45 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/14 - ProgressBar::Progress#increment + 1/1 + ProgressBar::Components::Title#title= - 38 + 9 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1600172 + Hash#[] + + 9 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Class#new + + @@ -10120,16 +10598,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14 + 1 - - ProgressBar::Progress#progress= + + ProgressBar::Components::Time#initialize - 55 + 21 @@ -10143,10 +10621,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/25 - Integer#> + 1/1 + ProgressBar::Components::Time#timer= - 56 + 22 @@ -10156,10 +10634,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/205 - ProgressBar::Progress#total + 1/1 + ProgressBar::Components::Time#progress= - 56 + 23 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Time#projector= + + 24 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 3/1600172 + Hash#[] + + 22 @@ -10178,12 +10682,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/113 - ProgressBar::Progress#start + 1/1 + Class#new - 19 + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Components::Rate#initialize + + + + + + 8 + + + + + +     @@ -10191,10 +10718,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/113 - ProgressBar::Progress#total= + 1/1 + Kernel#lambda - 65 + 9 @@ -10204,10 +10731,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/113 - ProgressBar::Progress#none? + 1/1 + ProgressBar::Components::Rate#rate_scale= - 86 + 9 @@ -10217,10 +10744,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/113 - ProgressBar::Progress#percentage_completed_with_precision + 1/1 + ProgressBar::Components::Rate#progress= - 101 + 11 @@ -10230,10 +10757,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 25/113 - ProgressBar::Progress#unknown? + 1/1 + ProgressBar::Components::Rate#timer= - 90 + 10 @@ -10243,12 +10770,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/113 - ProgressBar::Progress#percentage_completed + 3/1600172 + Hash#[] - 82 + 9 + + + + + + + + +     @@ -10256,10 +10792,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/113 - ProgressBar::Progress#increment + 1/1 + Class#new - 32 + @@ -10269,22 +10805,48 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 113 + 1 - - ProgressBar::Progress#progress + + ProgressBar::Components::Percentage#initialize - + 6 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Percentage#progress= + + 7 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1600172 + Hash#[] + + 7 + + @@ -10316,14 +10878,14 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Progress#initialize + + ProgressBar::Components::Bar#initialize - 12 + 17 @@ -10337,10 +10899,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/2 - ProgressBar::Progress#start + 1/1 + ProgressBar::Components::Bar#progress= - 15 + 21 @@ -10350,10 +10912,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Progress#total= + 1/14 + ProgressBar::Components::Bar#length= - 13 + 22 @@ -10363,21 +10925,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - Hash#fetch + 1/1 + ProgressBar::Components::Bar#upa_steps= - 13 + 18 - - - - - - - - -     @@ -10385,10 +10938,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/50 - ProgressBar::Components::Time#estimated_with_elapsed_fallback + 1/1 + ProgressBar::Components::Bar#progress_mark= - 89 + 19 @@ -10398,35 +10951,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/50 - ProgressBar::Base#finished? + 5/1600172 + Hash#[] - 130 + 18 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 50 - - - ProgressBar::Progress#finished? - - - - - - 27 - - - - - -     @@ -10434,10 +10964,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 50/125 - Integer#== + 1/1 + ProgressBar::Components::Bar#remainder_mark= - 28 + 20 @@ -10456,7 +10986,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 + 13/26 + ProgressBar::Outputs::Tty#eol + + 28 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/26 ProgressBar::Output#refresh 51 @@ -10469,31 +11012,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 26 - - ProgressBar::Output#throttle + + ProgressBar::Base#stopped? - + 123 - - - - - - - - -     @@ -10501,10 +11035,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/39 - ProgressBar::Outputs::Tty#bar_update_string + 24/37 + ProgressBar::Base#finished? - 16 + 124 @@ -10514,10 +11048,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/39 - ProgressBar::Outputs::Tty#eol + 26/51 + ProgressBar::Timer#stopped? - 28 + 124 @@ -10527,35 +11061,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/39 - ProgressBar::Output#refresh + 26/29 + ProgressBar::Base#timer - 51 + 124 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 39 - - - ProgressBar::Output#bar - - - - - - - - - - - - @@ -10572,10 +11083,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Class#new + 37/37 + ProgressBar::Base#finished? - + 130 @@ -10585,48 +11096,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 37 - - ProgressBar::Components::Title#initialize + + ProgressBar::Base#finished - 8 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Title#title= - - 9 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/799798 - Hash#[] - - 9 - - @@ -10643,10 +11128,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Class#new + 37/37 + ProgressBar::Base#finished? - + 130 @@ -10656,74 +11141,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 37 - - ProgressBar::Components::Time#initialize + + ProgressBar::Base#autofinish - 21 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Time#timer= - - 22 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Time#projector= - - 24 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Time#progress= - - 23 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 3/799798 - Hash#[] - - 22 - - @@ -10741,9 +11174,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Class#new + <Class::ProgressBar::Output>#detect - + 21 @@ -10755,32 +11188,28 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Components::Rate#initialize + + Kernel#is_a? - 8 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Rate#progress= - - 11 - + + + + + + + +   @@ -10789,10 +11218,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Kernel#lambda + 12/125 + BasicObject#!= - 9 + @@ -10802,10 +11231,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Rate#rate_scale= + 13/125 + ProgressBar::Progress#percentage_completed_with_precision - 9 + 98 @@ -10815,10 +11244,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/799798 - Hash#[] + 26/125 + ProgressBar::Progress#percentage_completed - 9 + 75 @@ -10828,21 +11257,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Rate#timer= + 24/125 + ProgressBar::Progress#increment - 10 + 32 - - - - - - - - -     @@ -10850,10 +11270,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Class#new + 50/125 + ProgressBar::Progress#finished? - + 28 @@ -10863,22 +11283,31 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 125 - - ProgressBar::Components::Percentage#initialize + + Integer#== - 6 + + + + + + + + + +     @@ -10886,10 +11315,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Percentage#progress= + 13/37 + <Class::ProgressBar::Format::Formatter>#process - 7 + 13 @@ -10899,21 +11328,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/799798 - Hash#[] + 12/37 + ProgressBar::Projectors::SmoothedAverage#increment - 7 + 29 - - - - - - - - -     @@ -10921,10 +11341,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Class#new + 12/37 + ProgressBar::Progress#increment - + 38 @@ -10934,34 +11354,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 37 - - ProgressBar::Components::Bar#initialize + + Integer#+ - 17 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Bar#progress_mark= - - 19 - + + + + + + + +   @@ -10970,10 +11386,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#progress= + 1/14 + <Class::ProgressBar::Output>#detect - 21 + 23 @@ -10983,37 +11399,43 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#upa_steps= + 13/14 + ProgressBar::Calculators::Length#dynamic_width - 18 + 57 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/14 - ProgressBar::Components::Bar#length= - - 22 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 14 + + + IO#tty? + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 5/799798 - Hash#[] - - 18 - + + + + + + + + + + +   @@ -11022,12 +11444,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#remainder_mark= + 2/2 + ProgressBar::Timer#initialize - 20 + 9 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 2 + + + ProgressBar::Timer#time= + + + + + + + + + + + + @@ -11044,10 +11489,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - ProgressBar::Outputs::Tty#eol + 11/51 + ProgressBar::Components::Time#estimated_seconds_remaining - 28 + 95 @@ -11057,10 +11502,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - ProgressBar::Output#refresh + 14/51 + ProgressBar::Timer#start - 51 + 13 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/51 + ProgressBar::Base#stopped? + + 124 @@ -11070,16 +11528,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26 + 51 - - ProgressBar::Base#stopped? + + ProgressBar::Timer#stopped? - 123 + 39 @@ -11093,24 +11551,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/37 - ProgressBar::Base#finished? + 51/87 + ProgressBar::Timer#stopped_at - 124 + 40 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/51 - ProgressBar::Timer#stopped? - - 124 - + + + + + + + +   @@ -11119,21 +11573,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/29 - ProgressBar::Base#timer + 13/27 + ProgressBar::Timer#reset - 124 + 44 - - - - - - - - -     @@ -11141,10 +11586,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/37 - ProgressBar::Base#finished? + 14/27 + ProgressBar::Timer#start - 130 + 13 @@ -11154,10 +11599,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37 + 27 - - ProgressBar::Base#finished + + ProgressBar::Timer#started_at= @@ -11186,10 +11631,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/37 - ProgressBar::Base#finished? + 11/111 + ProgressBar::Timer#reset? - 130 + 49 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 36/111 + ProgressBar::Timer#elapsed_seconds + + 60 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 64/111 + ProgressBar::Timer#started? + + 36 @@ -11199,10 +11670,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37 + 111 - - ProgressBar::Base#autofinish + + ProgressBar::Timer#started_at @@ -11231,10 +11702,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - <Class::ProgressBar::Output>#detect + 13/13 + ProgressBar::Throttle#choke - 21 + 20 @@ -11244,44 +11715,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 13 - - Kernel#is_a? + + ProgressBar::Timer#restart - + 52 - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/125 - BasicObject#!= - - - -     @@ -11289,10 +11738,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/125 - ProgressBar::Progress#percentage_completed_with_precision + 13/14 + ProgressBar::Timer#start - 98 + 54 @@ -11302,24 +11751,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/125 - ProgressBar::Progress#percentage_completed + 13/13 + ProgressBar::Timer#reset - 75 + 53 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 24/125 - ProgressBar::Progress#increment - - 32 - + + + + + + + +   @@ -11328,10 +11773,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 50/125 - ProgressBar::Progress#finished? + 49/49 + ProgressBar::Time#now - 28 + 16 @@ -11341,31 +11786,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 125 + 49 - - Integer#== + + ProgressBar::Time#unmocked_time_method - + 19 - - - - - - - - -     @@ -11373,24 +11809,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - ProgressBar::Projectors::SmoothedAverage#increment + 2/2 + Enumerable#find - 29 + 20 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/37 - <Class::ProgressBar::Format::Formatter>#process - - 13 - + + + + + + + +   @@ -11399,10 +11831,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - ProgressBar::Progress#increment + 13/13 + ProgressBar::Calculators::Length#terminal_width - 38 + 46 @@ -11412,30 +11844,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37 + 13 - - Integer#+ + + ProgressBar::Calculators::Length#dynamic_width - + 56 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object + + 58 +   @@ -11444,10 +11880,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - <Class::ProgressBar::Output>#detect + 13/14 + IO#tty? + + 57 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/21 + Kernel#respond_to? - 23 + 57 @@ -11457,35 +11906,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Calculators::Length#dynamic_width + 39/52 + ProgressBar::Calculators::Length#output - 57 + 57 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 14 - - - IO#tty? - - - - - - - - - - - - @@ -11502,10 +11928,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - ProgressBar::Timer#initialize + 12/12 + ProgressBar::Components::Time#estimated - 9 + 67 @@ -11515,31 +11941,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2 + 12 - - ProgressBar::Timer#time= + + ProgressBar::Components::Time#estimated_seconds_remaining - + 94 - - - - - - - - -     @@ -11547,10 +11964,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/51 - ProgressBar::Components::Time#estimated_seconds_remaining + 11/36 + ProgressBar::Timer#elapsed_seconds - 95 + 97 @@ -11560,10 +11977,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/51 - ProgressBar::Timer#start + 11/11 + ProgressBar::Progress#none? - 13 + 95 @@ -11573,35 +11990,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/51 - ProgressBar::Base#stopped? + 12/12 + ProgressBar::Projectors::SmoothedAverage#none? - 124 + 95 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 51 - - - ProgressBar::Timer#stopped? - - - - - - 39 - - - - - -     @@ -11609,21 +12003,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 51/87 - ProgressBar::Timer#stopped_at + 12/25 + ProgressBar::Progress#unknown? - 40 + 95 - - - - - - - - -     @@ -11631,10 +12016,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - ProgressBar::Timer#reset + 11/11 + Float#round - 44 + 97 @@ -11644,44 +12029,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/27 - ProgressBar::Timer#start + 11/11 + ProgressBar::Timer#reset? - 13 + 95 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 27 - - - ProgressBar::Timer#started_at= - - - - - - - - - - - - - - - - - - - - -     @@ -11689,10 +12042,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/111 - ProgressBar::Timer#reset? + 33/86 + ProgressBar::Components::Time#timer - 49 + 95 @@ -11702,10 +12055,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/111 - ProgressBar::Timer#elapsed_seconds + 23/23 + ProgressBar::Components::Time#projector - 60 + 95 @@ -11715,44 +12068,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 64/111 - ProgressBar::Timer#started? + 11/51 + ProgressBar::Timer#stopped? - 36 + 95 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 111 - - - ProgressBar::Timer#started_at - - - - - - - - - - - - - - - - - - - - -     @@ -11760,35 +12081,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Throttle#choke + 34/47 + ProgressBar::Components::Time#progress - 20 + 95 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 13 - - - ProgressBar::Timer#restart - - - - - - 52 - - - - - -     @@ -11796,10 +12094,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Timer#start + 11/25 + Float#- - 54 + 97 @@ -11809,21 +12107,25 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Timer#reset + 11/23 + ProgressBar::Projectors::SmoothedAverage#projection + + 97 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/89 + Integer#/ - 53 + 97 - - - - - - - - -     @@ -11831,35 +12133,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49/49 - ProgressBar::Time#now + 11/38 + Float#* - 16 + 97 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 49 - - - ProgressBar::Time#unmocked_time_method - - - - - - 19 - - - - - -     @@ -11867,10 +12146,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - Enumerable#find + 11/205 + ProgressBar::Progress#total - 20 + 97 @@ -12228,7 +12507,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 + 2/1600172 Hash#[] 21 @@ -12334,10 +12613,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/57 - ProgressBar::Projectors::SmoothedAverage#progress + 28/57 + ProgressBar::Projectors::SmoothedAverage#absolute - 33 + 67 @@ -12347,10 +12626,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/57 - ProgressBar::Projectors::SmoothedAverage#absolute + 13/57 + ProgressBar::Projectors::SmoothedAverage#progress - 67 + 33 @@ -12392,10 +12671,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/17 - ProgressBar::Projectors::SmoothedAverage#initialize + 2/17 + ProgressBar::Projectors::SmoothedAverage#start - 13 + 20 @@ -12405,10 +12684,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/17 - ProgressBar::Projectors::SmoothedAverage#start + 1/17 + ProgressBar::Projectors::SmoothedAverage#initialize - 20 + 13 @@ -12499,8 +12778,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/1369396 - Array#[] + 14/40 + Integer#- 67 @@ -12512,8 +12791,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/40 - Integer#- + 28/57 + ProgressBar::Projectors::SmoothedAverage#samples 67 @@ -12525,8 +12804,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/57 - ProgressBar::Projectors::SmoothedAverage#samples + 28/2738598 + Array#[] 67 @@ -12693,7 +12972,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 + 2/1600172 Hash#[] 19 @@ -12835,7 +13114,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/30768 + 2/61566 Class#new 13 @@ -12900,10 +13179,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/799798 - Hash#[] + 1/1 + ProgressBar::Output#stream= - 11 + 12 @@ -12913,10 +13192,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Output#stream= + 3/1600172 + Hash#[] - 12 + 11 @@ -14149,10 +14428,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - ProgressBar::Timer#started_at= + 13/28 + ProgressBar::Timer#stopped_at= - 44 + 45 @@ -14162,10 +14441,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/28 - ProgressBar::Timer#stopped_at= + 13/27 + ProgressBar::Timer#started_at= - 45 + 44 @@ -15238,7 +15517,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/30768 + 1/61566 Class#new 12 @@ -15265,9 +15544,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Throttle#started_at= + ProgressBar::Throttle#stopped_at= - 10 + 11 @@ -15291,9 +15570,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Throttle#stopped_at= + ProgressBar::Throttle#started_at= - 11 + 10 @@ -15316,7 +15595,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/799798 + 1/1600172 Hash#[] 9 @@ -15432,10 +15711,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Calculators::Length#output= + 1/14 + ProgressBar::Calculators::Length#current_length= - 10 + 11 @@ -15445,10 +15724,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Calculators::Length#current_length= + 1/1 + ProgressBar::Calculators::Length#output= - 11 + 10 @@ -15458,7 +15737,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/799798 + 2/1600172 Hash#[] 9 @@ -15954,7 +16233,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/128135 + 13/255947 String#=~ 94 @@ -16058,7 +16337,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - #<Class:0x0000000100662f00>#[] + #<Class:0x00000001045c2ee8>#[] 34 @@ -16070,103 +16349,6 @@

Thread 80, Fiber: 60

- - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Calculators::Length#terminal_width - - 46 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 13 - - - ProgressBar::Calculators::Length#dynamic_width - - - - - - 56 - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object - - 58 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/14 - IO#tty? - - 57 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/21 - Kernel#respond_to? - - 57 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 39/52 - ProgressBar::Calculators::Length#output - - 57 - - - - - - - - - @@ -16328,8 +16510,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Calculators::Length#length + 1/27 + String#* 38 @@ -16341,8 +16523,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/27 - String#* + 1/14 + ProgressBar::Calculators::Length#length 38 @@ -16959,8 +17141,8 @@

Thread 80, Fiber: 60

0.00 1 - - #<Class:0x0000000100662f00>#[] + + #<Class:0x00000001045c2ee8>#[] @@ -17517,10 +17699,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 60/116 - ProgressBar::Format::Molecule#bar_molecule? + 52/116 + ProgressBar::Format::Molecule#full_key - 39 + 47 @@ -17530,10 +17712,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 52/116 - ProgressBar::Format::Molecule#full_key + 60/116 + ProgressBar::Format::Molecule#bar_molecule? - 47 + 39 @@ -17734,8 +17916,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Percentage#progress + 13/65 + String#to_s 23 @@ -17747,8 +17929,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/65 - String#to_s + 13/13 + ProgressBar::Components::Percentage#progress 23 @@ -18037,8 +18219,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/38 - Float#* + 13/27 + Float#floor 101 @@ -18050,8 +18232,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/113 - ProgressBar::Progress#progress + 13/38 + Float#* 101 @@ -18063,10 +18245,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/80 - Integer#* + 13/89 + Kernel#nil? - 101 + 99 @@ -18076,8 +18258,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - Float#floor + 13/80 + Integer#* 101 @@ -18102,10 +18284,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/89 - Kernel#nil? + 13/113 + ProgressBar::Progress#progress - 99 + 101 @@ -18272,10 +18454,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/38 - ProgressBar::Components::Time#elapsed + 13/38 + ProgressBar::Progress#percentage_completed_with_precision - 85 + 101 @@ -18285,10 +18467,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/38 - ProgressBar::Progress#percentage_completed_with_precision + 14/38 + ProgressBar::Components::Time#elapsed - 101 + 85 @@ -18653,10 +18835,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 42/86 - ProgressBar::Components::Time#elapsed + 33/86 + ProgressBar::Components::Time#estimated_seconds_remaining - 81 + 95 @@ -18666,10 +18848,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 33/86 - ProgressBar::Components::Time#estimated_seconds_remaining + 42/86 + ProgressBar::Components::Time#elapsed - 95 + 81 @@ -19444,7 +19626,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/30768 + 4/61566 Class#new 30 @@ -19470,7 +19652,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/169255 + 4/338457 Array#<< 30 @@ -19740,245 +19922,19 @@

Thread 80, Fiber: 60

26 - ProgressBar::Components::Bar#completed_length - - - - - - 91 - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/26 - ProgressBar::Progress#percentage_completed - - 92 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/39 - ProgressBar::Components::Bar#length - - 92 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/89 - Integer#/ - - 92 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/26 - Integer#floor - - 92 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/39 - ProgressBar::Components::Bar#progress - - 92 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/80 - Integer#* - - 92 - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 50/50 - ProgressBar::Timer#divide_seconds - - 68 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 50 - - - Integer#divmod - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 4/4 - String#scan - - - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 4 - - - String#[] - - - - - - - - - - - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/26 - ProgressBar::Components::Bar#completed_length - - 92 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 26 - - - ProgressBar::Progress#percentage_completed + ProgressBar::Components::Bar#completed_length - 73 + 91 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 78/205 - ProgressBar::Progress#total - - 74 - -     @@ -19987,9 +19943,9 @@

Thread 80, Fiber: 60

0.00 0.00 26/26 - Integer#to_i + ProgressBar::Progress#percentage_completed - 82 + 92 @@ -19999,10 +19955,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/113 - ProgressBar::Progress#progress + 26/89 + Integer#/ - 82 + 92 @@ -20012,10 +19968,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/80 - Integer#* + 26/39 + ProgressBar::Components::Bar#length - 82 + 92 @@ -20025,10 +19981,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/89 - Integer#/ + 26/39 + ProgressBar::Components::Bar#progress - 82 + 92 @@ -20038,10 +19994,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/125 - Integer#== + 26/26 + Integer#floor - 75 + 92 @@ -20051,10 +20007,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/89 - Kernel#nil? + 26/80 + Integer#* - 74 + 92 @@ -20073,10 +20029,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated + 50/50 + ProgressBar::Timer#divide_seconds - 67 + 68 @@ -20086,34 +20042,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 50 - - ProgressBar::Components::Time#estimated_seconds_remaining + + Integer#divmod - 94 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/36 - ProgressBar::Timer#elapsed_seconds - - 97 - + + + + + + + +   @@ -20122,50 +20074,43 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Progress#none? + 4/4 + String#scan - 95 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Projectors::SmoothedAverage#none? - - 95 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 4 + + + String#[] + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/25 - ProgressBar::Progress#unknown? - - 95 - + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/11 - Float#round - - 97 - + + + + + + + +   @@ -20174,37 +20119,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 33/86 - ProgressBar::Components::Time#timer + 26/26 + ProgressBar::Components::Bar#completed_length - 95 + 92 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/11 - ProgressBar::Timer#reset? - - 95 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 26 + + + ProgressBar::Progress#percentage_completed + + + + + + 73 + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/51 - ProgressBar::Timer#stopped? - - 95 - + +   @@ -20213,10 +20155,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/47 - ProgressBar::Components::Time#progress + 78/205 + ProgressBar::Progress#total - 95 + 74 @@ -20226,10 +20168,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 23/23 - ProgressBar::Components::Time#projector + 26/26 + Integer#to_i - 95 + 82 @@ -20239,10 +20181,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/23 - ProgressBar::Projectors::SmoothedAverage#projection + 26/89 + Integer#/ - 97 + 82 @@ -20252,10 +20194,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/25 - Float#- + 26/80 + Integer#* - 97 + 82 @@ -20265,10 +20207,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/205 - ProgressBar::Progress#total + 26/125 + Integer#== - 97 + 75 @@ -20278,10 +20220,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/38 - Float#* + 26/113 + ProgressBar::Progress#progress - 97 + 82 @@ -20291,10 +20233,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/89 - Integer#/ + 26/89 + Kernel#nil? - 97 + 74 @@ -20679,9 +20621,9 @@

Thread 80, Fiber: 60

0.00 0.00 4/4 - ProgressBar::Format::Molecule#key= + ProgressBar::Format::Molecule#method_name= - 34 + 35 @@ -20692,9 +20634,9 @@

Thread 80, Fiber: 60

0.00 0.00 4/4 - ProgressBar::Format::Molecule#method_name= + ProgressBar::Format::Molecule#key= - 35 + 34 diff --git a/task-1.rb b/task-1.rb index 14ff66eb..c4aa0881 100644 --- a/task-1.rb +++ b/task-1.rb @@ -90,10 +90,10 @@ def work(file_name:) report[:totalUsers] = users.count # Подсчёт количества уникальных браузеров - uniqueBrowsers = [] + uniqueBrowsers = Set.new sessions.each do |session| browser = session['browser'] - uniqueBrowsers += [browser] if uniqueBrowsers.all? { |b| b != browser } + uniqueBrowsers.add(browser) end progressbar.increment From b9a3e81bc0a8da0b084e51f5114b0649266553a0 Mon Sep 17 00:00:00 2001 From: Araslanov Evgeny Date: Sun, 26 Jan 2025 22:06:49 +0500 Subject: [PATCH 7/7] Optimization #5 - used Array#concat for users_objects --- case-study.md | 20 +- prof_reports/ruby_prof_callstack_after.html | 1940 ++-- prof_reports/ruby_prof_callstack_before.html | 1858 ++-- prof_reports/ruby_prof_graph_after.html | 3746 ++++---- prof_reports/ruby_prof_graph_before.html | 8340 +++++++++--------- task-1.rb | 2 +- 6 files changed, 8170 insertions(+), 7736 deletions(-) diff --git a/case-study.md b/case-study.md index 57e9a26b..b11931d7 100644 --- a/case-study.md +++ b/case-study.md @@ -12,7 +12,7 @@ Я решил исправить эту проблему, оптимизировав эту программу. ## Формирование метрики -Для того, чтобы понимать, дают ли мои изменения положительный эффект на быстродействие программы я придумал использовать такую метрику: Время выполнения программы +Для того, чтобы понимать, дают ли мои изменения положительный эффект на быстродействие программы я придумал использовать такую метрику: Время выполнения программы. ## Гарантия корректности работы оптимизированной программы Программа поставлялась с тестом. Выполнение этого теста в фидбек-лупе позволяет не допустить изменения логики программы при оптимизации. @@ -23,7 +23,7 @@ Вот как я построил `feedback_loop`: Создавал файл с N строк, чтобы программа могла выполнятся 10-20 секунд ## Вникаем в детали системы, чтобы найти главные точки роста -Для того, чтобы найти "точки роста" для оптимизации я воспользовался RubyProf, с отчетами в видел Graph и CallStack +Для того, чтобы найти "точки роста" для оптимизации я воспользовался RubyProf, с отчетами в виде Graph и CallStack Вот какие проблемы удалось найти и решить @@ -51,18 +51,16 @@ - Время выполнения программы уменьшилось с ~15 секунд до ~7 секунд, при входных данных в 400к строк. Время выполнения программы на большом объёме данных больше 30 секунд. - Отчет профилировщика стал указывать на другие проблемы, главная точкой роста изменилась. -### Ваша находка №X -- какой отчёт показал главную точку роста -- как вы решили её оптимизировать -- как изменилась метрика -- как изменился отчёт профилировщика - исправленная проблема перестала быть главной точкой роста? +### Ваша находка №5 +- При объёме данных в 700к строк CallStack показал что программа 53.64% времени тратит на Array#+. С помощью Graph стало понятно что много времени тратиться на формирования списка пользователей (users_objects). +- Рекомундуется использовать Array#concat (https://github.com/fastruby/fast-ruby?tab=readme-ov-file#arrayconcat-vs-array-code) +- Время выполнения программы уменьшилось с ~18 секунд до ~9 секунд, при входных данных в 700к строк. Время выполнения программы на большом объёме данных стало меньше 30 секунд. +- Отчет профилировщика стал указывать на другие проблемы, главная точкой роста изменилась. Сейчас большая часть времени тратиться на Array#map в методе collect_stats_from_users. ## Результаты В результате проделанной оптимизации наконец удалось обработать файл с данными. -Удалось улучшить метрику системы с *того, что у вас было в начале, до того, что получилось в конце* и уложиться в заданный бюджет. - -*Какими ещё результами можете поделиться* +Удалось улучшить метрику системы с более 15 минут до менее 30 секунд и уложиться в заданный бюджет. ## Защита от регрессии производительности -Для защиты от потери достигнутого прогресса при дальнейших изменениях программы *о performance-тестах, которые вы написали* +Для защиты от потери достигнутого прогресса при дальнейших изменениях программы был создан performance тест. diff --git a/prof_reports/ruby_prof_callstack_after.html b/prof_reports/ruby_prof_callstack_after.html index 190f4b4f..852be7f7 100644 --- a/prof_reports/ruby_prof_callstack_after.html +++ b/prof_reports/ruby_prof_callstack_after.html @@ -663,7 +663,7 @@
- Call tree for application task-1-ruby-prof-callstack.rb
Generated on 2025-01-26 21:14:45 +0500 + Call tree for application task-1-ruby-prof-callstack.rb
Generated on 2025-01-26 21:56:28 +0500 with options {}
@@ -693,7 +693,7 @@
- Thread: 80, Fiber: 60 (100.00% ~ 7.4524629903025925) + Thread: 80, Fiber: 60 (100.00% ~ 8.554607236757874)
@@ -178,7 +178,7 @@

Wall_time

80 60 - 15.182634805794805 + 17.91491174697876 @@ -209,10 +209,10 @@

Thread 80, Fiber: 60

100.00% 0.00% - 15.18 + 17.91 0.00 0.00 - 15.18 + 17.91 1 @@ -232,10 +232,10 @@

Thread 80, Fiber: 60

    - 15.18 - 0.00 + 17.91 + 0.01 0.00 - 15.18 + 17.91 1/1 Object#work @@ -254,10 +254,10 @@

Thread 80, Fiber: 60

    - 15.18 - 0.00 + 17.91 + 0.01 0.00 - 15.18 + 17.91 1/1 [global]# @@ -266,11 +266,11 @@

Thread 80, Fiber: 60

100.00% - 0.02% - 15.18 - 0.00 + 0.04% + 17.91 + 0.01 0.00 - 15.18 + 17.91 1 @@ -290,10 +290,10 @@

Thread 80, Fiber: 60

    - 11.76 - 0.38 + 12.32 + 0.65 0.00 - 11.38 + 11.67 3/39 Array#each @@ -303,10 +303,10 @@

Thread 80, Fiber: 60

    - 2.91 + 4.76 0.00 0.00 - 2.91 + 4.76 7/7 Object#collect_stats_from_users @@ -316,10 +316,10 @@

Thread 80, Fiber: 60

    - 0.22 + 0.36 0.00 0.00 - 0.22 + 0.36 1/1 Object#select_sessions_for_users @@ -329,11 +329,11 @@

Thread 80, Fiber: 60

    + 0.16 0.11 - 0.08 0.00 - 0.03 - 2/677019 + 0.05 + 2/1183712 Array#map 104 @@ -342,8 +342,8 @@

Thread 80, Fiber: 60

    - 0.09 - 0.09 + 0.15 + 0.15 0.00 0.00 1/1 @@ -355,11 +355,11 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 + 0.06 + 0.06 0.00 0.00 - 1/800001 + 1/1400001 String#split 60 @@ -368,11 +368,11 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.05 + 0.05 0.00 0.00 - 1/123095 + 1/215221 Array#sort 104 @@ -381,8 +381,8 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.02 + 0.02 0.00 0.00 1/1 @@ -394,8 +394,21 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 + 1/16 + IO#write + + 169 + + + +   +   + 0.01 + 0.01 0.00 0.00 1/1 @@ -411,10 +424,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/16 - IO#write + 12/12 + ProgressBar::Base#increment - 169 + 61 @@ -424,10 +437,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Base#increment + 1/1 + <Class::ProgressBar>#create - 61 + 57 @@ -438,9 +451,22 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - <Class::ProgressBar>#create + Enumerable#count - 57 + 100 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/107631 + Class#new + + 93 @@ -450,7 +476,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/61548 + 1/107611 Array#join 104 @@ -463,7 +489,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/61550 + 2/107612 Array#count 90 @@ -476,10 +502,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/34856637 - String#== + 1/1560528 + Hash#[]= - 57 + 90 @@ -489,10 +515,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/553808 - Hash#[]= + 1/1400001 + String#== - 90 + 57 @@ -533,10 +559,10 @@

Thread 80, Fiber: 60

    - 0.22 - 0.12 + 0.36 + 0.19 0.00 - 0.10 + 0.17 1/39 Enumerable#each_with_object @@ -546,10 +572,10 @@

Thread 80, Fiber: 60

    - 2.91 - 0.66 + 4.76 + 1.00 0.00 - 2.25 + 3.76 7/39 Object#collect_stats_from_users @@ -559,10 +585,10 @@

Thread 80, Fiber: 60

    - 11.76 - 0.38 + 12.32 + 0.65 0.00 - 11.38 + 11.67 3/39 Object#work @@ -570,12 +596,12 @@

Thread 80, Fiber: 60

- 98.04% - 7.59% - 14.89 - 1.15 + 97.37% + 10.25% + 17.44 + 1.84 0.00 - 13.73 + 15.61 39 @@ -595,37 +621,24 @@

Thread 80, Fiber: 60

    - 7.89 - 3.30 - 0.00 - 4.59 - 400000/400000 - Array#all? - - 96 - - - -   -   - 2.43 - 2.43 + 9.49 + 9.49 0.00 0.00 - 61747/61747 + 107610/107610 Array#+ - 96 + 121     - 1.50 - 0.47 + 2.57 + 0.70 0.00 - 1.03 - 677017/677019 + 1.87 + 1183710/1183712 Array#map 135 @@ -634,11 +647,11 @@

Thread 80, Fiber: 60

    - 0.61 - 0.35 + 1.10 + 0.64 0.00 - 0.26 - 338453/338453 + 0.46 + 592390/592390 Object#parse_session 69 @@ -647,11 +660,11 @@

Thread 80, Fiber: 60

    - 0.23 - 0.23 + 0.43 + 0.43 0.00 0.00 - 400000/800001 + 700000/1400001 String#split 67 @@ -660,11 +673,11 @@

Thread 80, Fiber: 60

    - 0.21 - 0.21 + 0.34 + 0.34 0.00 0.00 - 1600111/1600172 + 2798930/2798991 Hash#[] 119 @@ -673,11 +686,11 @@

Thread 80, Fiber: 60

    + 0.20 0.12 - 0.08 0.00 - 0.04 - 123094/123095 + 0.08 + 215220/215221 Array#sort 147 @@ -686,11 +699,11 @@

Thread 80, Fiber: 60

    - 0.12 - 0.12 + 0.17 + 0.17 0.00 0.00 - 984752/984765 + 1721760/1721773 String#+ 40 @@ -699,24 +712,24 @@

Thread 80, Fiber: 60

    - 0.08 - 0.08 - 0.00 + 0.15 + 0.09 0.00 - 553806/553808 - Hash#[]= + 0.05 + 592390/592390 + Set#add - 48 + 96     + 0.15 0.08 - 0.04 0.00 - 0.04 - 61547/61547 + 0.06 + 107610/107610 Object#parse_user 68 @@ -725,24 +738,24 @@

Thread 80, Fiber: 60

    - 0.08 - 0.03 + 0.14 + 0.14 0.00 - 0.05 - 61547/61547 - Array#any? + 0.00 + 968136/1560528 + Hash#[]= - 153 + 48     - 0.08 - 0.08 + 0.13 + 0.13 0.00 0.00 - 430829/430831 + 753270/753272 Hash#merge 129 @@ -751,11 +764,24 @@

Thread 80, Fiber: 60

    - 0.05 - 0.05 + 0.13 + 0.06 + 0.00 + 0.07 + 107610/107610 + Array#any? + + 153 + + + +   +   + 0.12 + 0.10 0.00 0.01 - 61547/61566 + 107610/107631 Class#new 120 @@ -764,11 +790,11 @@

Thread 80, Fiber: 60

    - 0.05 - 0.05 + 0.08 + 0.08 0.00 0.00 - 800000/34856637 + 1400000/1400001 String#== 68 @@ -777,11 +803,11 @@

Thread 80, Fiber: 60

    - 0.05 - 0.05 + 0.07 + 0.07 0.00 0.00 - 861658/861658 + 1506540/1506540 User#attributes 40 @@ -790,11 +816,24 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 + 0.06 + 0.03 + 0.00 + 0.03 + 107610/107610 + Array#all? + + 159 + + + +   +   + 0.06 + 0.06 0.00 0.00 - 800000/2738598 + 1400000/4792535 Array#[] 68 @@ -803,11 +842,11 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.05 + 0.05 0.00 0.00 - 400000/400000 + 700000/700000 Array#concat 68 @@ -816,11 +855,11 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.05 + 0.05 0.00 0.00 - 430829/430829 + 753270/753270 User#sessions 129 @@ -829,11 +868,11 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 + 0.04 + 0.04 0.00 0.00 - 338453/338457 + 592390/592394 Array#<< 49 @@ -842,11 +881,11 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 + 0.03 + 0.03 0.00 0.00 - 61547/61548 + 107610/107611 Array#join 147 @@ -859,7 +898,7 @@

Thread 80, Fiber: 60

0.02 0.00 0.00 - 123094/123094 + 215220/215220 Integer#to_s 135 @@ -872,10 +911,10 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 61547/61547 - Array#max + 107610/107610 + Array#reverse - 141 + 165 @@ -885,33 +924,33 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 61547/61547 - Array#reverse + 107610/107610 + Array#sum - 165 + 135     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 61547/61547 - Array#sum + 107610/107610 + Array#max - 135 + 141     + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 61547/61550 + 107610/107612 Array#count 129 @@ -937,7 +976,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 52/338518 + 52/592455 String#gsub! 8 @@ -994,27 +1033,27 @@

Thread 80, Fiber: 60

    - 7.89 - 3.30 + 9.49 + 9.49 0.00 - 4.59 - 400000/400000 + 0.00 + 107610/107610 Array#each - 51.94% - 21.71% - 7.89 - 3.30 + 52.98% + 52.98% + 9.49 + 9.49 + 0.00 0.00 - 4.59 - 400000 + 107610 - - Array#all? + + Array#+ @@ -1027,43 +1066,62 @@

Thread 80, Fiber: 60

- -   -   - 4.57 - 3.03 - 0.00 - 1.54 - 34056636/34056649 - BasicObject#!= - - 96 - + + + + + + + +     - 0.01 - 0.01 + 4.76 0.00 0.00 - 79403/255947 - String#=~ + 4.76 + 7/7 + Object#work - 159 + 128 + + 26.59% + 0.00% + 4.76 + 0.00 + 0.00 + 4.76 + 7 + + + Object#collect_stats_from_users + + + + + + 38 + + + + + +     - 0.01 - 0.01 - 0.00 + 4.76 + 1.00 0.00 - 79403/932840 - String#upcase + 3.76 + 7/39 + Array#each - 159 + 39 @@ -1078,40 +1136,40 @@

Thread 80, Fiber: 60

    + 0.16 + 0.11 0.00 - 0.00 - 0.00 - 0.00 - 13/34056649 - ProgressBar::Calculators::Length#length_changed? + 0.05 + 2/1183712 + Object#work - 22 + 104     - 4.57 - 3.03 + 2.57 + 0.70 0.00 - 1.54 - 34056636/34056649 - Array#all? + 1.87 + 1183710/1183712 + Array#each - 30.10% - 19.92% - 4.57 - 3.03 + 15.27% + 4.51% + 2.74 + 0.81 0.00 - 1.54 - 34056649 + 1.93 + 1183712 - - BasicObject#!= + + Array#map @@ -1127,40 +1185,53 @@

Thread 80, Fiber: 60

    - 1.54 - 1.54 + 1.64 + 0.83 0.00 - 0.00 - 34056636/34856637 - String#== + 0.81 + 592390/592390 + <Class::Date>#parse - + 165     + 0.12 + 0.12 0.00 0.00 - 0.00 - 0.00 - 1/1 - BasicObject#== + 592390/592390 + Date#iso8601 - + 165     + 0.10 + 0.10 0.00 0.00 + 1184780/1632354 + String#upcase + + 107 + + + +   +   + 0.06 + 0.06 0.00 0.00 - 12/125 - Integer#== + 1184780/1184780 + String#to_i - + 135 @@ -1175,33 +1246,33 @@

Thread 80, Fiber: 60

    - 2.91 - 0.00 + 1.64 + 0.83 0.00 - 2.91 - 7/7 - Object#work + 0.81 + 592390/592390 + Array#map - 128 + - 19.16% - 0.00% - 2.91 + 9.16% + 4.63% + 1.64 + 0.83 0.00 - 0.00 - 2.91 - 7 + 0.81 + 592390 - - Object#collect_stats_from_users + + <Class::Date>#parse - 38 + @@ -1211,60 +1282,80 @@

Thread 80, Fiber: 60

    - 2.91 - 0.66 + 0.27 + 0.27 0.00 - 2.25 - 7/39 - Array#each + 0.00 + 592390/592455 + String#gsub! - 39 + - - - - - - - - + +   +   + 0.27 + 0.27 + 0.00 + 0.00 + 1184780/1184780 + Regexp#match + + +     - 2.43 - 2.43 + 0.15 + 0.15 0.00 0.00 - 61747/61747 - Array#each + 592390/592390 + MatchData#begin - + - - 15.98% - 15.98% - 2.43 - 2.43 - 0.00 - 0.00 - 61747 - - - Array#+ - - - - - - - - + +   +   + 0.05 + 0.05 + 0.00 + 0.00 + 592390/592390 + String#[]= + + + - - + +   +   + 0.04 + 0.04 + 0.00 + 0.00 + 592390/592390 + MatchData#end + + + + + +   +   + 0.03 + 0.03 + 0.00 + 0.00 + 592390/592390 + Integer#div + + + @@ -1278,46 +1369,33 @@

Thread 80, Fiber: 60

    - 0.11 - 0.08 - 0.00 - 0.03 - 2/677019 - Object#work - - 104 - - - -   -   - 1.50 - 0.47 + 1.10 + 0.64 0.00 - 1.03 - 677017/677019 + 0.46 + 592390/592390 Array#each - 10.62% + 6.16% 3.60% - 1.61 - 0.55 + 1.10 + 0.64 0.00 - 1.07 - 677019 + 0.46 + 592390 - - Array#map + + Object#parse_session - + 27 @@ -1327,53 +1405,27 @@

Thread 80, Fiber: 60

    - 0.86 - 0.44 - 0.00 - 0.42 - 338453/338453 - <Class::Date>#parse - - 165 - - - -   -   - 0.09 - 0.09 - 0.00 - 0.00 - 676906/932840 - String#upcase - - 107 - - - -   -   - 0.06 - 0.06 + 0.33 + 0.33 0.00 0.00 - 338453/338453 - Date#iso8601 + 592390/1400001 + String#split - 165 + 28     - 0.05 - 0.05 + 0.13 + 0.13 0.00 0.00 - 676906/676906 - String#to_i + 2961950/4792535 + Array#[] - 135 + 30 @@ -1388,53 +1440,66 @@

Thread 80, Fiber: 60

    + 0.05 + 0.05 0.00 0.00 + 107610/1400001 + Object#parse_user + + 18 + + + +   +   + 0.06 + 0.06 0.00 0.00 - 1/34856637 + 1/1400001 Object#work - 57 + 60     - 0.05 - 0.05 + 0.33 + 0.33 0.00 0.00 - 800000/34856637 - Array#each + 592390/1400001 + Object#parse_session - + 28     - 1.54 - 1.54 + 0.43 + 0.43 0.00 0.00 - 34056636/34856637 - BasicObject#!= + 700000/1400001 + Array#each - 10.49% - 10.49% - 1.59 - 1.59 + 4.85% + 4.85% + 0.87 + 0.87 0.00 0.00 - 34856637 + 1400001 - - String#== + + String#split @@ -1459,33 +1524,33 @@

Thread 80, Fiber: 60

    - 0.86 - 0.44 + 0.36 0.00 - 0.42 - 338453/338453 - Array#map + 0.00 + 0.36 + 1/1 + Object#work - + 115 - 5.68% - 2.92% - 0.86 - 0.44 + 2.00% + 0.00% + 0.36 + 0.00 0.00 - 0.42 - 338453 + 0.36 + 1 - - <Class::Date>#parse + + Object#select_sessions_for_users - + 46 @@ -1495,120 +1560,55 @@

Thread 80, Fiber: 60

    - 0.15 - 0.15 + 0.36 0.00 0.00 - 676906/676906 - Regexp#match + 0.36 + 1/1 + Enumerable#each_with_object - + 47 - -   -   - 0.14 - 0.14 - 0.00 - 0.00 - 338453/338518 - String#gsub! - - - + + + + + + + +     - 0.08 - 0.08 + 0.36 0.00 0.00 - 338453/338453 - MatchData#begin + 0.36 + 1/1 + Object#select_sessions_for_users - - - - -   -   - 0.03 - 0.03 - 0.00 - 0.00 - 338453/338453 - String#[]= - - - - - -   -   - 0.02 - 0.02 - 0.00 - 0.00 - 338453/338453 - MatchData#end - - - - - -   -   - 0.02 - 0.02 - 0.00 - 0.00 - 338453/338453 - Integer#div - - - - - - - - - - - - - - -   -   - 0.61 - 0.35 - 0.00 - 0.26 - 338453/338453 - Array#each - - + 47 - 4.01% - 2.29% - 0.61 - 0.35 + 2.00% + 0.00% + 0.36 + 0.00 0.00 - 0.26 - 338453 + 0.36 + 1 - - Object#parse_session + + Enumerable#each_with_object - 27 + @@ -1618,27 +1618,14 @@

Thread 80, Fiber: 60

    - 0.19 + 0.36 0.19 0.00 - 0.00 - 338453/800001 - String#split - - 28 - - - -   -   - 0.07 - 0.07 - 0.00 - 0.00 - 1692265/2738598 - Array#[] + 0.17 + 1/39 + Array#each - 30 + @@ -1653,203 +1640,107 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 0.00 0.00 - 61547/800001 - Object#parse_user + 0.00 + 0.00 + 1/2798991 + ProgressBar::Components::Title#initialize - 18 + 9     - 0.04 - 0.04 0.00 0.00 - 1/800001 - Object#work + 0.00 + 0.00 + 1/2798991 + ProgressBar::Components::Percentage#initialize - 60 + 7     - 0.19 - 0.19 0.00 0.00 - 338453/800001 - Object#parse_session + 0.00 + 0.00 + 1/2798991 + ProgressBar::Throttle#initialize - 28 + 9     - 0.23 - 0.23 0.00 0.00 - 400000/800001 - Array#each + 0.00 + 0.00 + 2/2798991 + ProgressBar::Calculators::Length#initialize - + 9 - - 3.19% - 3.19% - 0.48 - 0.48 - 0.00 - 0.00 - 800001 - - - String#split - - - - - - - - - - - - - - - - - - - - -     - 0.22 0.00 0.00 - 0.22 - 1/1 - Object#work + 0.00 + 0.00 + 2/2798991 + <Class::ProgressBar::Output>#detect - 115 + 21 - - 1.42% - 0.00% - 0.22 - 0.00 - 0.00 - 0.22 - 1 - - - Object#select_sessions_for_users - - - - - - 46 - - - - - -     - 0.22 0.00 0.00 - 0.22 - 1/1 - Enumerable#each_with_object + 0.00 + 0.00 + 3/2798991 + ProgressBar::Components::Time#initialize - 47 + 22 - - - - - - - - -     - 0.22 0.00 0.00 - 0.22 - 1/1 - Object#select_sessions_for_users + 0.00 + 0.00 + 1/2798991 + ProgressBar::Projectors::SmoothedAverage#initialize - 47 + 14 - - 1.42% - 0.00% - 0.22 - 0.00 - 0.00 - 0.22 - 1 - - - Enumerable#each_with_object - - - - - - - - - - - -     - 0.22 - 0.12 0.00 - 0.10 - 1/39 - Array#each + 0.00 + 0.00 + 0.00 + 3/2798991 + ProgressBar::Output#initialize - + 11 - - - - - - - - -     @@ -1857,10 +1748,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1600172 - ProgressBar::Throttle#initialize + 2/2798991 + ProgressBar::Timer#initialize - 9 + 9 @@ -1870,10 +1761,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1600172 - ProgressBar::Components::Title#initialize + 5/2798991 + ProgressBar::Components::Bar#initialize - 9 + 18 @@ -1883,10 +1774,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/1600172 - ProgressBar::Calculators::Length#initialize + 3/2798991 + ProgressBar::Components::Rate#initialize - 9 + 9 @@ -1896,10 +1787,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1600172 - ProgressBar::Components::Percentage#initialize + 2/2798991 + ProgressBar::Projectors::SmoothedAverage#start - 7 + 21 @@ -1909,10 +1800,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/1600172 - ProgressBar::Components::Time#initialize + 2/2798991 + ProgressBar::Progress#start - 22 + 19 @@ -1922,10 +1813,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/1600172 - ProgressBar::Output#initialize + 8/2798991 + ProgressBar::Base#initialize - 11 + 46 @@ -1935,10 +1826,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1600172 - ProgressBar::Projectors::SmoothedAverage#initialize + 12/2798991 + ProgressBar::Output#refresh - 14 + 51 @@ -1948,98 +1839,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/1600172 - <Class::ProgressBar::Output>#detect - - 21 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 3/1600172 - ProgressBar::Components::Rate#initialize - - 9 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 5/1600172 - ProgressBar::Components::Bar#initialize - - 18 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/1600172 - ProgressBar::Timer#initialize - - 9 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/1600172 - ProgressBar::Progress#start - - 19 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/1600172 - ProgressBar::Projectors::SmoothedAverage#start - - 21 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 8/1600172 - ProgressBar::Base#initialize - - 46 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/1600172 + 13/2798991 ProgressBar::Components::Bar#to_s 28 @@ -2048,37 +1848,24 @@

Thread 80, Fiber: 60

    + 0.34 + 0.34 0.00 0.00 - 0.00 - 0.00 - 12/1600172 - ProgressBar::Output#refresh - - 51 - - - -   -   - 0.21 - 0.21 - 0.00 - 0.00 - 1600111/1600172 + 2798930/2798991 Array#each - 1.35% - 1.35% - 0.21 - 0.21 + 1.91% + 1.91% + 0.34 + 0.34 0.00 0.00 - 1600172 + 2798991 Hash#[] @@ -2106,40 +1893,53 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 0.00 0.00 - 1/123095 - Object#work + 0.00 + 0.00 + 13/592455 + <Class::ProgressBar::Format::Formatter>#process - 104 + 11     - 0.12 - 0.08 0.00 - 0.04 - 123094/123095 + 0.00 + 0.00 + 0.00 + 52/592455 Array#each + +   +   + 0.27 + 0.27 + 0.00 + 0.00 + 592390/592455 + <Class::Date>#parse + + + + - 1.00% - 0.72% - 0.15 - 0.11 + 1.52% + 1.52% + 0.27 + 0.27 0.00 - 0.04 - 123095 + 0.00 + 592455 - - Array#sort + + String#gsub! @@ -2152,19 +1952,6 @@

Thread 80, Fiber: 60

- -   -   - 0.04 - 0.04 - 0.00 - 0.00 - 684785/684785 - Date#<=> - - - - @@ -2177,24 +1964,24 @@

Thread 80, Fiber: 60

    - 0.15 - 0.15 + 0.27 + 0.27 0.00 0.00 - 676906/676906 + 1184780/1184780 <Class::Date>#parse - 0.96% - 0.96% - 0.15 - 0.15 + 1.52% + 1.52% + 0.27 + 0.27 0.00 0.00 - 676906 + 1184780 Regexp#match @@ -2222,53 +2009,40 @@

Thread 80, Fiber: 60

    + 0.05 + 0.05 0.00 0.00 - 0.00 - 0.00 - 13/338518 - <Class::ProgressBar::Format::Formatter>#process + 1/215221 + Object#work - 11 + 104     + 0.20 + 0.12 0.00 - 0.00 - 0.00 - 0.00 - 52/338518 + 0.08 + 215220/215221 Array#each - -   -   - 0.14 - 0.14 - 0.00 - 0.00 - 338453/338518 - <Class::Date>#parse - - - - - 0.91% - 0.91% - 0.14 - 0.14 + 1.40% + 0.97% + 0.25 + 0.17 0.00 - 0.00 - 338518 + 0.08 + 215221 - - String#gsub! + + Array#sort @@ -2281,6 +2055,19 @@

Thread 80, Fiber: 60

+ +   +   + 0.08 + 0.08 + 0.00 + 0.00 + 1199958/1199958 + Date#<=> + + + + @@ -2297,7 +2084,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/2738598 + 28/4792535 ProgressBar::Projectors::SmoothedAverage#absolute 67 @@ -2310,7 +2097,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/2738598 + 13/4792535 ProgressBar::Projectors::SmoothedAverage#progress 33 @@ -2323,7 +2110,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 104/2738598 + 104/4792535 ProgressBar::Format::Molecule#lookup_value 51 @@ -2332,11 +2119,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.02 + 0.02 0.00 0.00 - 246188/2738598 + 430440/4792535 Object#parse_user 20 @@ -2345,11 +2132,11 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 + 0.06 + 0.06 0.00 0.00 - 800000/2738598 + 1400000/4792535 Array#each @@ -2358,24 +2145,24 @@

Thread 80, Fiber: 60

    - 0.07 - 0.07 + 0.13 + 0.13 0.00 0.00 - 1692265/2738598 + 2961950/4792535 Object#parse_session 30 - 0.79% - 0.79% - 0.12 - 0.12 + 1.14% + 1.14% + 0.20 + 0.20 0.00 0.00 - 2738598 + 4792535 Array#[] @@ -2407,36 +2194,62 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/984765 - ProgressBar::Output#print_and_flush + 1/1560528 + ProgressBar::Base#initialize - 67 + 46     - 0.12 - 0.12 0.00 0.00 - 984752/984765 + 0.00 + 0.00 + 1/1560528 + Object#work + + 90 + + + +   +   + 0.05 + 0.05 + 0.00 + 0.00 + 592390/1560528 + Set#add + + 512 + + + +   +   + 0.14 + 0.14 + 0.00 + 0.00 + 968136/1560528 Array#each - 0.78% - 0.78% - 0.12 - 0.12 + 1.06% + 1.06% + 0.19 + 0.19 0.00 0.00 - 984765 + 1560528 - - String#+ + + Hash#[]= @@ -2461,53 +2274,40 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 0.00 0.00 - 79403/932840 - Array#all? + 0.00 + 0.00 + 13/1721773 + ProgressBar::Output#print_and_flush - + 67     - 0.02 - 0.02 + 0.17 + 0.17 0.00 0.00 - 176531/932840 - Array#any? - - - - - -   -   - 0.09 - 0.09 - 0.00 - 0.00 - 676906/932840 - Array#map + 1721760/1721773 + Array#each - 0.73% - 0.73% - 0.11 - 0.11 + 0.96% + 0.96% + 0.17 + 0.17 0.00 0.00 - 932840 + 1721773 - - String#upcase + + String#+ @@ -2532,8 +2332,8 @@

Thread 80, Fiber: 60

    - 0.09 - 0.09 + 0.15 + 0.15 0.00 0.00 1/1 @@ -2543,10 +2343,10 @@

Thread 80, Fiber: 60

- 0.59% - 0.59% - 0.09 - 0.09 + 0.86% + 0.86% + 0.15 + 0.15 0.00 0.00 1 @@ -2590,65 +2390,52 @@

Thread 80, Fiber: 60

    + 0.15 + 0.09 0.00 - 0.00 - 0.00 - 0.00 - 1/553808 - Object#work - - 90 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/553808 - ProgressBar::Base#initialize - - 46 - - - -   -   - 0.08 - 0.08 - 0.00 - 0.00 - 553806/553808 + 0.05 + 592390/592390 Array#each - 0.54% - 0.54% - 0.08 - 0.08 - 0.00 + 0.82% + 0.53% + 0.15 + 0.09 0.00 - 553808 + 0.05 + 592390 - - Hash#[]= + + Set#add - + 511 + +   +   + 0.05 + 0.05 + 0.00 + 0.00 + 592390/1560528 + Hash#[]= + + 512 + + @@ -2661,24 +2448,24 @@

Thread 80, Fiber: 60

    + 0.15 0.08 - 0.04 0.00 - 0.04 - 61547/61547 + 0.06 + 107610/107610 Array#each - 0.54% - 0.25% + 0.81% + 0.45% + 0.15 0.08 - 0.04 0.00 - 0.04 - 61547 + 0.06 + 107610 Object#parse_user @@ -2697,11 +2484,11 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.05 + 0.05 0.00 0.00 - 61547/800001 + 107610/1400001 String#split 18 @@ -2710,11 +2497,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.02 + 0.02 0.00 0.00 - 246188/2738598 + 430440/4792535 Array#[] 20 @@ -2732,27 +2519,27 @@

Thread 80, Fiber: 60

    - 0.08 - 0.03 + 0.15 + 0.15 0.00 - 0.05 - 61547/61547 - Array#each + 0.00 + 592390/592390 + <Class::Date>#parse - 0.54% - 0.22% - 0.08 - 0.03 + 0.81% + 0.81% + 0.15 + 0.15 0.00 - 0.05 - 61547 + 0.00 + 592390 - - Array#any? + + MatchData#begin @@ -2765,17 +2552,26 @@

Thread 80, Fiber: 60

+ + + + + + + + +     - 0.03 - 0.03 + 0.01 + 0.01 0.00 0.00 - 176531/255947 - String#=~ + 138633/1632354 + Array#all? - 153 + @@ -2785,12 +2581,48 @@

Thread 80, Fiber: 60

0.02 0.00 0.00 - 176531/932840 - String#upcase + 308941/1632354 + Array#any? - 153 + + + + +   +   + 0.10 + 0.10 + 0.00 + 0.00 + 1184780/1632354 + Array#map + + + + 0.76% + 0.76% + 0.14 + 0.14 + 0.00 + 0.00 + 1632354 + + + String#upcase + + + + + + + + + + + + @@ -2807,7 +2639,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/430831 + 2/753272 ProgressBar::Base#initialize 71 @@ -2816,24 +2648,24 @@

Thread 80, Fiber: 60

    - 0.08 - 0.08 + 0.13 + 0.13 0.00 0.00 - 430829/430831 + 753270/753272 Array#each - 0.51% - 0.51% - 0.08 - 0.08 + 0.74% + 0.74% + 0.13 + 0.13 0.00 0.00 - 430831 + 753272 Hash#merge @@ -2861,27 +2693,27 @@

Thread 80, Fiber: 60

    - 0.08 - 0.08 - 0.00 + 0.13 + 0.06 0.00 - 338453/338453 - <Class::Date>#parse + 0.07 + 107610/107610 + Array#each - 0.50% - 0.50% - 0.08 - 0.08 - 0.00 + 0.71% + 0.31% + 0.13 + 0.06 0.00 - 338453 + 0.07 + 107610 - - MatchData#begin + + Array#any? @@ -2894,6 +2726,32 @@

Thread 80, Fiber: 60

+ +   +   + 0.05 + 0.05 + 0.00 + 0.00 + 308941/447587 + String#=~ + + 153 + + + +   +   + 0.02 + 0.02 + 0.00 + 0.00 + 308941/1632354 + String#upcase + + 153 + + @@ -2906,24 +2764,24 @@

Thread 80, Fiber: 60

    - 0.06 - 0.06 + 0.12 + 0.12 0.00 0.00 - 338453/338453 + 592390/592390 Array#map - 0.42% - 0.42% - 0.06 - 0.06 + 0.69% + 0.69% + 0.12 + 0.12 0.00 0.00 - 338453 + 592390 Date#iso8601 @@ -2955,7 +2813,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/61566 + 1/107631 + Set#initialize + + 244 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/107631 ProgressBar::Throttle#initialize 12 @@ -2968,7 +2839,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/61566 + 2/107631 ProgressBar::Timer#initialize 9 @@ -2981,7 +2852,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/61566 + 1/107631 + Object#work + + 93 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 2/107631 ProgressBar::Output#initialize 13 @@ -2994,7 +2878,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/61566 + 4/107631 String#scan @@ -3007,7 +2891,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/61566 + 1/107631 <Class::ProgressBar::Output>#detect 24 @@ -3020,7 +2904,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/61566 + 8/107631 ProgressBar::Base#initialize 52 @@ -3033,7 +2917,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/61566 + 1/107631 <Class::ProgressBar>#create 10 @@ -3042,24 +2926,24 @@

Thread 80, Fiber: 60

    - 0.05 - 0.05 + 0.12 + 0.10 0.00 0.01 - 61547/61566 + 107610/107631 Array#each - 0.36% - 0.30% - 0.06 - 0.05 + 0.64% + 0.56% + 0.12 + 0.10 0.00 0.01 - 61566 + 107631 *Class#new @@ -3082,7 +2966,7 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 61547/61547 + 107610/107610 User#initialize @@ -3187,7 +3071,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Bar#initialize + Set#initialize @@ -3200,7 +3084,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Calculators::Length#initialize + ProgressBar::Components::Bar#initialize @@ -3218,6 +3102,19 @@

Thread 80, Fiber: 60

+ +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Calculators::Length#initialize + + + +     @@ -3270,7 +3167,20 @@

Thread 80, Fiber: 60

- + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Hash#initialize + + + + + @@ -3282,27 +3192,40 @@

Thread 80, Fiber: 60

    - 0.05 - 0.05 0.00 0.00 - 676906/676906 - Array#map + 0.00 + 0.00 + 1/1400001 + Object#work + + 57 + + + +   +   + 0.08 + 0.08 + 0.00 + 0.00 + 1400000/1400001 + Array#each - 0.34% - 0.34% - 0.05 - 0.05 + 0.45% + 0.45% + 0.08 + 0.08 0.00 0.00 - 676906 + 1400001 - - String#to_i + + String#== @@ -3327,24 +3250,69 @@

Thread 80, Fiber: 60

    - 0.05 - 0.05 + 0.08 + 0.08 + 0.00 + 0.00 + 1199958/1199958 + Array#sort + + + + + + 0.43% + 0.43% + 0.08 + 0.08 + 0.00 + 0.00 + 1199958 + + + Date#<=> + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.07 + 0.07 0.00 0.00 - 861658/861658 + 1506540/1506540 Array#each - 0.31% - 0.31% - 0.05 - 0.05 + 0.40% + 0.40% + 0.07 + 0.07 0.00 0.00 - 861658 + 1506540 User#attributes @@ -3376,7 +3344,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/255947 + 13/447587 ProgressBar::Calculators::Length#unix? 94 @@ -3385,11 +3353,11 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.02 + 0.02 0.00 0.00 - 79403/255947 + 138633/447587 Array#all? @@ -3398,24 +3366,24 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.05 + 0.05 0.00 0.00 - 176531/255947 + 308941/447587 Array#any? - 0.29% - 0.29% - 0.04 - 0.04 + 0.40% + 0.40% + 0.07 + 0.07 0.00 0.00 - 255947 + 447587 String#=~ @@ -3443,27 +3411,27 @@

Thread 80, Fiber: 60

    - 0.04 - 0.04 - 0.00 + 0.06 + 0.03 0.00 - 684785/684785 - Array#sort + 0.03 + 107610/107610 + Array#each - 0.28% - 0.28% - 0.04 - 0.04 - 0.00 + 0.36% + 0.17% + 0.06 + 0.03 0.00 - 684785 + 0.03 + 107610 - - Date#<=> + + Array#all? @@ -3476,6 +3444,32 @@

Thread 80, Fiber: 60

+ +   +   + 0.02 + 0.02 + 0.00 + 0.00 + 138633/447587 + String#=~ + + 159 + + + +   +   + 0.01 + 0.01 + 0.00 + 0.00 + 138633/1632354 + String#upcase + + 159 + + @@ -3488,27 +3482,27 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.06 + 0.06 0.00 0.00 - 400000/400000 - Array#each + 1184780/1184780 + Array#map - 0.19% - 0.19% - 0.03 - 0.03 + 0.33% + 0.33% + 0.06 + 0.06 0.00 0.00 - 400000 + 1184780 - - Array#concat + + String#to_i @@ -3533,27 +3527,27 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.05 + 0.05 0.00 0.00 - 430829/430829 - Array#each + 592390/592390 + <Class::Date>#parse - 0.18% - 0.18% - 0.03 - 0.03 + 0.30% + 0.30% + 0.05 + 0.05 0.00 0.00 - 430829 + 592390 - - User#sessions + + String#[]= @@ -3578,27 +3572,27 @@

Thread 80, Fiber: 60

    - 0.03 - 0.03 + 0.05 + 0.05 0.00 0.00 - 338453/338453 - <Class::Date>#parse + 700000/700000 + Array#each - 0.18% - 0.18% - 0.03 - 0.03 + 0.27% + 0.27% + 0.05 + 0.05 0.00 0.00 - 338453 + 700000 - - String#[]= + + Array#concat @@ -3623,40 +3617,72 @@

Thread 80, Fiber: 60

    + 0.05 + 0.05 0.00 0.00 - 0.00 - 0.00 - 4/338457 - String#scan + 753270/753270 + Array#each + + 0.26% + 0.26% + 0.05 + 0.05 + 0.00 + 0.00 + 753270 + + + User#sessions + + + + + + + + + + + + + + + + + + + + +     - 0.02 - 0.02 + 0.04 + 0.04 0.00 0.00 - 338453/338457 - Array#each + 592390/592390 + <Class::Date>#parse - 0.15% - 0.15% - 0.02 - 0.02 + 0.21% + 0.21% + 0.04 + 0.04 0.00 0.00 - 338457 + 592390 - - Array#<< + + MatchData#end @@ -3685,36 +3711,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/61548 - Object#work + 4/592394 + String#scan - 104 +     - 0.02 - 0.02 + 0.04 + 0.04 0.00 0.00 - 61547/61548 + 592390/592394 Array#each - 0.13% - 0.13% - 0.02 - 0.02 + 0.20% + 0.20% + 0.04 + 0.04 0.00 0.00 - 61548 + 592394 - - Array#join + + Array#<< @@ -3739,27 +3765,27 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 + 0.03 + 0.03 0.00 0.00 - 338453/338453 + 592390/592390 <Class::Date>#parse - 0.12% - 0.12% - 0.02 - 0.02 + 0.17% + 0.17% + 0.03 + 0.03 0.00 0.00 - 338453 + 592390 - - MatchData#end + + Integer#div @@ -3784,27 +3810,40 @@

Thread 80, Fiber: 60

    - 0.02 - 0.02 0.00 0.00 - 123094/123094 + 0.00 + 0.00 + 1/107611 + Object#work + + 104 + + + +   +   + 0.03 + 0.03 + 0.00 + 0.00 + 107610/107611 Array#each - 0.10% - 0.10% - 0.02 - 0.02 + 0.16% + 0.16% + 0.03 + 0.03 0.00 0.00 - 123094 + 107611 - - Integer#to_s + + Array#join @@ -3833,23 +3872,23 @@

Thread 80, Fiber: 60

0.02 0.00 0.00 - 338453/338453 - <Class::Date>#parse + 215220/215220 + Array#each - 0.10% - 0.10% + 0.11% + 0.11% 0.02 0.02 0.00 0.00 - 338453 + 215220 - - Integer#div + + Integer#to_s @@ -3874,8 +3913,8 @@

Thread 80, Fiber: 60

    - 0.01 - 0.01 + 0.02 + 0.02 0.00 0.00 1/1 @@ -3885,10 +3924,10 @@

Thread 80, Fiber: 60

- 0.08% - 0.08% - 0.01 - 0.01 + 0.11% + 0.11% + 0.02 + 0.02 0.00 0.00 1 @@ -3923,20 +3962,20 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 61547/61547 + 107610/107610 Class#new - 0.06% - 0.06% + 0.08% + 0.08% 0.01 0.01 0.00 0.00 - 61547 + 107610 User#initialize @@ -3968,23 +4007,23 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 61547/61547 + 107610/107610 Array#each - 0.05% - 0.05% + 0.06% + 0.06% 0.01 0.01 0.00 0.00 - 61547 + 107610 - - Array#max + + Array#reverse @@ -4006,6 +4045,19 @@

Thread 80, Fiber: 60

+ +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 15/16 + IO#print + + + +     @@ -4013,23 +4065,23 @@

Thread 80, Fiber: 60

0.01 0.00 0.00 - 61547/61547 - Array#each + 1/16 + Object#work - + 169 - 0.04% - 0.04% + 0.05% + 0.05% 0.01 0.01 0.00 0.00 - 61547 + 16 - - Array#reverse + + IO#write @@ -4054,40 +4106,27 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 15/16 - IO#print - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/16 + 1/1 Object#work - 169 + 60 - 0.03% - 0.03% - 0.00 - 0.00 + 0.05% + 0.05% + 0.01 + 0.01 0.00 0.00 - 16 + 1 - - IO#write + + <Class::IO>#read @@ -4112,27 +4151,27 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 1/1 - Object#work + 107610/107610 + Array#each - 60 + - 0.03% - 0.03% - 0.00 - 0.00 + 0.04% + 0.04% + 0.01 + 0.01 0.00 0.00 - 1 + 107610 - - <Class::IO>#read + + Array#sum @@ -4157,27 +4196,27 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 61547/61547 + 107610/107610 Array#each - 0.03% - 0.03% - 0.00 - 0.00 + 0.04% + 0.04% + 0.01 + 0.01 0.00 0.00 - 61547 + 107610 - - Array#sum + + Array#max @@ -4206,7 +4245,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/61550 + 2/107612 Object#work 90 @@ -4215,24 +4254,24 @@

Thread 80, Fiber: 60

    + 0.01 + 0.01 0.00 0.00 - 0.00 - 0.00 - 61547/61550 + 107610/107612 Array#each - 0.02% - 0.02% - 0.00 - 0.00 + 0.03% + 0.03% + 0.01 + 0.01 0.00 0.00 - 61550 + 107612 Array#count @@ -4475,10 +4514,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Base#projector + 1/29 + ProgressBar::Base#timer - 229 + 230 @@ -4501,10 +4540,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Base#timer + 13/14 + ProgressBar::Base#projector - 230 + 229 @@ -4669,7 +4708,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/1600172 + 12/2798991 Hash#[] 51 @@ -4980,7 +5019,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/984765 + 13/1721773 String#+ 67 @@ -5258,10 +5297,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/338518 - String#gsub! + 13/13 + ProgressBar::Format::String#bar_molecule_placeholder_length - 11 + 13 @@ -5271,10 +5310,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Format::String#bar_molecule_placeholder_length + 13/592455 + String#gsub! - 13 + 11 @@ -5297,10 +5336,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/40 - Integer#- + 13/26 + Integer#< - 13 + 16 @@ -5310,8 +5349,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/37 - Integer#+ + 13/40 + Integer#- 13 @@ -5323,10 +5362,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - Integer#< + 13/37 + Integer#+ - 16 + 13 @@ -5459,7 +5498,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 104/2738598 + 104/4792535 Array#[] 51 @@ -5569,7 +5608,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/61566 + 1/107631 Class#new 10 @@ -5640,7 +5679,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/61566 + 8/107631 Class#new 52 @@ -5718,7 +5757,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 8/1600172 + 8/2798991 Hash#[] 46 @@ -5731,10 +5770,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/430831 - Hash#merge + 2/21 + Hash#fetch - 71 + 48 @@ -5744,10 +5783,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/21 - Hash#fetch + 1/1 + Hash#any? - 48 + 53 @@ -5770,10 +5809,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Hash#any? + 2/753272 + Hash#merge - 53 + 71 @@ -5810,9 +5849,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#output= + ProgressBar::Base#progressable= - 81 + 69 @@ -5835,10 +5874,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/553808 - Hash#[]= + 1/1 + ProgressBar::Base#output= - 46 + 81 @@ -5848,10 +5887,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#finished= + 1/51 + ProgressBar::Base#progressable - 50 + 71 @@ -5862,9 +5901,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Outputs::Tty#resolve_format + ProgressBar::Base#finished= - 82 + 50 @@ -5875,9 +5914,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#rate_component= + ProgressBar::Base#projector= - 78 + 66 @@ -5887,10 +5926,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#bar_component= + 1/27 + ProgressBar::Base#output - 76 + 82 @@ -5900,8 +5939,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/27 - ProgressBar::Base#output + 1/1 + ProgressBar::Outputs::Tty#resolve_format 82 @@ -5913,10 +5952,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#projector= + 1/14 + ProgressBar::Base#projector - 66 + 71 @@ -5926,8 +5965,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/51 - ProgressBar::Base#progressable + 1/29 + ProgressBar::Base#timer 71 @@ -5940,9 +5979,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Base#progressable= + ProgressBar::Base#bar_component= - 69 + 76 @@ -5952,10 +5991,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Base#projector + 1/1560528 + Hash#[]= - 71 + 46 @@ -5965,10 +6004,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Base#timer + 1/1 + ProgressBar::Base#rate_component= - 71 + 78 @@ -6000,10 +6039,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Throttle#choke + 1/1 + ProgressBar::Base#initialize - 52 + 84 @@ -6013,16 +6052,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Calculators::Length#length_changed? + + ProgressBar::Base#start - 18 + 87 @@ -6036,23 +6075,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Calculators::Length#calculate_length - - 20 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/34056649 - BasicObject#!= + 1/13 + ProgressBar::Base#update_progress - 22 + 89 @@ -6062,10 +6088,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Calculators::Length#current_length= + 1/14 + ProgressBar::Timer#start - 20 + 88 @@ -6075,10 +6101,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/40 - ProgressBar::Calculators::Length#current_length + 1/29 + ProgressBar::Base#timer - 19 + 88 @@ -6181,10 +6207,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 13/13 + ProgressBar::Throttle#choke - 84 + 52 @@ -6194,16 +6220,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 13 - - ProgressBar::Base#start + + ProgressBar::Calculators::Length#length_changed? - 87 + 18 @@ -6217,10 +6243,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Base#update_progress + 13/13 + ProgressBar::Calculators::Length#calculate_length - 89 + 20 @@ -6230,10 +6256,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Timer#start + 13/13 + BasicObject#!= - 88 + 22 @@ -6243,10 +6269,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Base#timer + 26/40 + ProgressBar::Calculators::Length#current_length - 88 + 19 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + ProgressBar::Calculators::Length#current_length= + + 20 @@ -6420,10 +6459,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 13/13 + ProgressBar::Format::Molecule#lookup_value - + 56 @@ -6433,31 +6472,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 13 - - JSON::Ext::Generator::State#initialize + + ProgressBar::Components::Time#estimated_with_friendly_oob - + 43 - - - - - - - - -     @@ -6465,24 +6495,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/27 - ProgressBar::Base#initialize + 13/13 + ProgressBar::Components::Time#estimated_with_elapsed_fallback - 82 + 44 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/27 - ProgressBar::Base#to_s - - 172 - + + + + + + + +   @@ -6491,10 +6517,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - ProgressBar::Base#update_progress + 12/12 + ProgressBar::Output#with_refresh - 227 + 228 @@ -6504,31 +6530,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 27 + 12 - - ProgressBar::Base#output + + ProgressBar::Progress#increment - + 31 - - - - - - - - -     @@ -6536,35 +6553,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Output#with_refresh + 12/14 + ProgressBar::Progress#progress= - 230 + 38 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - ProgressBar::Timer#stop - - - - - - 17 - - - - - -     @@ -6572,10 +6566,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/49 - ProgressBar::Time#now + 12/37 + Integer#+ - 20 + 38 @@ -6585,10 +6579,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/64 - ProgressBar::Timer#started? + 24/125 + Integer#== - 18 + 32 @@ -6598,10 +6592,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/28 - ProgressBar::Timer#stopped_at= + 24/205 + ProgressBar::Progress#total - 20 + 32 @@ -6611,10 +6605,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/49 - ProgressBar::Timer#time + 36/113 + ProgressBar::Progress#progress - 20 + 32 @@ -6633,10 +6627,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 + 13/37 ProgressBar::Output#with_refresh - 228 + 230 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 24/37 + ProgressBar::Base#stopped? + + 124 @@ -6646,16 +6653,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 37 - - ProgressBar::Progress#increment + + ProgressBar::Base#finished? - 31 + 129 @@ -6669,10 +6676,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/14 - ProgressBar::Progress#progress= + 37/50 + ProgressBar::Progress#finished? - 38 + 130 @@ -6682,10 +6689,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/113 - ProgressBar::Progress#progress + 37/37 + ProgressBar::Base#finished - 32 + 130 @@ -6695,10 +6702,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - Integer#+ + 37/37 + ProgressBar::Base#autofinish - 38 + 130 @@ -6708,12 +6715,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/205 - ProgressBar::Progress#total + 37/51 + ProgressBar::Base#progressable - 32 + 130 + + + + + + + + +     @@ -6721,20 +6737,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/125 - Integer#== + 1/49 + ProgressBar::Timer#stop - 32 + 20 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/49 + ProgressBar::Timer#start + + 13 +   @@ -6743,10 +6763,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 34/49 + ProgressBar::Timer#elapsed_seconds - 82 + 60 @@ -6756,31 +6776,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 49 - - ProgressBar::Outputs::Tty#resolve_format + + ProgressBar::Time#now - 23 + 15 - - - - - - - - -     @@ -6788,34 +6799,37 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 49/49 + <Class::Time>#now - 75 + 16 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - ProgressBar::Base#title_component= - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 49/49 + ProgressBar::Time#unmocked_time_method + + 16 + - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 49/57 + ProgressBar::Time#time + + 16 + @@ -6833,10 +6847,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 2/14 + ProgressBar::Projectors::SmoothedAverage#start - 52 + 21 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/14 + ProgressBar::Projectors::SmoothedAverage#increment + + 29 @@ -6846,30 +6873,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 14 - - ProgressBar::Base#timer= + + ProgressBar::Projectors::SmoothedAverage#progress= - + 42 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/14 + <Class::ProgressBar::Projectors::SmoothedAverage>#calculate + + 44 +   @@ -6878,10 +6909,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Base#start + 14/14 + ProgressBar::Projectors::SmoothedAverage#absolute - 88 + 44 @@ -6891,10 +6922,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Base#initialize + 14/16 + Array#[]= - 71 + 43 @@ -6904,10 +6935,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Output#with_refresh + 14/17 + ProgressBar::Projectors::SmoothedAverage#projection= - 230 + 44 @@ -6917,34 +6948,37 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/29 - ProgressBar::Base#stopped? + 14/14 + Kernel#class - 124 + 44 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 29 - - - ProgressBar::Base#timer - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/14 + ProgressBar::Projectors::SmoothedAverage#strength + + 44 + - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/57 + ProgressBar::Projectors::SmoothedAverage#samples + + 43 + @@ -6962,44 +6996,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 13/26 + ProgressBar::Outputs::Tty#eol - 79 + 28 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - ProgressBar::Base#time_component= - - - - - - - - - - - - - - - - - - - - -     @@ -7007,10 +7009,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 13/26 + ProgressBar::Output#refresh - 78 + 51 @@ -7020,31 +7022,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 26 - - ProgressBar::Base#rate_component= + + ProgressBar::Base#stopped? - + 123 - - - - - - - - -     @@ -7052,44 +7045,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 24/37 + ProgressBar::Base#finished? - 66 + 124 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - ProgressBar::Base#projector= - - - - - - - - - - - - - - - - - - - - -     @@ -7097,10 +7058,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Base#initialize + 26/51 + ProgressBar::Timer#stopped? - 71 + 124 @@ -7110,35 +7071,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Output#with_refresh + 26/29 + ProgressBar::Base#timer - 229 + 124 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 14 - - - ProgressBar::Base#projector - - - - - - - - - - - - @@ -7155,10 +7093,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 13/13 + ProgressBar::Throttle#choke - 69 + 20 @@ -7168,22 +7106,48 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 13 - - ProgressBar::Base#progressable= + + ProgressBar::Timer#restart - + 52 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + ProgressBar::Timer#start + + 54 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Timer#reset + + 53 + + @@ -7200,10 +7164,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/51 - ProgressBar::Base#initialize + 11/36 + ProgressBar::Components::Time#estimated_seconds_remaining - 71 + 97 @@ -7213,10 +7177,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/51 - ProgressBar::Output#with_refresh + 14/36 + ProgressBar::Timer#elapsed_whole_seconds - 228 + 64 @@ -7226,10 +7190,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/51 - ProgressBar::Base#finished? + 11/36 + ProgressBar::Throttle#choke - 130 + 16 @@ -7239,31 +7203,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 51 + 36 - - ProgressBar::Base#progressable + + ProgressBar::Timer#elapsed_seconds - + 57 - - - - - - - - -     @@ -7271,44 +7226,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 34/49 + ProgressBar::Time#now - 77 + 60 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - ProgressBar::Base#percentage_component= - - - - - - - - - - - - - - - - - - - - -     @@ -7316,44 +7239,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 36/36 + Time#- - 81 + 60 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - ProgressBar::Base#output= - - - - - - - - - - - - - - - - - - - - -     @@ -7361,10 +7252,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/37 - ProgressBar::Base#stopped? + 36/64 + ProgressBar::Timer#started? - 124 + 58 @@ -7374,35 +7265,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/37 - ProgressBar::Output#with_refresh + 36/111 + ProgressBar::Timer#started_at - 230 + 60 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 37 - - - ProgressBar::Base#finished? - - - - - - 129 - - - - - -     @@ -7410,10 +7278,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/50 - ProgressBar::Progress#finished? + 34/49 + ProgressBar::Timer#time - 130 + 60 @@ -7423,24 +7291,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/37 - ProgressBar::Base#finished + 36/87 + ProgressBar::Timer#stopped_at - 130 + 60 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 37/51 - ProgressBar::Base#progressable - - 130 - + + + + + + + +   @@ -7449,21 +7313,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/37 - ProgressBar::Base#autofinish + 2/15 + ProgressBar::Outputs::Tty#clear - 130 + 11 - - - - - - - - -     @@ -7471,10 +7326,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 13/15 + ProgressBar::Output#print_and_flush - 50 + 67 @@ -7484,10 +7339,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 15 - - ProgressBar::Base#finished= + + IO#print @@ -7500,6 +7355,19 @@

Thread 80, Fiber: 60

+ +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 15/16 + IO#write + + + + @@ -7516,10 +7384,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 1/14 + ProgressBar::Components::Time#estimated_with_elapsed_fallback - 76 + 89 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + ProgressBar::Format::Molecule#lookup_value + + 56 @@ -7529,22 +7410,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 14 - - ProgressBar::Base#bar_component= + + ProgressBar::Components::Time#elapsed_with_label - + 31 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/14 + ProgressBar::Components::Time#elapsed + + 32 + + @@ -7561,10 +7455,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 13/13 + ProgressBar::Format::Molecule#lookup_value - 48 + 56 @@ -7574,22 +7468,74 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 13 - - ProgressBar::Base#autostart= + + ProgressBar::Components::Percentage#justified_percentage_with_precision - + 22 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Progress#percentage_completed_with_precision + + 23 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + String#rjust + + 23 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Components::Percentage#progress + + 23 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/65 + String#to_s + + 23 + + @@ -7606,10 +7552,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 13/13 + ProgressBar::Format::Molecule#lookup_value - 84 + 54 @@ -7619,22 +7565,48 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 13 - - ProgressBar::Base#autostart + + ProgressBar::Components::Bar#complete_bar - + 41 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Components::Bar#to_s + + 44 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + ProgressBar::Components::Bar#length= + + 42 + + @@ -7651,10 +7623,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 13/13 + ProgressBar::Components::Time#estimated_with_friendly_oob - 49 + 44 @@ -7664,31 +7636,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 13 - - ProgressBar::Base#autofinish= + + ProgressBar::Components::Time#estimated_with_elapsed_fallback - + 88 - - - - - - - - -     @@ -7696,10 +7659,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - ProgressBar::Throttle#initialize + 12/12 + ProgressBar::Components::Time#estimated_with_label - 12 + 91 @@ -7709,10 +7672,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - <Class::ProgressBar::Projector>#from_type + 1/14 + ProgressBar::Components::Time#elapsed_with_label - 11 + 89 @@ -7722,10 +7685,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - ProgressBar::Progress#initialize + 13/50 + ProgressBar::Progress#finished? - 13 + 89 @@ -7735,24 +7698,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/21 - ProgressBar::Format::Molecule#initialize + 13/47 + ProgressBar::Components::Time#progress - 35 + 89 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/21 - ProgressBar::Base#initialize - - 48 - + + + + + + + +   @@ -7761,10 +7720,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/21 - ProgressBar::Throttle#choke + 14/14 + ProgressBar::Components::Time#elapsed_with_label - 16 + 32 @@ -7774,31 +7733,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 21 + 14 - - Hash#fetch + + ProgressBar::Components::Time#elapsed - + 80 - - - - - - - - -     @@ -7806,44 +7756,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 14/14 + ProgressBar::Timer#elapsed_whole_seconds - 53 + 83 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - Hash#any? - - - - - - - - - - - - - - - - - - - - -     @@ -7851,35 +7769,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 14/38 + String#% - 82 + 85 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - <Class::String>#new - - - - - - - - - - - -     @@ -7887,21 +7782,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - String#initialize + 14/25 + ProgressBar::Timer#divide_seconds - + 83 - - - - - - - - -     @@ -7909,35 +7795,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 14/64 + ProgressBar::Timer#started? - 66 + 81 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - <Class::ProgressBar::Projector>#from_type - - - - - - 10 - - - - - -     @@ -7945,10 +7808,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/21 - Hash#fetch + 42/86 + ProgressBar::Components::Time#timer - 11 + 81 @@ -7967,10 +7830,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Base#initialize + 13/13 + ProgressBar::Components::Bar#complete_bar - 81 + 44 @@ -7980,16 +7843,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 13 - - <Class::ProgressBar::Output>#detect + + ProgressBar::Components::Bar#to_s - 20 + 25 @@ -8003,10 +7866,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/61566 - Class#new + 13/13 + ProgressBar::Components::Bar#standard_complete_string - 24 + 29 @@ -8016,10 +7879,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - IO#tty? + 13/13 + ProgressBar::Components::Bar#incomplete_string - 23 + 29 @@ -8029,10 +7892,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Kernel#is_a? + 13/25 + ProgressBar::Progress#unknown? - 21 + 26 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + Symbol#== + + 28 @@ -8042,10 +7918,23 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/1600172 + 13/2798991 Hash#[] - 21 + 28 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/39 + ProgressBar::Components::Bar#progress + + 26 @@ -8064,10 +7953,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - <Class::String>#new + 12/12 + ProgressBar::Components::Time#estimated_with_elapsed_fallback - + 91 @@ -8077,31 +7966,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 12 - - String#initialize + + ProgressBar::Components::Time#estimated_with_label - + 27 - - - - - - - - -     @@ -8109,24 +7989,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/49 - ProgressBar::Timer#stop + 12/12 + ProgressBar::Components::Time#estimated - 20 + 28 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/49 - ProgressBar::Timer#start - - 13 - + + + + + + + +   @@ -8135,10 +8011,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/49 - ProgressBar::Timer#elapsed_seconds + 12/12 + ProgressBar::Components::Time#estimated_with_label - 60 + 28 @@ -8148,31 +8024,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49 + 12 - - ProgressBar::Timer#time + + ProgressBar::Components::Time#estimated - + 66 - - - - - - - - -     @@ -8180,10 +8047,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/28 - ProgressBar::Timer#stop + 12/12 + ProgressBar::Components::Time#estimated_seconds_remaining - 20 + 67 @@ -8193,10 +8060,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/28 - ProgressBar::Timer#start + 11/25 + ProgressBar::Timer#divide_seconds - 14 + 71 @@ -8206,44 +8073,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/28 - ProgressBar::Timer#reset + 11/38 + String#% - 45 + 76 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 28 - - - ProgressBar::Timer#stopped_at= - - - - - - - - - - - - - - - - - - - - -     @@ -8251,10 +8086,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/64 - ProgressBar::Timer#stop + 11/86 + ProgressBar::Components::Time#timer - 18 + 71 @@ -8264,24 +8099,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/64 - ProgressBar::Components::Time#elapsed + 11/25 + Integer#> - 81 + 73 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/64 - ProgressBar::Throttle#choke - - 16 - + + + + + + + +   @@ -8290,10 +8121,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/64 - ProgressBar::Timer#elapsed_seconds + 1/1 + Object#work - 58 + 100 @@ -8303,16 +8134,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 64 + 1 - - ProgressBar::Timer#started? + + Enumerable#count - 35 + @@ -8326,10 +8157,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 64/111 - ProgressBar::Timer#started_at + 1/1 + Set#each - 36 + @@ -8348,23 +8179,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Base#start - - 88 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/14 - ProgressBar::Timer#restart + 1/1 + Enumerable#count - 54 + @@ -8374,16 +8192,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14 + 1 - - ProgressBar::Timer#start + + Set#each - 12 + 499 @@ -8397,10 +8215,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/49 - ProgressBar::Time#now + 1/1 + Hash#each_key - 13 + 501 @@ -8410,12 +8228,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/51 - ProgressBar::Timer#stopped? + 1/1 + Kernel#block_given? - 13 + 500 + + + + + + + + +     @@ -8423,58 +8250,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/27 - ProgressBar::Timer#started_at= + 12/12 + ProgressBar::Components::Time#estimated - 13 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/28 - ProgressBar::Timer#stopped_at= - - 14 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/49 - ProgressBar::Timer#time - - 13 - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/2 - Class#new - - + 67 @@ -8484,16 +8263,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2 + 12 - - ProgressBar::Timer#initialize + + ProgressBar::Components::Time#estimated_seconds_remaining - 8 + 94 @@ -8507,10 +8286,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/61566 - Class#new + 11/36 + ProgressBar::Timer#elapsed_seconds - 9 + 97 @@ -8520,10 +8299,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - ProgressBar::Timer#time= + 11/11 + ProgressBar::Progress#none? - 9 + 95 @@ -8533,21 +8312,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/1600172 - Hash#[] + 12/12 + ProgressBar::Projectors::SmoothedAverage#none? - 9 + 95 - - - - - - - - -     @@ -8555,10 +8325,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/49 - ProgressBar::Timer#stop + 12/25 + ProgressBar::Progress#unknown? - 20 + 95 @@ -8568,10 +8338,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/49 - ProgressBar::Timer#start + 11/11 + ProgressBar::Timer#reset? - 13 + 95 @@ -8581,35 +8351,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/49 - ProgressBar::Timer#elapsed_seconds + 11/11 + Float#round - 60 + 97 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 49 - - - ProgressBar::Time#now - - - - - - 15 - - - - - -     @@ -8617,10 +8364,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49/49 - <Class::Time>#now + 11/51 + ProgressBar::Timer#stopped? - 16 + 95 @@ -8630,10 +8377,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49/49 - ProgressBar::Time#unmocked_time_method + 33/86 + ProgressBar::Components::Time#timer - 16 + 95 @@ -8643,21 +8390,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49/57 - ProgressBar::Time#time + 23/23 + ProgressBar::Components::Time#projector - 16 + 95 - - - - - - - - -     @@ -8665,10 +8403,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/14 - ProgressBar::Projectors::SmoothedAverage#start + 34/47 + ProgressBar::Components::Time#progress - 21 + 95 @@ -8678,35 +8416,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/14 - ProgressBar::Projectors::SmoothedAverage#increment + 11/23 + ProgressBar::Projectors::SmoothedAverage#projection - 29 + 97 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 14 - - - ProgressBar::Projectors::SmoothedAverage#progress= - - - - - - 42 - - - - - -     @@ -8714,10 +8429,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - <Class::ProgressBar::Projectors::SmoothedAverage>#calculate + 11/25 + Float#- - 44 + 97 @@ -8727,10 +8442,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - ProgressBar::Projectors::SmoothedAverage#absolute + 11/89 + Integer#/ - 44 + 97 @@ -8740,10 +8455,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/16 - Array#[]= + 11/205 + ProgressBar::Progress#total - 43 + 97 @@ -8753,12 +8468,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/17 - ProgressBar::Projectors::SmoothedAverage#projection= + 11/38 + Float#* - 44 + 97 + + + + + + + + +     @@ -8766,12 +8490,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - Kernel#class + 1/1 + Class#new - 44 + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + Set#initialize + + + + + + 243 + + + + + +     @@ -8779,10 +8526,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - ProgressBar::Projectors::SmoothedAverage#strength + 1/107631 + Class#new - 44 + 244 @@ -8792,10 +8539,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/57 - ProgressBar::Projectors::SmoothedAverage#samples + 1/2 + NilClass#nil? - 43 + 246 @@ -8814,36 +8561,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/36 - ProgressBar::Components::Time#estimated_seconds_remaining + 1/1 + JSON::Ext::Generator::GeneratorMethods::Hash#to_json - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/36 - ProgressBar::Timer#elapsed_whole_seconds - - 64 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/36 - ProgressBar::Throttle#choke - - 16 + @@ -8853,34 +8574,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36 + 1 - - ProgressBar::Timer#elapsed_seconds + + JSON::Ext::Generator::State#initialize - 57 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 34/49 - ProgressBar::Time#now - - 60 - + + + + + + + +   @@ -8889,10 +8606,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/36 - Time#- + 1/27 + ProgressBar::Base#initialize - 60 + 82 @@ -8902,10 +8619,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/64 - ProgressBar::Timer#started? + 13/27 + ProgressBar::Base#to_s - 58 + 172 @@ -8915,37 +8632,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/87 - ProgressBar::Timer#stopped_at + 13/27 + ProgressBar::Base#update_progress - 60 + 227 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 36/111 - ProgressBar::Timer#started_at - - 60 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 27 + + + ProgressBar::Base#output + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 34/49 - ProgressBar::Timer#time - - 60 - + + @@ -8963,10 +8677,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/15 - ProgressBar::Outputs::Tty#clear + 1/2 + ProgressBar::Progress#total= - 11 + 65 @@ -8976,10 +8690,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/15 - ProgressBar::Output#print_and_flush + 1/2 + Set#initialize - 67 + 246 @@ -8989,10 +8703,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 15 + 2 - - IO#print + + NilClass#nil? @@ -9005,19 +8719,6 @@

Thread 80, Fiber: 60

- -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 15/16 - IO#write - - - - @@ -9034,10 +8735,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Format::Molecule#lookup_value + 1/1 + Set#each - 56 + 500 @@ -9047,35 +8748,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Components::Time#estimated_with_friendly_oob + + Kernel#block_given? - 43 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Components::Time#estimated_with_elapsed_fallback - - 44 - - @@ -9092,23 +8780,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Components::Time#estimated_with_elapsed_fallback - - 89 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/14 - ProgressBar::Format::Molecule#lookup_value + 1/1 + Set#each - 56 + 501 @@ -9118,35 +8793,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14 + 1 - - ProgressBar::Components::Time#elapsed_with_label + + Hash#each_key - 31 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/14 - ProgressBar::Components::Time#elapsed - - 32 - - @@ -9163,10 +8825,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Format::Molecule#lookup_value + 1/1 + ProgressBar::Output#with_refresh - 54 + 230 @@ -9176,16 +8838,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Components::Bar#complete_bar + + ProgressBar::Timer#stop - 41 + 17 @@ -9199,10 +8861,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Bar#to_s + 1/49 + ProgressBar::Time#now - 44 + 20 @@ -9212,10 +8874,36 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Components::Bar#length= + 1/64 + ProgressBar::Timer#started? - 42 + 18 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/28 + ProgressBar::Timer#stopped_at= + + 20 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/49 + ProgressBar::Timer#time + + 20 @@ -9234,10 +8922,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Time#estimated_with_friendly_oob + 1/1 + ProgressBar::Base#initialize - 44 + 82 @@ -9247,74 +8935,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Components::Time#estimated_with_elapsed_fallback + + ProgressBar::Outputs::Tty#resolve_format - 88 + 23 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Components::Time#estimated_with_label - - 91 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/14 - ProgressBar::Components::Time#elapsed_with_label - - 89 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/50 - ProgressBar::Progress#finished? - - 89 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/47 - ProgressBar::Components::Time#progress - - 89 - - @@ -9331,10 +8967,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/14 - ProgressBar::Components::Time#elapsed_with_label + 1/1 + ProgressBar::Base#initialize - 32 + 75 @@ -9344,87 +8980,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14 + 1 - - ProgressBar::Components::Time#elapsed + + ProgressBar::Base#title_component= - 80 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/14 - ProgressBar::Timer#elapsed_whole_seconds - - 83 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/38 - String#% - - 85 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/25 - ProgressBar::Timer#divide_seconds - - 83 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/64 - ProgressBar::Timer#started? - - 81 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 42/86 - ProgressBar::Components::Time#timer - - 81 - - @@ -9441,10 +9012,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Bar#complete_bar + 1/1 + ProgressBar::Base#initialize - 44 + 52 @@ -9454,34 +9025,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Components::Bar#to_s + + ProgressBar::Base#timer= - 25 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Components::Bar#standard_complete_string - - 29 - + + + + + + + +   @@ -9490,10 +9057,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Bar#incomplete_string + 1/29 + ProgressBar::Base#start - 29 + 88 @@ -9503,10 +9070,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/25 - ProgressBar::Progress#unknown? + 1/29 + ProgressBar::Base#initialize - 26 + 71 @@ -9516,10 +9083,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/1600172 - Hash#[] + 26/29 + ProgressBar::Base#stopped? - 28 + 124 @@ -9529,24 +9096,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - Symbol#== + 1/29 + ProgressBar::Output#with_refresh - 28 + 230 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/39 - ProgressBar::Components::Bar#progress - - 26 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 29 + + + ProgressBar::Base#timer + + + + + + + + + + + @@ -9564,10 +9141,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated_with_elapsed_fallback + 1/1 + ProgressBar::Base#initialize - 91 + 79 @@ -9577,35 +9154,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 1 - - ProgressBar::Components::Time#estimated_with_label + + ProgressBar::Base#time_component= - 27 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Components::Time#estimated - - 28 - - @@ -9622,10 +9186,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated_with_label + 1/1 + ProgressBar::Base#initialize - 28 + 78 @@ -9635,47 +9199,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 1 - - ProgressBar::Components::Time#estimated + + ProgressBar::Base#rate_component= - 66 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/12 - ProgressBar::Components::Time#estimated_seconds_remaining - - 67 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/25 - ProgressBar::Timer#divide_seconds - - 71 - + + + + + + + +   @@ -9684,37 +9231,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/38 - String#% + 1/1 + ProgressBar::Base#initialize - 76 + 66 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/25 - Integer#> - - 73 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Base#projector= + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/86 - ProgressBar::Components::Time#timer - - 71 - + + @@ -9732,10 +9276,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Projectors::SmoothedAverage#start + 1/14 + ProgressBar::Base#initialize - 21 + 71 @@ -9745,10 +9289,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/13 - ProgressBar::Projectors::SmoothedAverage#increment + 13/14 + ProgressBar::Output#with_refresh - 29 + 229 @@ -9758,48 +9302,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 14 - - ProgressBar::Projectors::SmoothedAverage#progress + + ProgressBar::Base#projector - 32 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/2738598 - Array#[] - - 33 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/57 - ProgressBar::Projectors::SmoothedAverage#samples - - 33 - - @@ -9817,9 +9335,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Class#new + ProgressBar::Base#initialize - + 69 @@ -9831,32 +9349,28 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Projectors::SmoothedAverage#initialize + + ProgressBar::Base#progressable= - 11 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/2 - ProgressBar::Projectors::SmoothedAverage#start - - 16 - + + + + + + + +   @@ -9865,10 +9379,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Projectors::SmoothedAverage#samples= + 1/51 + ProgressBar::Base#initialize - 12 + 71 @@ -9878,10 +9392,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Projectors::SmoothedAverage#strength= + 13/51 + ProgressBar::Output#with_refresh - 14 + 228 @@ -9891,24 +9405,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/17 - ProgressBar::Projectors::SmoothedAverage#projection= + 37/51 + ProgressBar::Base#finished? - 13 + 130 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1600172 - Hash#[] - - 14 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 51 + + + ProgressBar::Base#progressable + + + + + + + + + + + @@ -9926,63 +9450,43 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/205 - ProgressBar::Components::Time#estimated_seconds_remaining - - 97 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 25/205 - ProgressBar::Progress#unknown? + 1/1 + ProgressBar::Base#initialize - 90 + 77 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 39/205 - ProgressBar::Progress#percentage_completed_with_precision - - 98 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Base#percentage_component= + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 78/205 - ProgressBar::Progress#percentage_completed - - 74 - + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 24/205 - ProgressBar::Progress#increment - - 32 - + + + + + + + +   @@ -9991,10 +9495,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/205 - ProgressBar::Progress#progress= + 1/1 + ProgressBar::Base#initialize - 56 + 81 @@ -10004,10 +9508,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 205 + 1 - - ProgressBar::Progress#total + + ProgressBar::Base#output= @@ -10036,23 +9540,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/14 - ProgressBar::Progress#start - - 19 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 12/14 - ProgressBar::Progress#increment + 1/1 + ProgressBar::Base#initialize - 38 + 50 @@ -10062,48 +9553,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14 + 1 - - ProgressBar::Progress#progress= + + ProgressBar::Base#finished= - 55 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 28/205 - ProgressBar::Progress#total - - 56 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 14/25 - Integer#> - - 56 - - @@ -10120,76 +9585,43 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/113 - ProgressBar::Progress#start - - 19 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/113 - ProgressBar::Progress#total= - - 65 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/113 - ProgressBar::Progress#none? + 1/1 + ProgressBar::Base#initialize - 86 + 76 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/113 - ProgressBar::Progress#percentage_completed_with_precision - - 101 - + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Base#bar_component= + + + + + + + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 25/113 - ProgressBar::Progress#unknown? - - 90 - + + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 26/113 - ProgressBar::Progress#percentage_completed - - 82 - + + + + + + + +   @@ -10198,10 +9630,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 36/113 - ProgressBar::Progress#increment + 1/1 + ProgressBar::Base#initialize - 32 + 48 @@ -10211,10 +9643,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 113 + 1 - - ProgressBar::Progress#progress + + ProgressBar::Base#autostart= @@ -10244,9 +9676,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Class#new + ProgressBar::Base#initialize - + 84 @@ -10258,20 +9690,29 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Progress#initialize + + ProgressBar::Base#autostart - 12 + + + + + + + + + +     @@ -10279,71 +9720,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/2 - ProgressBar::Progress#start + 1/1 + ProgressBar::Base#initialize - 15 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Progress#total= - - 13 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/21 - Hash#fetch - - 13 - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/50 - ProgressBar::Components::Time#estimated_with_elapsed_fallback - - 89 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 37/50 - ProgressBar::Base#finished? - - 130 + 49 @@ -10353,35 +9733,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 50 + 1 - - ProgressBar::Progress#finished? + + ProgressBar::Base#autofinish= - 27 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 50/125 - Integer#== - - 28 - - @@ -10398,10 +9765,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Output#refresh + 1/1 + Class#new - 51 + @@ -10411,10 +9778,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Output#throttle + + Hash#initialize @@ -10443,10 +9810,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/39 - ProgressBar::Outputs::Tty#eol + 1/21 + <Class::ProgressBar::Projector>#from_type - 28 + 11 @@ -10456,10 +9823,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/39 - ProgressBar::Outputs::Tty#bar_update_string + 1/21 + ProgressBar::Throttle#initialize - 16 + 12 @@ -10469,10 +9836,49 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/39 - ProgressBar::Output#refresh + 1/21 + ProgressBar::Progress#initialize - 51 + 13 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 4/21 + ProgressBar::Format::Molecule#initialize + + 35 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 2/21 + ProgressBar::Base#initialize + + 48 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/21 + ProgressBar::Throttle#choke + + 16 @@ -10482,10 +9888,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 39 + 21 - - ProgressBar::Output#bar + + Hash#fetch @@ -10515,9 +9921,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Class#new + ProgressBar::Base#initialize - + 53 @@ -10529,46 +9935,20 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Components::Title#initialize + + Hash#any? - 8 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Title#title= - - 9 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1600172 - Hash#[] - - 9 - - @@ -10586,9 +9966,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Class#new + ProgressBar::Base#initialize - + 82 @@ -10600,14 +9980,14 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Components::Time#initialize + + <Class::String>#new - 21 + @@ -10622,48 +10002,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Time#timer= - - 22 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Time#progress= - - 23 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Time#projector= - - 24 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 3/1600172 - Hash#[] + String#initialize - 22 + @@ -10683,9 +10024,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Class#new + ProgressBar::Base#initialize - + 66 @@ -10697,14 +10038,14 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Components::Rate#initialize + + <Class::ProgressBar::Projector>#from_type - 8 + 10 @@ -10718,12 +10059,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Kernel#lambda - - 9 + 1/21 + Hash#fetch + + 11 + + + + + + + + +     @@ -10732,9 +10082,45 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Rate#rate_scale= + ProgressBar::Base#initialize - 9 + 81 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + <Class::ProgressBar::Output>#detect + + + + + + 20 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/107631 + Class#new + + 24 @@ -10744,10 +10130,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Rate#progress= + 1/14 + IO#tty? - 11 + 23 @@ -10758,9 +10144,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Components::Rate#timer= + Kernel#is_a? - 10 + 21 @@ -10770,10 +10156,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/1600172 + 2/2798991 Hash#[] - 9 + 21 @@ -10793,7 +10179,7 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - Class#new + <Class::String>#new @@ -10807,20 +10193,29 @@

Thread 80, Fiber: 60

0.00 1 - - ProgressBar::Components::Percentage#initialize + + String#initialize - 6 + + + + + + + + + +     @@ -10828,10 +10223,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Percentage#progress= + 1/49 + ProgressBar::Timer#stop - 7 + 20 @@ -10841,21 +10236,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1600172 - Hash#[] + 14/49 + ProgressBar::Timer#start - 7 + 13 - - - - - - - - -     @@ -10863,10 +10249,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - Class#new + 34/49 + ProgressBar::Timer#elapsed_seconds - + 60 @@ -10876,34 +10262,30 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 49 - - ProgressBar::Components::Bar#initialize + + ProgressBar::Timer#time - 17 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Components::Bar#progress= - - 21 - + + + + + + + +   @@ -10912,10 +10294,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - ProgressBar::Components::Bar#length= + 1/28 + ProgressBar::Timer#stop - 22 + 20 @@ -10925,10 +10307,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#upa_steps= + 14/28 + ProgressBar::Timer#start - 18 + 14 @@ -10938,12 +10320,44 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#progress_mark= + 13/28 + ProgressBar::Timer#reset - 19 + 45 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 28 + + + ProgressBar::Timer#stopped_at= + + + + + + + + + + + + + + + + + + + + +     @@ -10951,10 +10365,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 5/1600172 - Hash#[] + 1/64 + ProgressBar::Timer#stop - 18 + 18 @@ -10964,21 +10378,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Components::Bar#remainder_mark= + 13/64 + ProgressBar::Throttle#choke - 20 + 16 - - - - - - - - -     @@ -10986,10 +10391,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - ProgressBar::Outputs::Tty#eol + 36/64 + ProgressBar::Timer#elapsed_seconds - 28 + 58 @@ -10999,10 +10404,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/26 - ProgressBar::Output#refresh + 14/64 + ProgressBar::Components::Time#elapsed - 51 + 81 @@ -11012,16 +10417,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26 + 64 - - ProgressBar::Base#stopped? + + ProgressBar::Timer#started? - 123 + 35 @@ -11035,12 +10440,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/37 - ProgressBar::Base#finished? + 64/111 + ProgressBar::Timer#started_at - 124 + 36 + + + + + + + + +     @@ -11048,10 +10462,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/51 - ProgressBar::Timer#stopped? + 1/14 + ProgressBar::Base#start - 124 + 88 @@ -11061,32 +10475,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/29 - ProgressBar::Base#timer + 13/14 + ProgressBar::Timer#restart - 124 - - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 37/37 - ProgressBar::Base#finished? - - 130 + 54 @@ -11096,30 +10488,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37 + 14 - - ProgressBar::Base#finished + + ProgressBar::Timer#start - + 12 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/49 + ProgressBar::Time#now + + 13 +   @@ -11128,34 +10524,50 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37/37 - ProgressBar::Base#finished? + 14/51 + ProgressBar::Timer#stopped? - 130 + 13 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 37 - - - ProgressBar::Base#autofinish - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/27 + ProgressBar::Timer#started_at= + + 13 + - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/28 + ProgressBar::Timer#stopped_at= + + 14 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/49 + ProgressBar::Timer#time + + 13 + @@ -11173,10 +10585,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - <Class::ProgressBar::Output>#detect + 2/2 + Class#new - 21 + @@ -11186,31 +10598,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 2 - - Kernel#is_a? + + ProgressBar::Timer#initialize - + 8 - - - - - - - - -     @@ -11218,10 +10621,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/125 - BasicObject#!= + 2/107631 + Class#new - + 9 @@ -11231,10 +10634,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/125 - ProgressBar::Progress#percentage_completed_with_precision + 2/2 + ProgressBar::Timer#time= - 98 + 9 @@ -11244,12 +10647,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/125 - ProgressBar::Progress#percentage_completed + 2/2798991 + Hash#[] - 75 + 9 + + + + + + + + +     @@ -11257,10 +10669,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 24/125 - ProgressBar::Progress#increment + 1/13 + ProgressBar::Projectors::SmoothedAverage#start - 32 + 21 @@ -11270,10 +10682,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 50/125 - ProgressBar::Progress#finished? + 12/13 + ProgressBar::Projectors::SmoothedAverage#increment - 28 + 29 @@ -11283,31 +10695,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 125 + 13 - - Integer#== + + ProgressBar::Projectors::SmoothedAverage#progress - + 32 - - - - - - - - -     @@ -11315,10 +10718,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/37 - <Class::ProgressBar::Format::Formatter>#process + 13/4792535 + Array#[] - 13 + 33 @@ -11328,12 +10731,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - ProgressBar::Projectors::SmoothedAverage#increment + 13/57 + ProgressBar::Projectors::SmoothedAverage#samples - 29 + 33 + + + + + + + + +     @@ -11341,10 +10753,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/37 - ProgressBar::Progress#increment + 1/1 + Class#new - 38 + @@ -11354,30 +10766,34 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 37 + 1 - - Integer#+ + + ProgressBar::Projectors::SmoothedAverage#initialize - + 11 - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/2 + ProgressBar::Projectors::SmoothedAverage#start + + 16 +   @@ -11386,10 +10802,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/14 - <Class::ProgressBar::Output>#detect + 1/1 + ProgressBar::Projectors::SmoothedAverage#samples= - 23 + 12 @@ -11399,44 +10815,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Calculators::Length#dynamic_width + 1/1 + ProgressBar::Projectors::SmoothedAverage#strength= - 57 + 14 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 14 - - - IO#tty? - - - - - - - - - - - - - - - - - - - - -     @@ -11444,34 +10828,24 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/2 - ProgressBar::Timer#initialize + 1/17 + ProgressBar::Projectors::SmoothedAverage#projection= - 9 + 13 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 2 - - - ProgressBar::Timer#time= - - - - - - - - - - - + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/2798991 + Hash#[] + + 14 + @@ -11489,10 +10863,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/51 + 11/205 ProgressBar::Components::Time#estimated_seconds_remaining - 95 + 97 @@ -11502,10 +10876,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/51 - ProgressBar::Timer#start + 25/205 + ProgressBar::Progress#unknown? - 13 + 90 @@ -11515,35 +10889,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/51 - ProgressBar::Base#stopped? + 28/205 + ProgressBar::Progress#progress= - 124 + 56 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 51 - - - ProgressBar::Timer#stopped? - - - - - - 39 - - - - - -     @@ -11551,21 +10902,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 51/87 - ProgressBar::Timer#stopped_at + 24/205 + ProgressBar::Progress#increment - 40 + 32 - - - - - - - - -     @@ -11573,10 +10915,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - ProgressBar::Timer#reset + 39/205 + ProgressBar::Progress#percentage_completed_with_precision - 44 + 98 @@ -11586,10 +10928,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/27 - ProgressBar::Timer#start + 78/205 + ProgressBar::Progress#percentage_completed - 13 + 74 @@ -11599,10 +10941,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 27 + 205 - - ProgressBar::Timer#started_at= + + ProgressBar::Progress#total @@ -11631,23 +10973,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/111 - ProgressBar::Timer#reset? - - 49 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 36/111 - ProgressBar::Timer#elapsed_seconds + 2/14 + ProgressBar::Progress#start - 60 + 19 @@ -11657,10 +10986,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 64/111 - ProgressBar::Timer#started? + 12/14 + ProgressBar::Progress#increment - 36 + 38 @@ -11670,22 +10999,48 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 111 + 14 - - ProgressBar::Timer#started_at + + ProgressBar::Progress#progress= - + 55 + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 14/25 + Integer#> + + 56 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 28/205 + ProgressBar::Progress#total + + 56 + + @@ -11702,35 +11057,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Throttle#choke + 1/113 + ProgressBar::Progress#start - 20 + 19 - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 13 - - - ProgressBar::Timer#restart - - - - - - 52 - - - - - -     @@ -11738,10 +11070,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - ProgressBar::Timer#start + 1/113 + ProgressBar::Progress#total= - 54 + 65 @@ -11751,21 +11083,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Timer#reset + 11/113 + ProgressBar::Progress#none? - 53 + 86 - - - - - - - - -     @@ -11773,10 +11096,49 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49/49 - ProgressBar::Time#now + 13/113 + ProgressBar::Progress#percentage_completed_with_precision - 16 + 101 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/113 + ProgressBar::Progress#percentage_completed + + 82 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 25/113 + ProgressBar::Progress#unknown? + + 90 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 36/113 + ProgressBar::Progress#increment + + 32 @@ -11786,35 +11148,22 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 49 + 113 - - ProgressBar::Time#unmocked_time_method + + ProgressBar::Progress#progress - 19 + - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 2/2 - Enumerable#find - - 20 - - @@ -11831,10 +11180,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Calculators::Length#terminal_width + 1/1 + Class#new - 46 + @@ -11844,16 +11193,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13 + 1 - - ProgressBar::Calculators::Length#dynamic_width + + ProgressBar::Progress#initialize - 56 + 12 @@ -11867,10 +11216,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object + 1/2 + ProgressBar::Progress#start - 58 + 15 @@ -11880,10 +11229,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/14 - IO#tty? + 1/1 + ProgressBar::Progress#total= - 57 + 13 @@ -11893,12 +11242,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/21 - Kernel#respond_to? + 1/21 + Hash#fetch - 57 + 13 + + + + + + + + +     @@ -11906,21 +11264,12 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 39/52 - ProgressBar::Calculators::Length#output + 13/50 + ProgressBar::Components::Time#estimated_with_elapsed_fallback - 57 + 89 - - - - - - - - -     @@ -11928,10 +11277,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Components::Time#estimated + 37/50 + ProgressBar::Base#finished? - 67 + 130 @@ -11941,16 +11290,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12 + 50 - - ProgressBar::Components::Time#estimated_seconds_remaining + + ProgressBar::Progress#finished? - 94 + 27 @@ -11964,24 +11313,20 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/36 - ProgressBar::Timer#elapsed_seconds + 50/125 + Integer#== - 97 + 28 - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 11/11 - ProgressBar::Progress#none? - - 95 - + + + + + + + +   @@ -11990,12 +11335,44 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/12 - ProgressBar::Projectors::SmoothedAverage#none? + 13/13 + ProgressBar::Output#refresh - 95 + 51 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + ProgressBar::Output#throttle + + + + + + + + + + + + + + + + + + + + +     @@ -12003,10 +11380,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 12/25 - ProgressBar::Progress#unknown? + 13/39 + ProgressBar::Outputs::Tty#bar_update_string - 95 + 16 @@ -12016,10 +11393,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - Float#round + 13/39 + ProgressBar::Outputs::Tty#eol - 97 + 28 @@ -12029,12 +11406,44 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/11 - ProgressBar::Timer#reset? + 13/39 + ProgressBar::Output#refresh - 95 + 51 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 39 + + + ProgressBar::Output#bar + + + + + + + + + + + + + + + + + + + + +     @@ -12042,25 +11451,877 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 33/86 - ProgressBar::Components::Time#timer + 1/1 + Class#new - 95 + - -   -   - 0.00 - 0.00 - 0.00 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Components::Title#initialize + + + + + + 8 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Title#title= + + 9 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/2798991 + Hash#[] + + 9 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Class#new + + + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Components::Time#initialize + + + + + + 21 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Time#projector= + + 24 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Time#progress= + + 23 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Time#timer= + + 22 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 3/2798991 + Hash#[] + + 22 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Class#new + + + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Components::Rate#initialize + + + + + + 8 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Kernel#lambda + + 9 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Rate#progress= + + 11 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 3/2798991 + Hash#[] + + 9 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Rate#rate_scale= + + 9 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Rate#timer= + + 10 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Class#new + + + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Components::Percentage#initialize + + + + + + 6 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Percentage#progress= + + 7 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/2798991 + Hash#[] + + 7 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + Class#new + + + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Components::Bar#initialize + + + + + + 17 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Bar#progress= + + 21 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/14 + ProgressBar::Components::Bar#length= + + 22 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Bar#remainder_mark= + + 20 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Bar#upa_steps= + + 18 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 5/2798991 + Hash#[] + + 18 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + ProgressBar::Components::Bar#progress_mark= + + 19 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 37/37 + ProgressBar::Base#finished? + + 130 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 37 + + + ProgressBar::Base#finished + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 37/37 + ProgressBar::Base#finished? + + 130 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 37 + + + ProgressBar::Base#autofinish + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + <Class::ProgressBar::Output>#detect + + 21 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + Kernel#is_a? + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/125 + BasicObject#!= + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/125 + ProgressBar::Progress#percentage_completed_with_precision + + 98 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 26/125 + ProgressBar::Progress#percentage_completed + + 75 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 24/125 + ProgressBar::Progress#increment + + 32 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 50/125 + ProgressBar::Progress#finished? + + 28 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 125 + + + Integer#== + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/37 + ProgressBar::Projectors::SmoothedAverage#increment + + 29 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/37 + <Class::ProgressBar::Format::Formatter>#process + + 13 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/37 + ProgressBar::Progress#increment + + 38 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 37 + + + Integer#+ + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/14 + <Class::ProgressBar::Output>#detect + + 23 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + ProgressBar::Calculators::Length#dynamic_width + + 57 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 14 + + + IO#tty? + + + + + + + + + + + + + + + + + + + + + + +   +   0.00 - 23/23 - ProgressBar::Components::Time#projector + 0.00 + 0.00 + 0.00 + 2/2 + ProgressBar::Timer#initialize - 95 + 9 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 2 + + + ProgressBar::Timer#time= + + + + + + + + + + + + + + + + + + + + +     @@ -12069,9 +12330,9 @@

Thread 80, Fiber: 60

0.00 0.00 11/51 - ProgressBar::Timer#stopped? + ProgressBar::Components::Time#estimated_seconds_remaining - 95 + 95 @@ -12081,10 +12342,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 34/47 - ProgressBar::Components::Time#progress + 14/51 + ProgressBar::Timer#start - 95 + 13 @@ -12094,12 +12355,35 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/25 - Float#- + 26/51 + ProgressBar::Base#stopped? - 97 + 124 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 51 + + + ProgressBar::Timer#stopped? + + + + + + 39 + + + + + +     @@ -12107,12 +12391,21 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/23 - ProgressBar::Projectors::SmoothedAverage#projection + 51/87 + ProgressBar::Timer#stopped_at - 97 + 40 + + + + + + + + +     @@ -12120,10 +12413,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/89 - Integer#/ + 13/27 + ProgressBar::Timer#reset - 97 + 44 @@ -12133,12 +12426,151 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/38 - Float#* + 14/27 + ProgressBar::Timer#start - 97 + 13 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 27 + + + ProgressBar::Timer#started_at= + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 11/111 + ProgressBar::Timer#reset? + + 49 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 36/111 + ProgressBar::Timer#elapsed_seconds + + 60 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 64/111 + ProgressBar::Timer#started? + + 36 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 111 + + + ProgressBar::Timer#started_at + + + + + + + + + + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 49/49 + ProgressBar::Time#now + + 16 + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 49 + + + ProgressBar::Time#unmocked_time_method + + + + + + 19 + + + + + +     @@ -12146,10 +12578,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 11/205 - ProgressBar::Progress#total + 2/2 + Enumerable#find - 97 + 20 @@ -12468,8 +12900,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/13 - ProgressBar::Projectors::SmoothedAverage#progress + 2/16 + Array#[]= 21 @@ -12481,8 +12913,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/16 - Array#[]= + 1/13 + ProgressBar::Projectors::SmoothedAverage#progress 21 @@ -12507,7 +12939,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/1600172 + 2/2798991 Hash#[] 21 @@ -12613,10 +13045,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/57 - ProgressBar::Projectors::SmoothedAverage#absolute + 13/57 + ProgressBar::Projectors::SmoothedAverage#progress - 67 + 33 @@ -12626,10 +13058,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/57 - ProgressBar::Projectors::SmoothedAverage#progress + 28/57 + ProgressBar::Projectors::SmoothedAverage#absolute - 33 + 67 @@ -12791,8 +13223,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/57 - ProgressBar::Projectors::SmoothedAverage#samples + 28/4792535 + Array#[] 67 @@ -12804,8 +13236,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 28/2738598 - Array#[] + 28/57 + ProgressBar::Projectors::SmoothedAverage#samples 67 @@ -12862,8 +13294,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/113 - ProgressBar::Progress#progress + 1/2 + NilClass#nil? 65 @@ -12875,8 +13307,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - NilClass#nil? + 1/113 + ProgressBar::Progress#progress 65 @@ -12972,7 +13404,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/1600172 + 2/2798991 Hash#[] 19 @@ -13114,7 +13546,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/61566 + 2/107631 Class#new 13 @@ -13166,10 +13598,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/29 - ProgressBar::Output#stream + 1/1 + ProgressBar::Output#stream= - 14 + 12 @@ -13179,10 +13611,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Output#stream= + 3/2798991 + Hash#[] - 12 + 11 @@ -13192,10 +13624,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 3/1600172 - Hash#[] + 1/29 + ProgressBar::Output#stream - 11 + 14 @@ -14986,51 +15418,6 @@

Thread 80, Fiber: 60

- - - - - - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 1/1 - ProgressBar::Progress#total= - - 65 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 1 - - - NilClass#nil? - - - - - - - - - - @@ -15378,10 +15765,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/38 - ProgressBar::Progress#percentage_completed_with_precision + 14/38 + <Class::ProgressBar::Projectors::SmoothedAverage>#calculate - 101 + 57 @@ -15391,10 +15778,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/38 - <Class::ProgressBar::Projectors::SmoothedAverage>#calculate + 13/38 + ProgressBar::Progress#percentage_completed_with_precision - 57 + 101 @@ -15427,6 +15814,77 @@

Thread 80, Fiber: 60

+ + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Calculators::Length#length_changed? + + 22 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 13 + + + BasicObject#!= + + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 12/125 + Integer#== + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + BasicObject#== + + + + + + + + + + + @@ -15517,7 +15975,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/61566 + 1/107631 Class#new 12 @@ -15544,9 +16002,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Throttle#stopped_at= + ProgressBar::Throttle#rate= - 11 + 9 @@ -15557,9 +16015,9 @@

Thread 80, Fiber: 60

0.00 0.00 1/1 - ProgressBar::Throttle#rate= + ProgressBar::Throttle#stopped_at= - 9 + 11 @@ -15595,7 +16053,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1600172 + 1/2798991 Hash#[] 9 @@ -15737,7 +16195,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 2/1600172 + 2/2798991 Hash#[] 9 @@ -16233,7 +16691,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/255947 + 13/447587 String#=~ 94 @@ -16300,10 +16758,68 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - ProgressBar::Calculators::Length#initialize + 1/1 + ProgressBar::Calculators::Length#initialize + + 9 + + + + 0.00% + 0.00% + 0.00 + 0.00 + 0.00 + 0.00 + 1 + + + ProgressBar::Calculators::Length#length_override= + + + + + + 33 + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 1/1 + #<Class:0x0000000102562ef0>#[] + + 34 + + + + + + + + + + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/13 + ProgressBar::Calculators::Length#terminal_width - 9 + 46 @@ -16313,16 +16829,16 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1 + 13 - - ProgressBar::Calculators::Length#length_override= + + ProgressBar::Calculators::Length#dynamic_width - 33 + 56 @@ -16336,10 +16852,49 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 1/1 - #<Class:0x00000001045c2ee8>#[] + 13/13 + ProgressBar::Calculators::Length#dynamic_width_via_output_stream_object - 34 + 58 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/14 + IO#tty? + + 57 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 13/21 + Kernel#respond_to? + + 57 + + + +   +   + 0.00 + 0.00 + 0.00 + 0.00 + 39/52 + ProgressBar::Calculators::Length#output + + 57 @@ -17141,8 +17696,8 @@

Thread 80, Fiber: 60

0.00 1 - - #<Class:0x00000001045c2ee8>#[] + + #<Class:0x0000000102562ef0>#[] @@ -17699,10 +18254,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 52/116 - ProgressBar::Format::Molecule#full_key + 60/116 + ProgressBar::Format::Molecule#bar_molecule? - 47 + 39 @@ -17712,10 +18267,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 60/116 - ProgressBar::Format::Molecule#bar_molecule? + 52/116 + ProgressBar::Format::Molecule#full_key - 39 + 47 @@ -17845,103 +18400,6 @@

Thread 80, Fiber: 60

- - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Format::Molecule#lookup_value - - 56 - - - - 0.00% - 0.00% - 0.00 - 0.00 - 0.00 - 0.00 - 13 - - - ProgressBar::Components::Percentage#justified_percentage_with_precision - - - - - - 22 - - - - - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Progress#percentage_completed_with_precision - - 23 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - String#rjust - - 23 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/65 - String#to_s - - 23 - - - -   -   - 0.00 - 0.00 - 0.00 - 0.00 - 13/13 - ProgressBar::Components::Percentage#progress - - 23 - - - - - - - - - @@ -18219,8 +18677,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/27 - Float#floor + 13/38 + Float#* 101 @@ -18232,10 +18690,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/38 - Float#* + 13/89 + Kernel#nil? - 101 + 99 @@ -18245,10 +18703,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/89 - Kernel#nil? + 13/27 + Float#floor - 99 + 101 @@ -18271,10 +18729,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/125 - Integer#== + 13/113 + ProgressBar::Progress#progress - 98 + 101 @@ -18284,10 +18742,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/113 - ProgressBar::Progress#progress + 13/125 + Integer#== - 101 + 98 @@ -18454,10 +18912,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/38 - ProgressBar::Progress#percentage_completed_with_precision + 14/38 + ProgressBar::Components::Time#elapsed - 101 + 85 @@ -18467,10 +18925,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 14/38 - ProgressBar::Components::Time#elapsed + 13/38 + ProgressBar::Progress#percentage_completed_with_precision - 85 + 101 @@ -19155,8 +19613,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/39 - ProgressBar::Components::Bar#length + 13/13 + ProgressBar::Components::Bar#remainder_mark 82 @@ -19168,8 +19626,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/13 - ProgressBar::Components::Bar#remainder_mark + 13/39 + ProgressBar::Components::Bar#length 82 @@ -19203,10 +19661,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 13/89 - ProgressBar::Progress#percentage_completed_with_precision + 26/89 + ProgressBar::Progress#percentage_completed - 99 + 74 @@ -19216,10 +19674,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/89 - ProgressBar::Progress#percentage_completed + 13/89 + ProgressBar::Progress#percentage_completed_with_precision - 74 + 99 @@ -19626,7 +20084,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/61566 + 4/107631 Class#new 30 @@ -19652,7 +20110,7 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 4/338457 + 4/592394 Array#<< 30 @@ -19955,8 +20413,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/89 - Integer#/ + 26/39 + ProgressBar::Components::Bar#length 92 @@ -19968,8 +20426,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/39 - ProgressBar::Components::Bar#length + 26/26 + Integer#floor 92 @@ -19981,8 +20439,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/39 - ProgressBar::Components::Bar#progress + 26/89 + Integer#/ 92 @@ -19994,8 +20452,8 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/26 - Integer#floor + 26/39 + ProgressBar::Components::Bar#progress 92 @@ -20220,10 +20678,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/113 - ProgressBar::Progress#progress + 26/89 + Kernel#nil? - 82 + 74 @@ -20233,10 +20691,10 @@

Thread 80, Fiber: 60

0.00 0.00 0.00 - 26/89 - Kernel#nil? + 26/113 + ProgressBar::Progress#progress - 74 + 82 diff --git a/task-1.rb b/task-1.rb index c4aa0881..b03ce258 100644 --- a/task-1.rb +++ b/task-1.rb @@ -118,7 +118,7 @@ def work(file_name:) attributes = user user_sessions = users_sessions[user['id']] || [] user_object = User.new(attributes: attributes, sessions: user_sessions) - users_objects = users_objects + [user_object] + users_objects.concat([user_object]) end progressbar.increment