diff --git a/benchmark.rb b/benchmark.rb new file mode 100644 index 00000000..dd425f71 --- /dev/null +++ b/benchmark.rb @@ -0,0 +1,46 @@ +require 'benchmark' +require 'lazy' +require_relative 'task-1' + +# array = (1..10000000).to_a + +# def eqeq_test(array) +# array.select { |el| el == 500000 } +# end + +# def include_test(array) +# array.include?(500000) +# end + +# def in_test(array) +# 500000.in?(array) +# end +# def map_test(array) +# array.map { |el| el % 10 == 0 ? el : nil }.compact +# end + +# def test_select(array) +# array.select { |el| el % 10 == 0 } +# end + +# def test_reject(array) +# array.reject { |el| el % 10 == 0 } +# end + +# def test_slice(array) +# array.slice_after { |element| element % 10 == 0 }.to_a +# end + +# def test_lazy(array) +# array.lazy.select { |el| el % 10 == 0 } +# end + +# def test_set(array) +# array.to_set.select { |el| el % 10 == 0 } +# end + +# Benchmark.bm do |benchmark| +# benchmark.report('eqeq') { eqeq_test(array) } +# benchmark.report('include') { include_test(array) } +# benchmark.report('in') { in_test(array) } +# end \ No newline at end of file diff --git a/case-study.md b/case-study.md new file mode 100644 index 00000000..4b4d64f2 --- /dev/null +++ b/case-study.md @@ -0,0 +1,82 @@ +# Case-study оптимизации + +## Актуальная проблема +В нашем проекте возникла серьёзная проблема. + +Необходимо было обработать файл с данными, чуть больше ста мегабайт. + +У нас уже была программа на `ruby`, которая умела делать нужную обработку. + +Она успешно работала на файлах размером пару мегабайт, но для большого файла она работала слишком долго, и не было понятно, закончит ли она вообще работу за какое-то разумное время. + +Я решил исправить эту проблему, оптимизировав эту программу. + +## Формирование метрики +Для того, чтобы понимать, дают ли мои изменения положительный эффект на быстродействие программы я придумал использовать такую метрику: *тут ваша метрика* + +## Гарантия корректности работы оптимизированной программы +Программа поставлялась с тестом. Выполнение этого теста в фидбек-лупе позволяет не допустить изменения логики программы при оптимизации. + +## Feedback-Loop +Для того, чтобы иметь возможность быстро проверять гипотезы я выстроил эффективный `feedback-loop`, который позволил мне получать обратную связь по эффективности сделанных изменений за *время, которое у вас получилось* + +Вот как я построил `feedback_loop`: *как вы построили feedback_loop* + +## Вникаем в детали системы, чтобы найти главные точки роста +Для того, чтобы найти "точки роста" для оптимизации я воспользовался *инструментами, которыми вы воспользовались* + +Вот какие проблемы удалось найти и решить + +### Ваша находка №1 +- какой отчёт показал главную точку роста +- как вы решили её оптимизировать +- как изменилась метрика +- как изменился отчёт профилировщика - исправленная проблема перестала быть главной точкой роста? + +### Ваша находка №2 +- какой отчёт показал главную точку роста +- как вы решили её оптимизировать +- как изменилась метрика +- как изменился отчёт профилировщика - исправленная проблема перестала быть главной точкой роста? + +### Ваша находка №X +- какой отчёт показал главную точку роста +- как вы решили её оптимизировать +- как изменилась метрика +- как изменился отчёт профилировщика - исправленная проблема перестала быть главной точкой роста? + +## Результаты +В результате проделанной оптимизации наконец удалось обработать файл с данными. +Удалось улучшить метрику системы с *того, что у вас было в начале, до того, что получилось в конце* и уложиться в заданный бюджет. + +*Какими ещё результами можете поделиться* + +## Защита от регрессии производительности +Для защиты от потери достигнутого прогресса при дальнейших изменениях программы *о performance-тестах, которые вы написали* + +- Подготовил тестовые образцы на 10 20 30 40 50 к строк +- Добавил скрипт для генерации флэт отчета +- Изменил исходный файл для обработки параметра с именем файла +- с помощью стакпрофа замерил время выполнения для избранных объемов +- 10000 - 3с, 20000 - 17с, 30000 - 46, 40000 - killed +- явный экспонентный рост сложности обработки +- во всех отчетах есть 2 явных ботлнека: select & == +- нужно заменить == на более быстрый аналог +- проверяем через бенчмарк == и include? (второй гораздо быстрее) +- применяем +- 10000 - 2с, 20000 - 7с, 30000 - 15c, 40000 - killed +- select раз за разом перебирает массив сессий. Гипотеза: скорость обработки хэша гораздо быстрее. И поиск быстрее идет по ключам. разделим изначальный массив на сессии и пользователей. +- сборка сессий и пользователей на 40к пользователей в изначальном варианте занимает почти две секунды, а при использовании group_by это время около тысячных долей секунды +- сгрупировал сессии и пользователей +- распарсил в хэши +- добавил группированные сессии где ключ - это айди пользователя, а значение - массив сессий. Благодаря такоц структуре стало возможным отказаться от тяжелого селекта перебирающего сессии для каждого пользователя. +- исправил возникающие ошибки +- получилось добиться зависимости производительности, приближенной к линейной: 20к-0,2с..1кк-4с +- прогон 1kk записей занимает 24 сек(далеко до идеала) +- просмотрев флэт отчет видим что функция collect_stats_from_users вызывается 7 раз, внутрянка работает целых 18 секунд, а массив пользователей прогоняется в каждом блоке. +- объединил обработку данных в один блок +- отказался от сборки сессий и пользователей черех group_by использовал << при проходе по начальному файлу. получил незначительный прирост производительности +- использовал << везде где складывались массивы. Обработался файл на 3млн записей за 59 секунд. data_large упорно продолжает падать(проверял с отключенным и включенным GC). +- в последнем отчете для 3кк записей увидел что чтение данных из массива в сборке данных пользователя вызывается 13кк раз вынес сессий в переменную. Количество вызовов [] сократилось вдвое. +- последние показания 1кк ~ 19сек, 2кк ~ 38сек, 3кк ~ 58 сек, large ~ 65 сек + diff --git a/reports/call_tree/callgrind.out.431551 b/reports/call_tree/callgrind.out.431551 new file mode 100644 index 00000000..8ad794cd --- /dev/null +++ b/reports/call_tree/callgrind.out.431551 @@ -0,0 +1,330 @@ +events: wall_time + +fl= +fn=String::inspect +0 5 + +fl= +fn=Kernel::p +0 49 +cfl= +cfn=String::inspect +calls=1 0 +0 5 + +fl= +fn=IO::write^ +0 202914 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 4 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 386924 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 4 + +fl= +fn=Array::reverse +0 46811 + +fl= +fn=Array::all? +0 108109 +cfl= +cfn=String::=~ +calls=198387 93 +93 119953 + +fl= +fn=String::=~ +0 392226 + +fl= +fn=Array::any? +0 205083 +cfl= +cfn=String::=~ +calls=441002 92 +92 272273 + +fl= +fn=Array::max +0 40681 + +fl= +fn=Array::sum +0 39832 + +fl= +fn=String::to_i +0 205250 + +fl= +fn=User::attributes +0 64702 + +fl= +fn=Kernel::nil? +0 31678 + +fl= +fn=User::sessions +0 117515 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 81462 + +fl= +fn=Class::new +0 134672 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 81462 + +fl= +fn=Hash::[] +0 83138 + +fl= +fn=Array::join +0 126203 + +fl= +fn=Array::sort +0 291104 + +fl= +fn=String::upcase +0 233687 + +fl= +fn=Array::uniq +0 84545 + +fl= +fn=Hash::[]= +0 174342 + +fl= +fn=Array::count +0 34105 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +26 1451653 +cfl= +cfn=Array::[] +calls=4231150 28 +28 755605 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 232797 +cfl= +cfn=Array::[] +calls=615080 19 +19 125687 + +fl= +fn=Array::[] +0 1157920 + +fl= +fn=Array::each +0 2120151 +cfl= +cfn=Array::[] +calls=1000000 45 +45 276628 +cfl= +cfn=Hash::[] +calls=153770 82 +82 83138 +cfl= +cfn=Class::new +calls=153770 82 +82 216134 +cfl= +cfn=User::sessions +calls=615080 83 +83 117515 +cfl= +cfn=Kernel::nil? +calls=153770 83 +83 31678 +cfl= +cfn=User::attributes +calls=307540 84 +84 64702 +cfl= +cfn=Array::map +calls=461310 85 +85 1599090 +cfl= +cfn=Array::count +calls=153770 88 +88 34097 +cfl= +cfn=Array::sum +calls=153770 88 +88 39832 +cfl= +cfn=Array::max +calls=153770 88 +88 40681 +cfl= +cfn=Array::sort +calls=307540 88 +88 291069 +cfl= +cfn=Array::join +calls=153770 88 +88 126183 +cfl= +cfn=Array::any? +calls=153770 88 +88 477357 +cfl= +cfn=Array::all? +calls=153770 88 +88 228062 +cfl= +cfn=Array::reverse +calls=153770 88 +88 46811 +cfl= +cfn=Hash::[]= +calls=153770 96 +96 174337 + +fl= +fn=Enumerable::group_by +0 27 +cfl= +cfn=Array::each +calls=2 0 +0 1352221 + +fl= +fn=Array::map +0 2425847 +cfl= +cfn=String::split +calls=1000000 37 +37 1532778 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 47 +47 358485 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 48 +48 2207257 +cfl= +cfn=String::upcase +calls=846430 0 +0 233687 +cfl= +cfn=String::to_i +calls=846230 85 +85 205250 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +36 14 +cfl= +cfn=Array::map +calls=1 37 +37 2188199 + +fl= +fn=String::split +0 1674466 + +fl= +fn=IO::read^ +0 207140 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 6 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +40 21247 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 41 +41 6 +cfl= +cfn=IO::read^ +calls=1 43 +43 207140 +cfl= +cfn=String::split +calls=1 43 +43 141688 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 43 +43 2188213 +cfl= +cfn=Enumerable::group_by +calls=2 45 +45 1352248 +cfl= +cfn=Array::map +calls=4 47 +47 3176016 +cfl= +cfn=Array::count +calls=3 67 +67 8 +cfl= +cfn=Hash::[]= +calls=1 67 +67 5 +cfl= +cfn=Array::uniq +calls=1 70 +70 84545 +cfl= +cfn=Array::sort +calls=1 76 +76 34 +cfl= +cfn=Array::join +calls=1 76 +76 20 +cfl= +cfn=Array::each +calls=1 81 +81 4615244 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 107 +107 386927 +cfl= +cfn=IO::write^ +calls=1 107 +107 202914 +cfl= +cfn=Kernel::p +calls=1 108 +108 54 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 92 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 12376308 + diff --git a/reports/call_tree/callgrind.out.435097 b/reports/call_tree/callgrind.out.435097 new file mode 100644 index 00000000..174eeae8 --- /dev/null +++ b/reports/call_tree/callgrind.out.435097 @@ -0,0 +1,234 @@ +events: wall_time + +fl= +fn=NilClass::nil? +0 1 + +fl= +fn=User::sessions +0 1 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 3 + +fl= +fn=Class::new +0 9 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=1 0 +0 3 + +fl= +fn=Hash::[] +0 1 + +fl= +fn=Array::join +0 14 + +fl= +fn=Array::sort +0 37 + +fl= +fn=String::upcase +0 59 + +fl= +fn=Array::uniq +0 111 + +fl= +fn=Hash::[]= +0 2 + +fl= +fn=Array::count +0 6 + +fl= +fn=Hash::hash +0 2443 + +fl= +fn=String::inspect +0 5395 + +fl= +fn=Hash::inspect +0 6326 +cfl= +cfn=String::inspect +calls=8460 0 +0 5395 + +fl= +fn=Kernel::p +0 21325 +cfl= +cfn=Hash::inspect +calls=846 0 +0 11721 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +26 1028 +cfl= +cfn=Array::[] +calls=4230 28 +28 598 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 151 +cfl= +cfn=Array::[] +calls=616 19 +19 80 + +fl= +fn=Array::[] +0 922 + +fl= +fn=Array::each +0 6249 +cfl= +cfn=Array::[] +calls=1000 45 +45 244 +cfl= +cfn=Kernel::p +calls=846 49 +49 33046 +cfl= +cfn=Hash::hash +calls=1700 49 +49 2443 +cfl= +cfn=Hash::[] +calls=1 82 +82 1 +cfl= +cfn=Class::new +calls=1 82 +82 12 +cfl= +cfn=User::sessions +calls=1 83 +83 1 +cfl= +cfn=NilClass::nil? +calls=1 83 +83 1 + +fl= +fn=Enumerable::group_by +0 11 +cfl= +cfn=Array::each +calls=2 0 +0 41968 + +fl= +fn=Array::map +0 1105 +cfl= +cfn=String::split +calls=1000 37 +37 1116 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=154 47 +47 231 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846 48 +48 1626 +cfl= +cfn=String::upcase +calls=197 0 +0 59 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +36 4 +cfl= +cfn=Array::map +calls=1 37 +37 1577 + +fl= +fn=String::split +0 1209 + +fl= +fn=IO::read^ +0 2770 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +40 66 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 41 +41 3 +cfl= +cfn=IO::read^ +calls=1 43 +43 2770 +cfl= +cfn=String::split +calls=1 43 +43 94 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 43 +43 1581 +cfl= +cfn=Enumerable::group_by +calls=2 45 +45 41979 +cfl= +cfn=Array::map +calls=4 47 +47 2560 +cfl= +cfn=Array::count +calls=3 67 +67 6 +cfl= +cfn=Hash::[]= +calls=1 67 +67 2 +cfl= +cfn=Array::uniq +calls=1 70 +70 111 +cfl= +cfn=Array::sort +calls=1 76 +76 37 +cfl= +cfn=Array::join +calls=1 76 +76 14 +cfl= +cfn=Array::each +calls=1 81 +81 29 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 33 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 49252 + diff --git a/reports/call_tree/callgrind.out.442413 b/reports/call_tree/callgrind.out.442413 new file mode 100644 index 00000000..1aed5202 --- /dev/null +++ b/reports/call_tree/callgrind.out.442413 @@ -0,0 +1,386 @@ +events: wall_time + +fl= +fn=IO::write^ +0 4555 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 1 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 537 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 1 + +fl= +fn=Array::inspect +0 365 +cfl= +cfn=String::inspect +calls=846 0 +0 242 + +fl= +fn=FalseClass::inspect +0 27 + +fl= +fn=TrueClass::inspect +0 18 + +fl= +fn=String::inspect +0 948 + +fl= +fn=Integer::inspect +0 28 + +fl= +fn=Symbol::inspect +0 3 + +fl= +fn=Hash::inspect +0 765 +cfl= +cfn=Symbol::inspect +calls=1 0 +0 3 +cfl= +cfn=Integer::inspect +calls=157 0 +0 28 +cfl= +cfn=String::inspect +calls=1699 0 +0 706 +cfl= +cfn=Hash::inspect +calls=155 0 +0 4033 +cfl= +cfn=TrueClass::inspect +calls=115 0 +0 18 +cfl= +cfn=FalseClass::inspect +calls=193 0 +0 27 +cfl= +cfn=Array::inspect +calls=154 0 +0 607 + +fl= +fn=Kernel::p +0 1858 +cfl= +cfn=Hash::inspect +calls=1 0 +0 2154 + +fl= +fn=Array::reverse +0 34 + +fl= +fn=Array::all? +0 116 +cfl= +cfn=String::=~ +calls=203 93 +93 159 + +fl= +fn=String::=~ +0 363 + +fl= +fn=Array::any? +0 160 +cfl= +cfn=String::=~ +calls=433 92 +92 204 + +fl= +fn=Array::max +0 61 + +fl= +fn=Array::sum +0 31 + +fl= +fn=String::to_i +0 198 + +fl= +fn=User::attributes +0 55 + +fl= +fn=Kernel::nil? +0 27 + +fl= +fn=User::sessions +0 102 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 68 + +fl= +fn=Class::new +0 148 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=154 0 +0 68 + +fl= +fn=Hash::[] +0 64 + +fl= +fn=Array::join +0 117 + +fl= +fn=Array::sort +0 280 + +fl= +fn=String::upcase +0 268 + +fl= +fn=Array::uniq +0 76 + +fl= +fn=Hash::[]= +0 147 + +fl= +fn=Array::count +0 32 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +26 1033 +cfl= +cfn=Array::[] +calls=4230 28 +28 555 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 155 +cfl= +cfn=Array::[] +calls=616 19 +19 93 + +fl= +fn=Array::[] +0 823 + +fl= +fn=Array::each +0 1873 +cfl= +cfn=Array::[] +calls=1000 45 +45 174 +cfl= +cfn=Hash::[] +calls=154 82 +82 64 +cfl= +cfn=Class::new +calls=154 82 +82 217 +cfl= +cfn=User::sessions +calls=616 83 +83 102 +cfl= +cfn=Kernel::nil? +calls=154 83 +83 27 +cfl= +cfn=User::attributes +calls=308 84 +84 55 +cfl= +cfn=Array::map +calls=462 85 +85 1612 +cfl= +cfn=Array::count +calls=154 88 +88 30 +cfl= +cfn=Array::sum +calls=154 88 +88 31 +cfl= +cfn=Array::max +calls=154 88 +88 61 +cfl= +cfn=Array::sort +calls=308 88 +88 250 +cfl= +cfn=Array::join +calls=154 88 +88 104 +cfl= +cfn=Array::any? +calls=154 88 +88 364 +cfl= +cfn=Array::all? +calls=154 88 +88 275 +cfl= +cfn=Array::reverse +calls=154 88 +88 34 +cfl= +cfn=Hash::[]= +calls=154 96 +96 146 + +fl= +fn=Enumerable::group_by +0 12 +cfl= +cfn=Array::each +calls=2 0 +0 987 + +fl= +fn=Array::map +0 2105 +cfl= +cfn=String::split +calls=1000 37 +37 999 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=154 47 +47 249 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846 48 +48 1588 +cfl= +cfn=String::upcase +calls=1043 0 +0 268 +cfl= +cfn=String::to_i +calls=846 85 +85 198 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +36 7 +cfl= +cfn=Array::map +calls=1 37 +37 1394 + +fl= +fn=String::split +0 1075 + +fl= +fn=IO::read^ +0 3743 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 8 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +40 110 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 41 +41 8 +cfl= +cfn=IO::read^ +calls=1 43 +43 3743 +cfl= +cfn=String::split +calls=1 43 +43 76 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 43 +43 1401 +cfl= +cfn=Enumerable::group_by +calls=2 45 +45 999 +cfl= +cfn=Array::map +calls=4 47 +47 2401 +cfl= +cfn=Array::count +calls=3 67 +67 2 +cfl= +cfn=Hash::[]= +calls=1 67 +67 1 +cfl= +cfn=Array::uniq +calls=1 70 +70 76 +cfl= +cfn=Array::sort +calls=1 76 +76 29 +cfl= +cfn=Array::join +calls=1 76 +76 14 +cfl= +cfn=Array::each +calls=1 81 +81 4429 +cfl= +cfn=Kernel::p +calls=1 107 +107 4013 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 108 +108 538 +cfl= +cfn=IO::write^ +calls=1 108 +108 4555 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 46 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 22396 + diff --git a/reports/call_tree/callgrind.out.442690 b/reports/call_tree/callgrind.out.442690 new file mode 100644 index 00000000..392c99df --- /dev/null +++ b/reports/call_tree/callgrind.out.442690 @@ -0,0 +1,330 @@ +events: wall_time + +fl= +fn=IO::write^ +0 3015 + +fl= +fn=String::inspect +0 489 + +fl= +fn=Kernel::p +0 1846 +cfl= +cfn=String::inspect +calls=1 0 +0 489 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 2 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 513 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=2 0 +0 2 + +fl= +fn=Array::reverse +0 29 + +fl= +fn=Array::all? +0 78 +cfl= +cfn=String::=~ +calls=203 93 +93 99 + +fl= +fn=String::=~ +0 258 + +fl= +fn=Array::any? +0 146 +cfl= +cfn=String::=~ +calls=433 92 +92 159 + +fl= +fn=Array::max +0 25 + +fl= +fn=Array::sum +0 25 + +fl= +fn=String::to_i +0 136 + +fl= +fn=User::attributes +0 45 + +fl= +fn=Kernel::nil? +0 22 + +fl= +fn=User::sessions +0 83 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 56 + +fl= +fn=Class::new +0 95 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=154 0 +0 56 + +fl= +fn=Hash::[] +0 46 + +fl= +fn=Array::join +0 100 + +fl= +fn=Array::sort +0 221 + +fl= +fn=String::upcase +0 208 + +fl= +fn=Array::uniq +0 63 + +fl= +fn=Hash::[]= +0 96 + +fl= +fn=Array::count +0 27 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +26 968 +cfl= +cfn=Array::[] +calls=4230 28 +28 580 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 149 +cfl= +cfn=Array::[] +calls=616 19 +19 87 + +fl= +fn=Array::[] +0 874 + +fl= +fn=Array::each +0 1615 +cfl= +cfn=Array::[] +calls=1000 45 +45 207 +cfl= +cfn=Hash::[] +calls=154 82 +82 46 +cfl= +cfn=Class::new +calls=154 82 +82 151 +cfl= +cfn=User::sessions +calls=616 83 +83 83 +cfl= +cfn=Kernel::nil? +calls=154 83 +83 22 +cfl= +cfn=User::attributes +calls=308 84 +84 45 +cfl= +cfn=Array::map +calls=462 85 +85 1067 +cfl= +cfn=Array::count +calls=154 88 +88 25 +cfl= +cfn=Array::sum +calls=154 88 +88 25 +cfl= +cfn=Array::max +calls=154 88 +88 25 +cfl= +cfn=Array::sort +calls=308 88 +88 196 +cfl= +cfn=Array::join +calls=154 88 +88 88 +cfl= +cfn=Array::any? +calls=154 88 +88 304 +cfl= +cfn=Array::all? +calls=154 88 +88 178 +cfl= +cfn=Array::reverse +calls=154 88 +88 29 +cfl= +cfn=Hash::[]= +calls=154 96 +96 95 + +fl= +fn=Enumerable::group_by +0 9 +cfl= +cfn=Array::each +calls=2 0 +0 1054 + +fl= +fn=Array::map +0 1814 +cfl= +cfn=String::split +calls=1000 37 +37 1237 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=154 47 +47 236 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846 48 +48 1548 +cfl= +cfn=String::upcase +calls=1043 0 +0 208 +cfl= +cfn=String::to_i +calls=846 85 +85 136 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +36 7 +cfl= +cfn=Array::map +calls=1 37 +37 1815 + +fl= +fn=String::split +0 1366 + +fl= +fn=IO::read^ +0 3313 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +40 89 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 41 +41 3 +cfl= +cfn=IO::read^ +calls=1 43 +43 3313 +cfl= +cfn=String::split +calls=1 43 +43 129 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 43 +43 1823 +cfl= +cfn=Enumerable::group_by +calls=2 45 +45 1063 +cfl= +cfn=Array::map +calls=4 47 +47 2297 +cfl= +cfn=Array::count +calls=3 67 +67 2 +cfl= +cfn=Hash::[]= +calls=1 67 +67 1 +cfl= +cfn=Array::uniq +calls=1 70 +70 63 +cfl= +cfn=Array::sort +calls=1 76 +76 25 +cfl= +cfn=Array::join +calls=1 76 +76 13 +cfl= +cfn=Array::each +calls=1 81 +81 3146 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=2 107 +107 514 +cfl= +cfn=Kernel::p +calls=1 107 +107 2335 +cfl= +cfn=IO::write^ +calls=1 108 +108 3015 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 34 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 17831 + diff --git a/reports/call_tree/callgrind.out.443157 b/reports/call_tree/callgrind.out.443157 new file mode 100644 index 00000000..fc385989 --- /dev/null +++ b/reports/call_tree/callgrind.out.443157 @@ -0,0 +1,330 @@ +events: wall_time + +fl= +fn=IO::write^ +0 1609 + +fl= +fn=String::inspect +0 16 + +fl= +fn=Kernel::p +0 40 +cfl= +cfn=String::inspect +calls=1 0 +0 16 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 2 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 37 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=2 0 +0 2 + +fl= +fn=Array::reverse +0 2 + +fl= +fn=Array::all? +0 3 +cfl= +cfn=String::=~ +calls=4 93 +93 3 + +fl= +fn=String::=~ +0 13 + +fl= +fn=Array::any? +0 7 +cfl= +cfn=String::=~ +calls=11 92 +92 10 + +fl= +fn=Array::max +0 2 + +fl= +fn=Array::sum +0 3 + +fl= +fn=String::to_i +0 5 + +fl= +fn=User::attributes +0 2 + +fl= +fn=Kernel::nil? +0 1 + +fl= +fn=User::sessions +0 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 3 + +fl= +fn=Class::new +0 8 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=3 0 +0 3 + +fl= +fn=Hash::[] +0 2 + +fl= +fn=Array::join +0 6 + +fl= +fn=Array::sort +0 10 + +fl= +fn=String::upcase +0 8 + +fl= +fn=Array::uniq +0 4 + +fl= +fn=Hash::[]= +0 4 + +fl= +fn=Array::count +0 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +26 20 +cfl= +cfn=Array::[] +calls=75 28 +28 13 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 6 +cfl= +cfn=Array::[] +calls=12 19 +19 2 + +fl= +fn=Array::[] +0 18 + +fl= +fn=Array::each +0 57 +cfl= +cfn=Array::[] +calls=18 45 +45 4 +cfl= +cfn=Hash::[] +calls=3 82 +82 2 +cfl= +cfn=Class::new +calls=3 82 +82 10 +cfl= +cfn=User::sessions +calls=12 83 +83 3 +cfl= +cfn=Kernel::nil? +calls=3 83 +83 1 +cfl= +cfn=User::attributes +calls=6 84 +84 2 +cfl= +cfn=Array::map +calls=9 85 +85 30 +cfl= +cfn=Array::count +calls=3 88 +88 1 +cfl= +cfn=Array::sum +calls=3 88 +88 3 +cfl= +cfn=Array::max +calls=3 88 +88 2 +cfl= +cfn=Array::sort +calls=6 88 +88 5 +cfl= +cfn=Array::join +calls=3 88 +88 2 +cfl= +cfn=Array::any? +calls=3 88 +88 17 +cfl= +cfn=Array::all? +calls=3 88 +88 6 +cfl= +cfn=Array::reverse +calls=3 88 +88 2 +cfl= +cfn=Hash::[]= +calls=3 96 +96 3 + +fl= +fn=Enumerable::group_by +0 5 +cfl= +cfn=Array::each +calls=2 0 +0 28 + +fl= +fn=Array::map +0 47 +cfl= +cfn=String::split +calls=18 37 +37 16 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=3 47 +47 7 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=15 48 +48 32 +cfl= +cfn=String::upcase +calls=29 0 +0 8 +cfl= +cfn=String::to_i +calls=15 85 +85 5 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +36 18 +cfl= +cfn=Array::map +calls=1 37 +37 24 + +fl= +fn=String::split +0 24 + +fl= +fn=IO::read^ +0 2164 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +40 75 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 41 +41 3 +cfl= +cfn=IO::read^ +calls=1 43 +43 2164 +cfl= +cfn=String::split +calls=1 43 +43 8 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 43 +43 43 +cfl= +cfn=Enumerable::group_by +calls=2 45 +45 33 +cfl= +cfn=Array::map +calls=4 47 +47 62 +cfl= +cfn=Array::count +calls=3 67 +67 2 +cfl= +cfn=Hash::[]= +calls=1 67 +67 1 +cfl= +cfn=Array::uniq +calls=1 70 +70 4 +cfl= +cfn=Array::sort +calls=1 76 +76 6 +cfl= +cfn=Array::join +calls=1 76 +76 4 +cfl= +cfn=Array::each +calls=1 81 +81 124 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=2 107 +107 39 +cfl= +cfn=Kernel::p +calls=1 107 +107 56 +cfl= +cfn=IO::write^ +calls=1 108 +108 1609 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 35 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 4231 + diff --git a/reports/call_tree/callgrind.out.443379 b/reports/call_tree/callgrind.out.443379 new file mode 100644 index 00000000..92a240b0 --- /dev/null +++ b/reports/call_tree/callgrind.out.443379 @@ -0,0 +1,330 @@ +events: wall_time + +fl= +fn=IO::write^ +0 2496 + +fl= +fn=String::inspect +0 34 + +fl= +fn=Kernel::p +0 89 +cfl= +cfn=String::inspect +calls=1 0 +0 34 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 2 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 45 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=2 0 +0 2 + +fl= +fn=Array::reverse +0 2 + +fl= +fn=Array::all? +0 31 +cfl= +cfn=String::=~ +calls=4 93 +93 37 + +fl= +fn=String::=~ +0 47 + +fl= +fn=Array::any? +0 7 +cfl= +cfn=String::=~ +calls=11 92 +92 10 + +fl= +fn=Array::max +0 2 + +fl= +fn=Array::sum +0 3 + +fl= +fn=String::to_i +0 6 + +fl= +fn=User::attributes +0 3 + +fl= +fn=Kernel::nil? +0 2 + +fl= +fn=User::sessions +0 4 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 4 + +fl= +fn=Class::new +0 8 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=3 0 +0 4 + +fl= +fn=Hash::[] +0 1 + +fl= +fn=Array::join +0 7 + +fl= +fn=Array::sort +0 10 + +fl= +fn=String::upcase +0 21 + +fl= +fn=Array::uniq +0 4 + +fl= +fn=Hash::[]= +0 5 + +fl= +fn=Array::count +0 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +26 48 +cfl= +cfn=Array::[] +calls=75 28 +28 11 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 5 +cfl= +cfn=Array::[] +calls=12 19 +19 2 + +fl= +fn=Array::[] +0 16 + +fl= +fn=Array::each +0 74 +cfl= +cfn=Array::[] +calls=18 45 +45 3 +cfl= +cfn=Hash::[] +calls=3 82 +82 1 +cfl= +cfn=Class::new +calls=3 82 +82 12 +cfl= +cfn=User::sessions +calls=12 83 +83 4 +cfl= +cfn=Kernel::nil? +calls=3 83 +83 2 +cfl= +cfn=User::attributes +calls=6 84 +84 3 +cfl= +cfn=Array::map +calls=9 85 +85 32 +cfl= +cfn=Array::count +calls=3 88 +88 1 +cfl= +cfn=Array::sum +calls=3 88 +88 3 +cfl= +cfn=Array::max +calls=3 88 +88 2 +cfl= +cfn=Array::sort +calls=6 88 +88 5 +cfl= +cfn=Array::join +calls=3 88 +88 3 +cfl= +cfn=Array::any? +calls=3 88 +88 17 +cfl= +cfn=Array::all? +calls=3 88 +88 67 +cfl= +cfn=Array::reverse +calls=3 88 +88 2 +cfl= +cfn=Hash::[]= +calls=3 96 +96 4 + +fl= +fn=Enumerable::group_by +0 5 +cfl= +cfn=Array::each +calls=2 0 +0 24 + +fl= +fn=Array::map +0 44 +cfl= +cfn=String::split +calls=18 37 +37 14 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=3 47 +47 6 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=15 48 +48 59 +cfl= +cfn=String::upcase +calls=29 0 +0 21 +cfl= +cfn=String::to_i +calls=15 85 +85 6 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +36 3 +cfl= +cfn=Array::map +calls=1 37 +37 21 + +fl= +fn=String::split +0 23 + +fl= +fn=IO::read^ +0 2280 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +40 56 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 41 +41 2 +cfl= +cfn=IO::read^ +calls=1 43 +43 2280 +cfl= +cfn=String::split +calls=1 43 +43 9 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 43 +43 24 +cfl= +cfn=Enumerable::group_by +calls=2 45 +45 28 +cfl= +cfn=Array::map +calls=4 47 +47 97 +cfl= +cfn=Array::count +calls=3 67 +67 1 +cfl= +cfn=Hash::[]= +calls=1 67 +67 1 +cfl= +cfn=Array::uniq +calls=1 70 +70 4 +cfl= +cfn=Array::sort +calls=1 76 +76 4 +cfl= +cfn=Array::join +calls=1 76 +76 4 +cfl= +cfn=Array::each +calls=1 81 +81 211 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=2 107 +107 47 +cfl= +cfn=Kernel::p +calls=1 107 +107 123 +cfl= +cfn=IO::write^ +calls=1 108 +108 2496 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 35 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 5388 + diff --git a/reports/call_tree/callgrind.out.445255 b/reports/call_tree/callgrind.out.445255 new file mode 100644 index 00000000..176adc70 --- /dev/null +++ b/reports/call_tree/callgrind.out.445255 @@ -0,0 +1,338 @@ +events: wall_time + +fl= +fn=IO::write^ +0 5784 + +fl= +fn=String::inspect +0 13 + +fl= +fn=Kernel::p +0 32 +cfl= +cfn=String::inspect +calls=1 0 +0 13 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 1 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 27 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=2 0 +0 1 + +fl= +fn=Array::reverse +0 1 + +fl= +fn=Array::all? +0 3 +cfl= +cfn=String::=~ +calls=4 92 +92 2 + +fl= +fn=String::=~ +0 9 + +fl= +fn=Array::any? +0 5 +cfl= +cfn=String::=~ +calls=11 91 +91 7 + +fl= +fn=Array::max +0 1 + +fl= +fn=Array::sum +0 2 + +fl= +fn=String::to_i +0 3 + +fl= +fn=User::attributes +0 2 + +fl= +fn=Kernel::nil? +0 1 + +fl= +fn=User::sessions +0 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 2 + +fl= +fn=Class::new +0 7 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=3 0 +0 2 + +fl= +fn=Hash::[] +0 1 + +fl= +fn=Array::join +0 5 + +fl= +fn=Array::sort +0 7 + +fl= +fn=String::upcase +0 7 + +fl= +fn=Array::uniq +0 4 + +fl= +fn=Hash::[]= +0 3 + +fl= +fn=Array::count +0 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 15 +cfl= +cfn=Array::[] +calls=75 27 +27 10 + +fl= +fn=String::<< +0 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 6 +cfl= +cfn=Array::[] +calls=12 19 +19 1 +cfl= +cfn=String::<< +calls=6 19 +19 2 + +fl= +fn=Array::[] +0 14 + +fl= +fn=Array::each +0 44 +cfl= +cfn=Array::[] +calls=18 44 +44 3 +cfl= +cfn=Hash::[] +calls=3 81 +81 1 +cfl= +cfn=Class::new +calls=3 81 +81 9 +cfl= +cfn=User::sessions +calls=12 82 +82 2 +cfl= +cfn=Kernel::nil? +calls=3 82 +82 1 +cfl= +cfn=User::attributes +calls=3 83 +83 2 +cfl= +cfn=Array::map +calls=9 84 +84 21 +cfl= +cfn=Array::count +calls=3 87 +87 1 +cfl= +cfn=Array::sum +calls=3 87 +87 2 +cfl= +cfn=Array::max +calls=3 87 +87 1 +cfl= +cfn=Array::sort +calls=6 87 +87 4 +cfl= +cfn=Array::join +calls=3 87 +87 2 +cfl= +cfn=Array::any? +calls=3 87 +87 12 +cfl= +cfn=Array::all? +calls=3 87 +87 5 +cfl= +cfn=Array::reverse +calls=3 87 +87 1 +cfl= +cfn=Hash::[]= +calls=3 95 +95 2 + +fl= +fn=Enumerable::group_by +0 5 +cfl= +cfn=Array::each +calls=2 0 +0 22 + +fl= +fn=Array::map +0 35 +cfl= +cfn=String::split +calls=18 36 +36 13 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=3 46 +46 10 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=15 47 +47 25 +cfl= +cfn=String::upcase +calls=29 0 +0 7 +cfl= +cfn=String::to_i +calls=15 84 +84 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 3 +cfl= +cfn=Array::map +calls=1 36 +36 20 + +fl= +fn=String::split +0 21 + +fl= +fn=IO::read^ +0 2364 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +39 43 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 40 +40 3 +cfl= +cfn=IO::read^ +calls=1 42 +42 2364 +cfl= +cfn=String::split +calls=1 42 +42 8 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 42 +42 23 +cfl= +cfn=Enumerable::group_by +calls=2 44 +44 27 +cfl= +cfn=Array::map +calls=4 46 +46 52 +cfl= +cfn=Array::count +calls=3 66 +66 2 +cfl= +cfn=Hash::[]= +calls=1 66 +66 1 +cfl= +cfn=Array::uniq +calls=1 69 +69 4 +cfl= +cfn=Array::sort +calls=1 75 +75 3 +cfl= +cfn=Array::join +calls=1 75 +75 3 +cfl= +cfn=Array::each +calls=1 80 +80 91 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=2 106 +106 28 +cfl= +cfn=Kernel::p +calls=1 106 +106 45 +cfl= +cfn=IO::write^ +calls=1 107 +107 5784 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 41 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 8481 + diff --git a/reports/call_tree/callgrind.out.445541 b/reports/call_tree/callgrind.out.445541 new file mode 100644 index 00000000..f3d21837 --- /dev/null +++ b/reports/call_tree/callgrind.out.445541 @@ -0,0 +1,338 @@ +events: wall_time + +fl= +fn=IO::write^ +0 2338 + +fl= +fn=String::inspect +0 16 + +fl= +fn=Kernel::p +0 59 +cfl= +cfn=String::inspect +calls=1 0 +0 16 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 1 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 31 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=2 0 +0 1 + +fl= +fn=Array::reverse +0 1 + +fl= +fn=Array::all? +0 4 +cfl= +cfn=String::=~ +calls=4 92 +92 2 + +fl= +fn=String::=~ +0 11 + +fl= +fn=Array::any? +0 5 +cfl= +cfn=String::=~ +calls=11 91 +91 8 + +fl= +fn=Array::max +0 2 + +fl= +fn=Array::sum +0 3 + +fl= +fn=String::to_i +0 5 + +fl= +fn=User::attributes +0 1 + +fl= +fn=Kernel::nil? +0 1 + +fl= +fn=User::sessions +0 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 3 + +fl= +fn=Class::new +0 9 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=3 0 +0 3 + +fl= +fn=Hash::[] +0 1 + +fl= +fn=Array::join +0 5 + +fl= +fn=Array::sort +0 8 + +fl= +fn=String::upcase +0 23 + +fl= +fn=Array::uniq +0 4 + +fl= +fn=Hash::[]= +0 5 + +fl= +fn=Array::count +0 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 34 +cfl= +cfn=Array::[] +calls=75 27 +27 15 + +fl= +fn=String::<< +0 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 25 +cfl= +cfn=Array::[] +calls=12 19 +19 2 +cfl= +cfn=String::<< +calls=6 19 +19 3 + +fl= +fn=Array::[] +0 20 + +fl= +fn=Array::each +0 57 +cfl= +cfn=Array::[] +calls=18 44 +44 4 +cfl= +cfn=Hash::[] +calls=3 81 +81 1 +cfl= +cfn=Class::new +calls=3 81 +81 13 +cfl= +cfn=User::sessions +calls=12 82 +82 2 +cfl= +cfn=Kernel::nil? +calls=3 82 +82 1 +cfl= +cfn=User::attributes +calls=3 83 +83 1 +cfl= +cfn=Array::map +calls=9 84 +84 26 +cfl= +cfn=Array::count +calls=3 87 +87 1 +cfl= +cfn=Array::sum +calls=3 87 +87 3 +cfl= +cfn=Array::max +calls=3 87 +87 2 +cfl= +cfn=Array::sort +calls=6 87 +87 5 +cfl= +cfn=Array::join +calls=3 87 +87 2 +cfl= +cfn=Array::any? +calls=3 87 +87 14 +cfl= +cfn=Array::all? +calls=3 87 +87 6 +cfl= +cfn=Array::reverse +calls=3 87 +87 1 +cfl= +cfn=Hash::[]= +calls=3 95 +95 4 + +fl= +fn=Enumerable::group_by +0 5 +cfl= +cfn=Array::each +calls=2 0 +0 30 + +fl= +fn=Array::map +0 46 +cfl= +cfn=String::split +calls=18 36 +36 16 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=3 46 +46 30 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=15 47 +47 49 +cfl= +cfn=String::upcase +calls=29 0 +0 23 +cfl= +cfn=String::to_i +calls=15 84 +84 5 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 6 +cfl= +cfn=Array::map +calls=1 36 +36 26 + +fl= +fn=String::split +0 29 + +fl= +fn=IO::read^ +0 1806 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +39 78 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 40 +40 2 +cfl= +cfn=IO::read^ +calls=1 42 +42 1806 +cfl= +cfn=String::split +calls=1 42 +42 14 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 42 +42 32 +cfl= +cfn=Enumerable::group_by +calls=2 44 +44 35 +cfl= +cfn=Array::map +calls=4 46 +46 117 +cfl= +cfn=Array::count +calls=3 66 +66 2 +cfl= +cfn=Hash::[]= +calls=1 66 +66 1 +cfl= +cfn=Array::uniq +calls=1 69 +69 4 +cfl= +cfn=Array::sort +calls=1 75 +75 4 +cfl= +cfn=Array::join +calls=1 75 +75 3 +cfl= +cfn=Array::each +calls=1 80 +80 113 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=2 106 +106 33 +cfl= +cfn=Kernel::p +calls=1 106 +106 75 +cfl= +cfn=IO::write^ +calls=1 107 +107 2338 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 33 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 4656 + diff --git a/reports/call_tree/callgrind.out.445893 b/reports/call_tree/callgrind.out.445893 new file mode 100644 index 00000000..c7785d68 --- /dev/null +++ b/reports/call_tree/callgrind.out.445893 @@ -0,0 +1,338 @@ +events: wall_time + +fl= +fn=IO::write^ +0 166474 + +fl= +fn=String::inspect +0 526098 + +fl= +fn=Kernel::p +0 16815131 +cfl= +cfn=String::inspect +calls=1 0 +0 526098 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 3 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 655082 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=2 0 +0 3 + +fl= +fn=Array::reverse +0 39414 + +fl= +fn=Array::all? +0 90876 +cfl= +cfn=String::=~ +calls=198387 92 +92 93478 + +fl= +fn=String::=~ +0 304953 + +fl= +fn=Array::any? +0 170816 +cfl= +cfn=String::=~ +calls=441002 91 +91 211475 + +fl= +fn=Array::max +0 28972 + +fl= +fn=Array::sum +0 28920 + +fl= +fn=String::to_i +0 184230 + +fl= +fn=User::attributes +0 26947 + +fl= +fn=Kernel::nil? +0 25898 + +fl= +fn=User::sessions +0 96581 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 62985 + +fl= +fn=Class::new +0 106001 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 62985 + +fl= +fn=Hash::[] +0 76872 + +fl= +fn=Array::join +0 109631 + +fl= +fn=Array::sort +0 236711 + +fl= +fn=String::upcase +0 208249 + +fl= +fn=Array::uniq +0 76011 + +fl= +fn=Hash::[]= +0 149583 + +fl= +fn=Array::count +0 27146 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 1006000 +cfl= +cfn=Array::[] +calls=4231150 27 +27 548371 + +fl= +fn=String::<< +0 53759 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 218248 +cfl= +cfn=Array::[] +calls=615080 19 +19 94366 +cfl= +cfn=String::<< +calls=307540 19 +19 53759 + +fl= +fn=Array::[] +0 843210 + +fl= +fn=Array::each +0 1614902 +cfl= +cfn=Array::[] +calls=1000000 44 +44 200473 +cfl= +cfn=Hash::[] +calls=153770 81 +81 76872 +cfl= +cfn=Class::new +calls=153770 81 +81 168985 +cfl= +cfn=User::sessions +calls=615080 82 +82 96581 +cfl= +cfn=Kernel::nil? +calls=153770 82 +82 25898 +cfl= +cfn=User::attributes +calls=153770 83 +83 26947 +cfl= +cfn=Array::map +calls=461310 84 +84 1404587 +cfl= +cfn=Array::count +calls=153770 87 +87 27133 +cfl= +cfn=Array::sum +calls=153770 87 +87 28920 +cfl= +cfn=Array::max +calls=153770 87 +87 28972 +cfl= +cfn=Array::sort +calls=307540 87 +87 236682 +cfl= +cfn=Array::join +calls=153770 87 +87 109617 +cfl= +cfn=Array::any? +calls=153770 87 +87 382290 +cfl= +cfn=Array::all? +calls=153770 87 +87 184354 +cfl= +cfn=Array::reverse +calls=153770 87 +87 39414 +cfl= +cfn=Hash::[]= +calls=153770 95 +95 149582 + +fl= +fn=Enumerable::group_by +0 22 +cfl= +cfn=Array::each +calls=2 0 +0 1007525 + +fl= +fn=Array::map +0 1833222 +cfl= +cfn=String::split +calls=1000000 36 +36 838079 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 46 +46 366373 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 47 +47 1554371 +cfl= +cfn=String::upcase +calls=846430 0 +0 208249 +cfl= +cfn=String::to_i +calls=846230 84 +84 184230 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 11 +cfl= +cfn=Array::map +calls=1 36 +36 1189200 + +fl= +fn=String::split +0 923875 + +fl= +fn=IO::read^ +0 139428 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +39 18435 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 40 +40 2 +cfl= +cfn=IO::read^ +calls=1 42 +42 139428 +cfl= +cfn=String::split +calls=1 42 +42 85795 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 42 +42 1189210 +cfl= +cfn=Enumerable::group_by +calls=2 44 +44 1007547 +cfl= +cfn=Array::map +calls=4 46 +46 2390738 +cfl= +cfn=Array::count +calls=3 66 +66 13 +cfl= +cfn=Hash::[]= +calls=1 66 +66 1 +cfl= +cfn=Array::uniq +calls=1 69 +69 76011 +cfl= +cfn=Array::sort +calls=1 75 +75 29 +cfl= +cfn=Array::join +calls=1 75 +75 14 +cfl= +cfn=Array::each +calls=1 80 +80 3794683 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=2 106 +106 655085 +cfl= +cfn=Kernel::p +calls=1 106 +106 17341229 +cfl= +cfn=IO::write^ +calls=1 107 +107 166474 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 43 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 26864695 + diff --git a/reports/call_tree/callgrind.out.446862 b/reports/call_tree/callgrind.out.446862 new file mode 100644 index 00000000..23305834 --- /dev/null +++ b/reports/call_tree/callgrind.out.446862 @@ -0,0 +1,322 @@ +events: wall_time + +fl= +fn=IO::write^ +0 150112 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 1 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 304692 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 1 + +fl= +fn=Array::reverse +0 36102 + +fl= +fn=Array::all? +0 84908 +cfl= +cfn=String::=~ +calls=198387 92 +92 88411 + +fl= +fn=String::=~ +0 281787 + +fl= +fn=Array::any? +0 162851 +cfl= +cfn=String::=~ +calls=441002 91 +91 193376 + +fl= +fn=Array::max +0 27733 + +fl= +fn=Array::sum +0 28665 + +fl= +fn=String::to_i +0 158219 + +fl= +fn=User::attributes +0 24273 + +fl= +fn=Kernel::nil? +0 24875 + +fl= +fn=User::sessions +0 95757 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 60311 + +fl= +fn=Class::new +0 94225 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 60311 + +fl= +fn=Hash::[] +0 66223 + +fl= +fn=Array::join +0 98059 + +fl= +fn=Array::sort +0 220334 + +fl= +fn=String::upcase +0 216844 + +fl= +fn=Array::uniq +0 72629 + +fl= +fn=Hash::[]= +0 128252 + +fl= +fn=Array::count +0 26748 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 1123020 +cfl= +cfn=Array::[] +calls=4231150 27 +27 611969 + +fl= +fn=String::<< +0 59463 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 237570 +cfl= +cfn=Array::[] +calls=615080 19 +19 105758 +cfl= +cfn=String::<< +calls=307540 19 +19 59463 + +fl= +fn=Array::[] +0 922821 + +fl= +fn=Array::each +0 1555575 +cfl= +cfn=Array::[] +calls=1000000 44 +44 205093 +cfl= +cfn=Hash::[] +calls=153770 81 +81 66223 +cfl= +cfn=Class::new +calls=153770 81 +81 154536 +cfl= +cfn=User::sessions +calls=615080 82 +82 95757 +cfl= +cfn=Kernel::nil? +calls=153770 82 +82 24875 +cfl= +cfn=User::attributes +calls=153770 83 +83 24273 +cfl= +cfn=Array::map +calls=461310 84 +84 1313812 +cfl= +cfn=Array::count +calls=153770 87 +87 26734 +cfl= +cfn=Array::sum +calls=153770 87 +87 28665 +cfl= +cfn=Array::max +calls=153770 87 +87 27733 +cfl= +cfn=Array::sort +calls=307540 87 +87 220305 +cfl= +cfn=Array::join +calls=153770 87 +87 98046 +cfl= +cfn=Array::any? +calls=153770 87 +87 356227 +cfl= +cfn=Array::all? +calls=153770 87 +87 173319 +cfl= +cfn=Array::reverse +calls=153770 87 +87 36102 +cfl= +cfn=Hash::[]= +calls=153770 95 +95 128251 + +fl= +fn=Enumerable::group_by +0 23 +cfl= +cfn=Array::each +calls=2 0 +0 1000053 + +fl= +fn=Array::map +0 1799942 +cfl= +cfn=String::split +calls=1000000 36 +36 826598 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 46 +46 402791 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 47 +47 1734989 +cfl= +cfn=String::upcase +calls=846430 0 +0 216844 +cfl= +cfn=String::to_i +calls=846230 84 +84 158219 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 10 +cfl= +cfn=Array::map +calls=1 36 +36 1201542 + +fl= +fn=String::split +0 912258 + +fl= +fn=IO::read^ +0 137101 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +39 16705 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 40 +40 2 +cfl= +cfn=IO::read^ +calls=1 42 +42 137101 +cfl= +cfn=String::split +calls=1 42 +42 85659 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 42 +42 1201552 +cfl= +cfn=Enumerable::group_by +calls=2 44 +44 1000075 +cfl= +cfn=Array::map +calls=4 46 +46 2624029 +cfl= +cfn=Array::count +calls=3 66 +66 14 +cfl= +cfn=Hash::[]= +calls=1 66 +66 1 +cfl= +cfn=Array::uniq +calls=1 69 +69 72629 +cfl= +cfn=Array::sort +calls=1 75 +75 29 +cfl= +cfn=Array::join +calls=1 75 +75 14 +cfl= +cfn=Array::each +calls=1 80 +80 3535475 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 106 +106 304693 +cfl= +cfn=IO::write^ +calls=1 106 +106 150112 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 62 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 9128093 + diff --git a/reports/call_tree/callgrind.out.449710 b/reports/call_tree/callgrind.out.449710 new file mode 100644 index 00000000..40f4c319 --- /dev/null +++ b/reports/call_tree/callgrind.out.449710 @@ -0,0 +1,262 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 2 + +fl= +fn=Exception::exception +0 2 + +fl= +fn=BasicObject::method_missing +0 9 + +fl= +fn=String::to_i +0 3 + +fl= +fn=Enumerable::reduce +0 3 +cfl= +cfn=Array::each +calls=1 0 +0 31 + +fl= +fn=User::attributes +0 2 + +fl= +fn=Kernel::nil? +0 2 + +fl= +fn=User::sessions +0 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 7 + +fl= +fn=Class::new +0 43 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=1 0 +0 7 + +fl= +fn=Hash::[] +0 5 + +fl= +fn=Array::join +0 15 + +fl= +fn=Array::sort +0 27 + +fl= +fn=String::upcase +0 35 + +fl= +fn=Array::uniq +0 261506 + +fl= +fn=Hash::[]= +0 1 + +fl= +fn=Array::count +0 14 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3363516 +cfl= +cfn=Array::[] +calls=12693460 27 +27 1728790 + +fl= +fn=String::<< +0 206999 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 798134 +cfl= +cfn=Array::[] +calls=1845232 19 +19 343599 +cfl= +cfn=String::<< +calls=922616 19 +19 206999 + +fl= +fn=Array::[] +0 2792154 + +fl= +fn=Array::each +0 2681455 +cfl= +cfn=Array::[] +calls=3000000 44 +44 719766 +cfl= +cfn=Hash::[] +calls=1 81 +81 5 +cfl= +cfn=Class::new +calls=1 81 +81 50 +cfl= +cfn=User::sessions +calls=2 82 +82 2 +cfl= +cfn=Kernel::nil? +calls=1 82 +82 2 +cfl= +cfn=User::attributes +calls=1 83 +83 2 +cfl= +cfn=Enumerable::reduce +calls=1 84 +84 34 +cfl= +cfn=String::to_i +calls=1 84 +84 3 +cfl= +cfn=BasicObject::method_missing +calls=1 84 +84 9 +cfl= +cfn=Exception::exception +calls=1 84 +84 2 +cfl= +cfn=Exception::backtrace +calls=1 84 +84 2 + +fl= +fn=Enumerable::group_by +0 20 +cfl= +cfn=Array::each +calls=2 0 +0 3401187 + +fl= +fn=Array::map +0 2572987 +cfl= +cfn=String::split +calls=3000000 36 +36 2435437 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 46 +46 1348732 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 47 +47 5092305 +cfl= +cfn=String::upcase +calls=200 0 +0 35 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 11 +cfl= +cfn=Array::map +calls=1 36 +36 3481727 + +fl= +fn=String::split +0 2752099 + +fl= +fn=IO::read^ +0 397527 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +39 97 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 40 +40 3 +cfl= +cfn=IO::read^ +calls=1 42 +42 397527 +cfl= +cfn=String::split +calls=1 42 +42 316662 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 42 +42 3481738 +cfl= +cfn=Enumerable::group_by +calls=2 44 +44 3401208 +cfl= +cfn=Array::map +calls=4 46 +46 7967769 +cfl= +cfn=Array::count +calls=3 66 +66 14 +cfl= +cfn=Hash::[]= +calls=1 66 +66 1 +cfl= +cfn=Array::uniq +calls=1 69 +69 261506 +cfl= +cfn=Array::sort +calls=1 75 +75 27 +cfl= +cfn=Array::join +calls=1 75 +75 15 +cfl= +cfn=Array::each +calls=1 80 +80 114 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 30 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 15826681 + diff --git a/reports/call_tree/callgrind.out.451451 b/reports/call_tree/callgrind.out.451451 new file mode 100644 index 00000000..8e153044 --- /dev/null +++ b/reports/call_tree/callgrind.out.451451 @@ -0,0 +1,262 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 2 + +fl= +fn=Exception::exception +0 2 + +fl= +fn=BasicObject::method_missing +0 11 + +fl= +fn=String::to_i +0 3 + +fl= +fn=Enumerable::reduce +0 3 +cfl= +cfn=Array::each +calls=1 0 +0 34 + +fl= +fn=User::attributes +0 3 + +fl= +fn=Kernel::nil? +0 3 + +fl= +fn=User::sessions +0 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 7 + +fl= +fn=Class::new +0 9 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=1 0 +0 7 + +fl= +fn=Hash::[] +0 4 + +fl= +fn=Array::join +0 15 + +fl= +fn=Array::sort +0 37 + +fl= +fn=String::upcase +0 42 + +fl= +fn=Array::uniq +0 270442 + +fl= +fn=Hash::[]= +0 2 + +fl= +fn=Array::count +0 14 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3398436 +cfl= +cfn=Array::[] +calls=12693460 27 +27 1777722 + +fl= +fn=String::<< +0 176548 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 732955 +cfl= +cfn=Array::[] +calls=1845232 19 +19 312139 +cfl= +cfn=String::<< +calls=922616 19 +19 176548 + +fl= +fn=Array::[] +0 2704693 + +fl= +fn=Array::each +0 2448530 +cfl= +cfn=Array::[] +calls=3000000 44 +44 614831 +cfl= +cfn=Hash::[] +calls=1 81 +81 4 +cfl= +cfn=Class::new +calls=1 81 +81 16 +cfl= +cfn=User::sessions +calls=2 82 +82 3 +cfl= +cfn=Kernel::nil? +calls=1 82 +82 3 +cfl= +cfn=User::attributes +calls=1 83 +83 3 +cfl= +cfn=Enumerable::reduce +calls=1 84 +84 37 +cfl= +cfn=String::to_i +calls=1 84 +84 3 +cfl= +cfn=BasicObject::method_missing +calls=1 84 +84 11 +cfl= +cfn=Exception::exception +calls=1 84 +84 2 +cfl= +cfn=Exception::backtrace +calls=1 84 +84 2 + +fl= +fn=Enumerable::group_by +0 23 +cfl= +cfn=Array::each +calls=2 0 +0 3063328 + +fl= +fn=Array::map +0 2647562 +cfl= +cfn=String::split +calls=3000000 36 +36 2560354 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 46 +46 1221643 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 47 +47 5176159 +cfl= +cfn=String::upcase +calls=200 0 +0 42 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 10 +cfl= +cfn=Array::map +calls=1 36 +36 3665757 + +fl= +fn=String::split +0 2867958 + +fl= +fn=IO::read^ +0 416170 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +39 120 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 40 +40 3 +cfl= +cfn=IO::read^ +calls=1 42 +42 416170 +cfl= +cfn=String::split +calls=1 42 +42 307604 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 42 +42 3665767 +cfl= +cfn=Enumerable::group_by +calls=2 44 +44 3063351 +cfl= +cfn=Array::map +calls=4 46 +46 7940002 +cfl= +cfn=Array::count +calls=3 66 +66 14 +cfl= +cfn=Hash::[]= +calls=1 66 +66 2 +cfl= +cfn=Array::uniq +calls=1 69 +69 270442 +cfl= +cfn=Array::sort +calls=1 75 +75 37 +cfl= +cfn=Array::join +calls=1 75 +75 15 +cfl= +cfn=Array::each +calls=1 80 +80 83 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 59 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 15663610 + diff --git a/reports/call_tree/callgrind.out.454180 b/reports/call_tree/callgrind.out.454180 new file mode 100644 index 00000000..35648ebf --- /dev/null +++ b/reports/call_tree/callgrind.out.454180 @@ -0,0 +1,242 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 2 + +fl= +fn=Exception::exception +0 4 + +fl= +fn=BasicObject::method_missing +0 8 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_user +35 10 +cfl= +cfn=BasicObject::method_missing +calls=1 36 +36 8 +cfl= +cfn=Exception::exception +calls=1 36 +36 4 +cfl= +cfn=Exception::backtrace +calls=1 36 +36 2 + +fl= +fn=Kernel::nil? +0 2 + +fl= +fn=User::sessions +0 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 7 + +fl= +fn=Class::new +0 9 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=1 0 +0 7 + +fl= +fn=Hash::[] +0 5 + +fl= +fn=Array::join +0 15 + +fl= +fn=Array::sort +0 39 + +fl= +fn=String::upcase +0 36 + +fl= +fn=Array::uniq +0 231409 + +fl= +fn=Hash::[]= +0 2 + +fl= +fn=Array::count +0 14 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3166502 +cfl= +cfn=Array::[] +calls=12693460 27 +27 1661584 + +fl= +fn=String::<< +0 160345 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 656593 +cfl= +cfn=Array::[] +calls=1845232 19 +19 287338 +cfl= +cfn=String::<< +calls=922616 19 +19 160345 + +fl= +fn=Array::[] +0 2546064 + +fl= +fn=Array::each +0 2360617 +cfl= +cfn=Array::[] +calls=3000000 48 +48 597143 +cfl= +cfn=Hash::[] +calls=1 85 +85 5 +cfl= +cfn=Class::new +calls=1 85 +85 16 +cfl= +cfn=User::sessions +calls=1 86 +86 2 +cfl= +cfn=Kernel::nil? +calls=1 86 +86 2 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_user +calls=1 87 +87 24 + +fl= +fn=Enumerable::group_by +0 23 +cfl= +cfn=Array::each +calls=2 0 +0 2957744 + +fl= +fn=Array::map +0 2437059 +cfl= +cfn=String::split +calls=3000000 40 +40 2406563 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 50 +50 1104276 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 51 +51 4828086 +cfl= +cfn=String::upcase +calls=200 0 +0 36 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +39 10 +cfl= +cfn=Array::map +calls=1 40 +40 3434692 + +fl= +fn=String::split +0 2672449 + +fl= +fn=IO::read^ +0 378589 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 95 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 44 +44 3 +cfl= +cfn=IO::read^ +calls=1 46 +46 378589 +cfl= +cfn=String::split +calls=1 46 +46 265885 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 46 +46 3434702 +cfl= +cfn=Enumerable::group_by +calls=2 48 +48 2957767 +cfl= +cfn=Array::map +calls=4 50 +50 7341328 +cfl= +cfn=Array::count +calls=3 70 +70 14 +cfl= +cfn=Hash::[]= +calls=1 70 +70 2 +cfl= +cfn=Array::uniq +calls=1 73 +73 231409 +cfl= +cfn=Array::sort +calls=1 79 +79 39 +cfl= +cfn=Array::join +calls=1 79 +79 15 +cfl= +cfn=Array::each +calls=1 84 +84 65 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 29 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 14609915 + diff --git a/reports/call_tree/callgrind.out.454483 b/reports/call_tree/callgrind.out.454483 new file mode 100644 index 00000000..367f2a59 --- /dev/null +++ b/reports/call_tree/callgrind.out.454483 @@ -0,0 +1,250 @@ +events: wall_time + +fl= +fn=IO::write^ +0 12765 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 3 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 39 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 3 + +fl= +fn=User::attributes +0 74758 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_user +35 196075 +cfl= +cfn=User::attributes +calls=461308 36 +36 74758 + +fl= +fn=Kernel::nil? +0 75487 + +fl= +fn=User::sessions +0 78255 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 195855 + +fl= +fn=Class::new +0 289482 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=461308 0 +0 195855 + +fl= +fn=Hash::[] +0 242319 + +fl= +fn=Array::join +0 15 + +fl= +fn=Array::sort +0 31 + +fl= +fn=String::upcase +0 39 + +fl= +fn=Array::uniq +0 227260 + +fl= +fn=Hash::[]= +0 1 + +fl= +fn=Array::count +0 15 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3737841 +cfl= +cfn=Array::[] +calls=12693460 27 +27 1981419 + +fl= +fn=String::<< +0 181106 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 756889 +cfl= +cfn=Array::[] +calls=1845232 19 +19 300433 +cfl= +cfn=String::<< +calls=922616 19 +19 181106 + +fl= +fn=Array::[] +0 2876498 + +fl= +fn=Array::each +0 3263776 +cfl= +cfn=Array::[] +calls=3000000 48 +48 594646 +cfl= +cfn=Hash::[] +calls=461308 85 +85 242319 +cfl= +cfn=Class::new +calls=461308 85 +85 485337 +cfl= +cfn=User::sessions +calls=461308 86 +86 78255 +cfl= +cfn=Kernel::nil? +calls=461308 86 +86 75487 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_user +calls=461308 87 +87 270833 + +fl= +fn=Enumerable::group_by +0 24 +cfl= +cfn=Array::each +calls=2 0 +0 3147944 + +fl= +fn=Array::map +0 2742165 +cfl= +cfn=String::split +calls=3000000 40 +40 2553573 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 50 +50 1238427 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 51 +51 5719260 +cfl= +cfn=String::upcase +calls=200 0 +0 39 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +39 24 +cfl= +cfn=Array::map +calls=1 40 +40 3682457 + +fl= +fn=String::split +0 2840525 + +fl= +fn=IO::read^ +0 412498 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 173 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 44 +44 3 +cfl= +cfn=IO::read^ +calls=1 46 +46 412498 +cfl= +cfn=String::split +calls=1 46 +46 286953 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 46 +46 3682481 +cfl= +cfn=Enumerable::group_by +calls=2 48 +48 3147968 +cfl= +cfn=Array::map +calls=4 50 +50 8571006 +cfl= +cfn=Array::count +calls=3 70 +70 15 +cfl= +cfn=Hash::[]= +calls=1 70 +70 1 +cfl= +cfn=Array::uniq +calls=1 73 +73 227260 +cfl= +cfn=Array::sort +calls=1 79 +79 31 +cfl= +cfn=Array::join +calls=1 79 +79 15 +cfl= +cfn=Array::each +calls=1 84 +84 1862711 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 111 +111 43 +cfl= +cfn=IO::write^ +calls=1 111 +111 12765 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 41 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 18203922 + diff --git a/reports/call_tree/callgrind.out.454881 b/reports/call_tree/callgrind.out.454881 new file mode 100644 index 00000000..514eaafe --- /dev/null +++ b/reports/call_tree/callgrind.out.454881 @@ -0,0 +1,250 @@ +events: wall_time + +fl= +fn=IO::write^ +0 2373 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 4 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 48 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 4 + +fl= +fn=User::attributes +0 78821 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_user +35 232858 +cfl= +cfn=User::attributes +calls=461308 36 +36 78821 + +fl= +fn=Kernel::nil? +0 85161 + +fl= +fn=User::sessions +0 86667 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 217197 + +fl= +fn=Class::new +0 344405 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=461308 0 +0 217197 + +fl= +fn=Hash::[] +0 267108 + +fl= +fn=Array::join +0 22 + +fl= +fn=Array::sort +0 29 + +fl= +fn=String::upcase +0 36 + +fl= +fn=Array::uniq +0 219659 + +fl= +fn=Hash::[]= +0 5 + +fl= +fn=Array::count +0 12 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3289331 +cfl= +cfn=Array::[] +calls=12693460 27 +27 1729747 + +fl= +fn=String::<< +0 167643 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 671767 +cfl= +cfn=Array::[] +calls=1845232 19 +19 295660 +cfl= +cfn=String::<< +calls=922616 19 +19 167643 + +fl= +fn=Array::[] +0 2593661 + +fl= +fn=Array::each +0 3091246 +cfl= +cfn=Array::[] +calls=3000000 48 +48 568254 +cfl= +cfn=Hash::[] +calls=461308 85 +85 267108 +cfl= +cfn=Class::new +calls=461308 85 +85 561602 +cfl= +cfn=User::sessions +calls=461308 86 +86 86667 +cfl= +cfn=Kernel::nil? +calls=461308 86 +86 85161 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_user +calls=461308 87 +87 311680 + +fl= +fn=Enumerable::group_by +0 23 +cfl= +cfn=Array::each +calls=2 0 +0 2874867 + +fl= +fn=Array::map +0 2570628 +cfl= +cfn=String::split +calls=3000000 40 +40 2512219 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 50 +50 1135070 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 51 +51 5019077 +cfl= +cfn=String::upcase +calls=200 0 +0 36 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +39 11 +cfl= +cfn=Array::map +calls=1 40 +40 3609370 + +fl= +fn=String::split +0 2783699 + +fl= +fn=IO::read^ +0 393790 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 4 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 152 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 44 +44 4 +cfl= +cfn=IO::read^ +calls=1 46 +46 393790 +cfl= +cfn=String::split +calls=1 46 +46 271480 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 46 +46 3609381 +cfl= +cfn=Enumerable::group_by +calls=2 48 +48 2874890 +cfl= +cfn=Array::map +calls=4 50 +50 7627660 +cfl= +cfn=Array::count +calls=3 70 +70 12 +cfl= +cfn=Hash::[]= +calls=1 70 +70 5 +cfl= +cfn=Array::uniq +calls=1 73 +73 219659 +cfl= +cfn=Array::sort +calls=1 79 +79 29 +cfl= +cfn=Array::join +calls=1 79 +79 22 +cfl= +cfn=Array::each +calls=1 84 +84 2096850 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 112 +112 52 +cfl= +cfn=IO::write^ +calls=1 112 +112 2373 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 40 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 17096359 + diff --git a/reports/call_tree/callgrind.out.456001 b/reports/call_tree/callgrind.out.456001 new file mode 100644 index 00000000..92881ff3 --- /dev/null +++ b/reports/call_tree/callgrind.out.456001 @@ -0,0 +1,354 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 1 + +fl= +fn=Exception::exception +0 1 + +fl= +fn=Exception::initialize +0 3 + +fl= +fn=SignalException::initialize +0 4 +cfl= +cfn=Exception::initialize +calls=1 0 +0 3 + +fl= +fn=Interrupt::initialize +0 8 +cfl= +cfn=SignalException::initialize +calls=1 0 +0 7 + +fl= +fn=Hash::merge! +0 169720 + +fl= +fn=Array::reverse +0 76946 + +fl= +fn=Array::all? +0 177413 +cfl= +cfn=String::=~ +calls=351677 49 +49 150877 + +fl= +fn=String::=~ +0 480565 +cfl= +cfn=Interrupt::initialize +calls=1 0 +0 14 +cfl= +cfn=Exception::exception +calls=1 0 +0 1 +cfl= +cfn=Exception::backtrace +calls=1 0 +0 1 + +fl= +fn=Array::any? +0 327331 +cfl= +cfn=String::=~ +calls=782326 48 +48 329705 + +fl= +fn=Array::max +0 63352 + +fl= +fn=Array::sum +0 65766 + +fl= +fn=String::to_i +0 324080 + +fl= +fn=User::attributes +0 56853 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_user_metrics +39 1483082 +cfl= +cfn=User::attributes +calls=273184 40 +40 56853 +cfl= +cfn=User::sessions +calls=819551 41 +41 141883 +cfl= +cfn=Array::map +calls=819551 41 +41 2575549 +cfl= +cfn=Array::count +calls=273184 43 +43 52897 +cfl= +cfn=Array::sum +calls=273184 43 +43 65766 +cfl= +cfn=Array::max +calls=273184 43 +43 63352 +cfl= +cfn=Array::sort +calls=546367 43 +43 486359 +cfl= +cfn=Array::join +calls=273184 43 +43 251160 +cfl= +cfn=Array::any? +calls=273184 43 +43 657036 +cfl= +cfn=Array::all? +calls=273183 43 +43 328290 +cfl= +cfn=Array::reverse +calls=273183 43 +43 76946 + +fl= +fn=Kernel::nil? +0 48282 + +fl= +fn=User::sessions +0 196261 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 140865 + +fl= +fn=Class::new +0 265450 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=273184 0 +0 140865 + +fl= +fn=Hash::[] +0 160298 + +fl= +fn=Array::join +0 251174 + +fl= +fn=Array::sort +0 486387 + +fl= +fn=String::upcase +0 349895 + +fl= +fn=Array::uniq +0 254238 + +fl= +fn=Hash::[]= +0 1 + +fl= +fn=Array::count +0 52910 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3194231 +cfl= +cfn=Array::[] +calls=12693460 27 +27 1686030 + +fl= +fn=String::<< +0 160205 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 648811 +cfl= +cfn=Array::[] +calls=1845232 19 +19 283980 +cfl= +cfn=String::<< +calls=922616 19 +19 160205 + +fl= +fn=Array::[] +0 2538915 + +fl= +fn=Array::each +0 2896294 +cfl= +cfn=Array::[] +calls=3000000 60 +60 568904 +cfl= +cfn=Hash::[] +calls=273184 97 +97 160298 +cfl= +cfn=Class::new +calls=273184 97 +97 406314 +cfl= +cfn=User::sessions +calls=273184 98 +98 54378 +cfl= +cfn=Kernel::nil? +calls=273184 98 +98 48282 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_user_metrics +calls=273184 99 +99 6239172 +cfl= +cfn=Hash::merge! +calls=273183 99 +99 169720 + +fl= +fn=Enumerable::group_by +0 23 +cfl= +cfn=Array::each +calls=2 0 +0 2884976 + +fl= +fn=Array::map +0 4535883 +cfl= +cfn=String::split +calls=3000000 36 +36 2486614 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 62 +62 1092997 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 63 +63 4880261 +cfl= +cfn=String::upcase +calls=1503104 0 +0 349895 +cfl= +cfn=String::to_i +calls=1502904 41 +41 324080 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 10 +cfl= +cfn=Array::map +calls=1 36 +36 3508521 + +fl= +fn=String::split +0 2759310 + +fl= +fn=IO::read^ +0 386654 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 132 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 3 +cfl= +cfn=IO::read^ +calls=1 58 +58 386654 +cfl= +cfn=String::split +calls=1 58 +58 272696 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 58 +58 3508531 +cfl= +cfn=Enumerable::group_by +calls=2 60 +60 2884999 +cfl= +cfn=Array::map +calls=4 62 +62 7585660 +cfl= +cfn=Array::count +calls=3 82 +82 13 +cfl= +cfn=Hash::[]= +calls=1 82 +82 1 +cfl= +cfn=Array::uniq +calls=1 85 +85 254238 +cfl= +cfn=Array::sort +calls=1 91 +91 28 +cfl= +cfn=Array::join +calls=1 91 +91 14 +cfl= +cfn=Array::each +calls=1 96 +96 7658386 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 56 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 22551355 + diff --git a/reports/call_tree/callgrind.out.456684 b/reports/call_tree/callgrind.out.456684 new file mode 100644 index 00000000..4e86e288 --- /dev/null +++ b/reports/call_tree/callgrind.out.456684 @@ -0,0 +1,338 @@ +events: wall_time + +fl= +fn=IO::write^ +0 20746 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 1 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 32398 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 1 + +fl= +fn=Hash::merge! +0 6039 + +fl= +fn=Array::reverse +0 4016 + +fl= +fn=Array::all? +0 8926 +cfl= +cfn=String::=~ +calls=19788 49 +49 7514 + +fl= +fn=String::=~ +0 24164 + +fl= +fn=Array::any? +0 16851 +cfl= +cfn=String::=~ +calls=44327 48 +48 16649 + +fl= +fn=Array::max +0 2957 + +fl= +fn=Array::sum +0 2876 + +fl= +fn=String::to_i +0 16943 + +fl= +fn=User::attributes +0 2339 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_user_metrics +39 67840 +cfl= +cfn=User::attributes +calls=15431 40 +40 2339 +cfl= +cfn=User::sessions +calls=46293 41 +41 6966 +cfl= +cfn=Array::map +calls=46293 41 +41 132518 +cfl= +cfn=Array::count +calls=15431 43 +43 2633 +cfl= +cfn=Array::sum +calls=15431 43 +43 2876 +cfl= +cfn=Array::max +calls=15431 43 +43 2957 +cfl= +cfn=Array::sort +calls=30862 43 +43 22316 +cfl= +cfn=Array::join +calls=15431 43 +43 10300 +cfl= +cfn=Array::any? +calls=15431 43 +43 33500 +cfl= +cfn=Array::all? +calls=15431 43 +43 16441 +cfl= +cfn=Array::reverse +calls=15431 43 +43 4016 + +fl= +fn=Kernel::nil? +0 2428 + +fl= +fn=User::sessions +0 9414 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 6102 + +fl= +fn=Class::new +0 12195 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=15431 0 +0 6102 + +fl= +fn=Hash::[] +0 6183 + +fl= +fn=Array::join +0 10312 + +fl= +fn=Array::sort +0 22344 + +fl= +fn=String::upcase +0 16803 + +fl= +fn=Array::uniq +0 9489 + +fl= +fn=Hash::[]= +0 2 + +fl= +fn=Array::count +0 2640 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 101140 +cfl= +cfn=Array::[] +calls=422845 27 +27 54166 + +fl= +fn=String::<< +0 5567 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 21519 +cfl= +cfn=Array::[] +calls=61724 19 +19 9347 +cfl= +cfn=String::<< +calls=30862 19 +19 5567 + +fl= +fn=Array::[] +0 82830 + +fl= +fn=Array::each +0 101659 +cfl= +cfn=Array::[] +calls=100000 60 +60 19318 +cfl= +cfn=Hash::[] +calls=15431 97 +97 6183 +cfl= +cfn=Class::new +calls=15431 97 +97 18297 +cfl= +cfn=User::sessions +calls=15431 98 +98 2448 +cfl= +cfn=Kernel::nil? +calls=15431 98 +98 2428 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_user_metrics +calls=15431 99 +99 304702 +cfl= +cfn=Hash::merge! +calls=15431 99 +99 6039 + +fl= +fn=Enumerable::group_by +0 20 +cfl= +cfn=Array::each +calls=2 0 +0 92338 + +fl= +fn=Array::map +0 191650 +cfl= +cfn=String::split +calls=100000 36 +36 85652 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=15431 62 +62 36432 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=84569 63 +63 155306 +cfl= +cfn=String::upcase +calls=84769 0 +0 16803 +cfl= +cfn=String::to_i +calls=84569 41 +41 16943 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 15 +cfl= +cfn=Array::map +calls=1 36 +36 131200 + +fl= +fn=String::split +0 96085 + +fl= +fn=IO::read^ +0 18383 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 1395 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 3 +cfl= +cfn=IO::read^ +calls=1 58 +58 18383 +cfl= +cfn=String::split +calls=1 58 +58 10433 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 58 +58 131215 +cfl= +cfn=Enumerable::group_by +calls=2 60 +60 92358 +cfl= +cfn=Array::map +calls=4 62 +62 239068 +cfl= +cfn=Array::count +calls=3 82 +82 7 +cfl= +cfn=Hash::[]= +calls=1 82 +82 2 +cfl= +cfn=Array::uniq +calls=1 85 +85 9489 +cfl= +cfn=Array::sort +calls=1 91 +91 27 +cfl= +cfn=Array::join +calls=1 91 +91 12 +cfl= +cfn=Array::each +calls=1 96 +96 368736 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 110 +110 32399 +cfl= +cfn=IO::write^ +calls=1 110 +110 20746 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 42 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 924273 + diff --git a/reports/call_tree/callgrind.out.456889 b/reports/call_tree/callgrind.out.456889 new file mode 100644 index 00000000..53f5c5e5 --- /dev/null +++ b/reports/call_tree/callgrind.out.456889 @@ -0,0 +1,338 @@ +events: wall_time + +fl= +fn=IO::write^ +0 19614 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 1 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 35846 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 1 + +fl= +fn=Hash::merge! +0 5504 + +fl= +fn=Array::reverse +0 3035 + +fl= +fn=Array::all? +0 8091 +cfl= +cfn=String::=~ +calls=19788 49 +49 7242 + +fl= +fn=String::=~ +0 22019 + +fl= +fn=Array::any? +0 15838 +cfl= +cfn=String::=~ +calls=44327 48 +48 14777 + +fl= +fn=Array::max +0 2778 + +fl= +fn=Array::sum +0 2754 + +fl= +fn=String::to_i +0 14718 + +fl= +fn=User::attributes +0 2452 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_user_metrics +39 65733 +cfl= +cfn=User::attributes +calls=15431 40 +40 2452 +cfl= +cfn=User::sessions +calls=46293 41 +41 7024 +cfl= +cfn=Array::map +calls=46293 41 +41 118158 +cfl= +cfn=Array::count +calls=15431 43 +43 2459 +cfl= +cfn=Array::sum +calls=15431 43 +43 2754 +cfl= +cfn=Array::max +calls=15431 43 +43 2778 +cfl= +cfn=Array::sort +calls=30862 43 +43 21812 +cfl= +cfn=Array::join +calls=15431 43 +43 10562 +cfl= +cfn=Array::any? +calls=15431 43 +43 30615 +cfl= +cfn=Array::all? +calls=15431 43 +43 15334 +cfl= +cfn=Array::reverse +calls=15431 43 +43 3035 + +fl= +fn=Kernel::nil? +0 2389 + +fl= +fn=User::sessions +0 9470 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 5922 + +fl= +fn=Class::new +0 10814 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=15431 0 +0 5922 + +fl= +fn=Hash::[] +0 5965 + +fl= +fn=Array::join +0 10574 + +fl= +fn=Array::sort +0 21845 + +fl= +fn=String::upcase +0 15204 + +fl= +fn=Array::uniq +0 8475 + +fl= +fn=Hash::[]= +0 2 + +fl= +fn=Array::count +0 2466 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 102777 +cfl= +cfn=Array::[] +calls=422845 27 +27 54960 + +fl= +fn=String::<< +0 5356 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 21161 +cfl= +cfn=Array::[] +calls=61724 19 +19 9553 +cfl= +cfn=String::<< +calls=30862 19 +19 5356 + +fl= +fn=Array::[] +0 84106 + +fl= +fn=Array::each +0 106713 +cfl= +cfn=Array::[] +calls=100000 60 +60 19593 +cfl= +cfn=Hash::[] +calls=15431 97 +97 5965 +cfl= +cfn=Class::new +calls=15431 97 +97 16736 +cfl= +cfn=User::sessions +calls=15431 98 +98 2446 +cfl= +cfn=Kernel::nil? +calls=15431 98 +98 2389 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_user_metrics +calls=15431 99 +99 282716 +cfl= +cfn=Hash::merge! +calls=15431 99 +99 5504 + +fl= +fn=Enumerable::group_by +0 22 +cfl= +cfn=Array::each +calls=2 0 +0 99941 + +fl= +fn=Array::map +0 172280 +cfl= +cfn=String::split +calls=100000 36 +36 84042 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=15431 62 +62 36071 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=84569 63 +63 157737 +cfl= +cfn=String::upcase +calls=84769 0 +0 15204 +cfl= +cfn=String::to_i +calls=84569 41 +41 14718 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 9 +cfl= +cfn=Array::map +calls=1 36 +36 119611 + +fl= +fn=String::split +0 93618 + +fl= +fn=IO::read^ +0 20120 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 1533 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 3 +cfl= +cfn=IO::read^ +calls=1 58 +58 20120 +cfl= +cfn=String::split +calls=1 58 +58 9576 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 58 +58 119621 +cfl= +cfn=Enumerable::group_by +calls=2 60 +60 99963 +cfl= +cfn=Array::map +calls=4 62 +62 242282 +cfl= +cfn=Array::count +calls=3 82 +82 7 +cfl= +cfn=Hash::[]= +calls=1 82 +82 2 +cfl= +cfn=Array::uniq +calls=1 85 +85 8475 +cfl= +cfn=Array::sort +calls=1 91 +91 33 +cfl= +cfn=Array::join +calls=1 91 +91 12 +cfl= +cfn=Array::each +calls=1 96 +96 342121 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 110 +110 35847 +cfl= +cfn=IO::write^ +calls=1 110 +110 19614 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 39 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 899208 + diff --git a/reports/call_tree/callgrind.out.458749 b/reports/call_tree/callgrind.out.458749 new file mode 100644 index 00000000..f1d7a963 --- /dev/null +++ b/reports/call_tree/callgrind.out.458749 @@ -0,0 +1,338 @@ +events: wall_time + +fl= +fn=IO::write^ +0 21767 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 1 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 31617 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 1 + +fl= +fn=Hash::merge! +0 6679 + +fl= +fn=Array::reverse +0 3232 + +fl= +fn=Array::all? +0 8847 +cfl= +cfn=String::=~ +calls=19788 49 +49 7698 + +fl= +fn=String::=~ +0 24423 + +fl= +fn=Array::any? +0 16747 +cfl= +cfn=String::=~ +calls=44327 48 +48 16724 + +fl= +fn=Array::max +0 2899 + +fl= +fn=Array::sum +0 3015 + +fl= +fn=String::to_i +0 15831 + +fl= +fn=User::attributes +0 2597 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_user_metrics +39 68642 +cfl= +cfn=User::attributes +calls=15431 40 +40 2597 +cfl= +cfn=User::sessions +calls=46293 41 +41 7111 +cfl= +cfn=Array::map +calls=46293 41 +41 129946 +cfl= +cfn=Array::count +calls=15431 43 +43 2728 +cfl= +cfn=Array::sum +calls=15431 43 +43 3015 +cfl= +cfn=Array::max +calls=15431 43 +43 2899 +cfl= +cfn=Array::sort +calls=30862 43 +43 21676 +cfl= +cfn=Array::join +calls=15431 43 +43 11774 +cfl= +cfn=Array::any? +calls=15431 43 +43 33471 +cfl= +cfn=Array::all? +calls=15431 43 +43 16545 +cfl= +cfn=Array::reverse +calls=15431 43 +43 3232 + +fl= +fn=Kernel::nil? +0 2354 + +fl= +fn=User::sessions +0 9564 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 6590 + +fl= +fn=Class::new +0 12119 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=15431 0 +0 6590 + +fl= +fn=Hash::[] +0 6538 + +fl= +fn=Array::join +0 11787 + +fl= +fn=Array::sort +0 21705 + +fl= +fn=String::upcase +0 17726 + +fl= +fn=Array::uniq +0 9270 + +fl= +fn=Hash::[]= +0 3 + +fl= +fn=Array::count +0 2738 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 108270 +cfl= +cfn=Array::[] +calls=422845 27 +27 58658 + +fl= +fn=String::<< +0 5403 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 21726 +cfl= +cfn=Array::[] +calls=61724 19 +19 9582 +cfl= +cfn=String::<< +calls=30862 19 +19 5403 + +fl= +fn=Array::[] +0 87806 + +fl= +fn=Array::each +0 110028 +cfl= +cfn=Array::[] +calls=100000 60 +60 19566 +cfl= +cfn=Hash::[] +calls=15431 97 +97 6538 +cfl= +cfn=Class::new +calls=15431 97 +97 18709 +cfl= +cfn=User::sessions +calls=15431 98 +98 2453 +cfl= +cfn=Kernel::nil? +calls=15431 98 +98 2354 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_user_metrics +calls=15431 99 +99 303638 +cfl= +cfn=Hash::merge! +calls=15431 99 +99 6679 + +fl= +fn=Enumerable::group_by +0 25 +cfl= +cfn=Array::each +calls=2 0 +0 101953 + +fl= +fn=Array::map +0 181382 +cfl= +cfn=String::split +calls=100000 36 +36 73227 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=15431 62 +62 36712 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=84569 63 +63 166928 +cfl= +cfn=String::upcase +calls=84769 0 +0 17726 +cfl= +cfn=String::to_i +calls=84569 41 +41 15831 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 11 +cfl= +cfn=Array::map +calls=1 36 +36 105771 + +fl= +fn=String::split +0 81433 + +fl= +fn=IO::read^ +0 20316 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 1580 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 3 +cfl= +cfn=IO::read^ +calls=1 58 +58 20316 +cfl= +cfn=String::split +calls=1 58 +58 8206 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 58 +58 105782 +cfl= +cfn=Enumerable::group_by +calls=2 60 +60 101978 +cfl= +cfn=Array::map +calls=4 62 +62 256088 +cfl= +cfn=Array::count +calls=3 82 +82 9 +cfl= +cfn=Hash::[]= +calls=1 82 +82 3 +cfl= +cfn=Array::uniq +calls=1 85 +85 9270 +cfl= +cfn=Array::sort +calls=1 91 +91 29 +cfl= +cfn=Array::join +calls=1 91 +91 12 +cfl= +cfn=Array::each +calls=1 96 +96 368011 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 110 +110 31618 +cfl= +cfn=IO::write^ +calls=1 110 +110 21767 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 39 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 924672 + diff --git a/reports/call_tree/callgrind.out.459102 b/reports/call_tree/callgrind.out.459102 new file mode 100644 index 00000000..bee1b368 --- /dev/null +++ b/reports/call_tree/callgrind.out.459102 @@ -0,0 +1,62 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 1 + +fl= +fn=Exception::exception +0 1 + +fl= +fn=Exception::initialize +0 2 + +fl= +fn=SystemCallError::initialize +0 15 +cfl= +cfn=Exception::initialize +calls=1 0 +0 2 + +fl= +fn=IO::read^ +0 358 +cfl= +cfn=SystemCallError::initialize +calls=1 0 +0 17 +cfl= +cfn=Exception::exception +calls=1 0 +0 1 +cfl= +cfn=Exception::backtrace +calls=1 0 +0 1 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 8 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 3 +cfl= +cfn=IO::read^ +calls=1 58 +58 377 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 27 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 388 + diff --git a/reports/call_tree/callgrind.out.459261 b/reports/call_tree/callgrind.out.459261 new file mode 100644 index 00000000..cc51bb48 --- /dev/null +++ b/reports/call_tree/callgrind.out.459261 @@ -0,0 +1,338 @@ +events: wall_time + +fl= +fn=IO::write^ +0 157351 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 1 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 341159 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 1 + +fl= +fn=Hash::merge! +0 106801 + +fl= +fn=Array::reverse +0 45128 + +fl= +fn=Array::all? +0 118725 +cfl= +cfn=String::=~ +calls=198387 49 +49 104122 + +fl= +fn=String::=~ +0 333398 + +fl= +fn=Array::any? +0 207123 +cfl= +cfn=String::=~ +calls=441002 48 +48 229276 + +fl= +fn=Array::max +0 43865 + +fl= +fn=Array::sum +0 42871 + +fl= +fn=String::to_i +0 188907 + +fl= +fn=User::attributes +0 31306 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_user_metrics +39 903195 +cfl= +cfn=User::attributes +calls=153770 40 +40 31306 +cfl= +cfn=User::sessions +calls=461310 41 +41 88479 +cfl= +cfn=Array::map +calls=461310 41 +41 1559702 +cfl= +cfn=Array::count +calls=153770 43 +43 35307 +cfl= +cfn=Array::sum +calls=153770 43 +43 42871 +cfl= +cfn=Array::max +calls=153770 43 +43 43865 +cfl= +cfn=Array::sort +calls=307540 43 +43 302831 +cfl= +cfn=Array::join +calls=153770 43 +43 148856 +cfl= +cfn=Array::any? +calls=153770 43 +43 436399 +cfl= +cfn=Array::all? +calls=153770 43 +43 222847 +cfl= +cfn=Array::reverse +calls=153770 43 +43 45128 + +fl= +fn=Kernel::nil? +0 29764 + +fl= +fn=User::sessions +0 125152 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 82016 + +fl= +fn=Class::new +0 161125 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 82016 + +fl= +fn=Hash::[] +0 99810 + +fl= +fn=Array::join +0 148870 + +fl= +fn=Array::sort +0 302859 + +fl= +fn=String::upcase +0 215950 + +fl= +fn=Array::uniq +0 83775 + +fl= +fn=Hash::[]= +0 3 + +fl= +fn=Array::count +0 35319 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 1079197 +cfl= +cfn=Array::[] +calls=4231150 27 +27 573305 + +fl= +fn=String::<< +0 57366 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 233601 +cfl= +cfn=Array::[] +calls=615080 19 +19 102169 +cfl= +cfn=String::<< +calls=307540 19 +19 57366 + +fl= +fn=Array::[] +0 887038 + +fl= +fn=Array::each +0 1213096 +cfl= +cfn=Array::[] +calls=1000000 60 +60 211565 +cfl= +cfn=Hash::[] +calls=153770 97 +97 99810 +cfl= +cfn=Class::new +calls=153770 97 +97 243141 +cfl= +cfn=User::sessions +calls=153770 98 +98 36674 +cfl= +cfn=Kernel::nil? +calls=153770 98 +98 29764 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_user_metrics +calls=153770 99 +99 3860784 +cfl= +cfn=Hash::merge! +calls=153770 99 +99 106801 + +fl= +fn=Enumerable::group_by +0 42 +cfl= +cfn=Array::each +calls=2 0 +0 1032271 + +fl= +fn=Array::map +0 2052777 +cfl= +cfn=String::split +calls=1000000 36 +36 901612 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 62 +62 393136 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 63 +63 1652502 +cfl= +cfn=String::upcase +calls=846430 0 +0 215950 +cfl= +cfn=String::to_i +calls=846230 41 +41 188907 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 12 +cfl= +cfn=Array::map +calls=1 36 +36 1294600 + +fl= +fn=String::split +0 984657 + +fl= +fn=IO::read^ +0 132759 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 18105 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 3 +cfl= +cfn=IO::read^ +calls=1 58 +58 132759 +cfl= +cfn=String::split +calls=1 58 +58 83045 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 58 +58 1294612 +cfl= +cfn=Enumerable::group_by +calls=2 60 +60 1032313 +cfl= +cfn=Array::map +calls=4 62 +62 2550580 +cfl= +cfn=Array::count +calls=3 82 +82 13 +cfl= +cfn=Hash::[]= +calls=1 82 +82 3 +cfl= +cfn=Array::uniq +calls=1 85 +85 83775 +cfl= +cfn=Array::sort +calls=1 91 +91 28 +cfl= +cfn=Array::join +calls=1 91 +91 14 +cfl= +cfn=Array::each +calls=1 96 +96 4769364 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 110 +110 341160 +cfl= +cfn=IO::write^ +calls=1 110 +110 157351 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 37 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 10463125 + diff --git a/reports/call_tree/callgrind.out.460098 b/reports/call_tree/callgrind.out.460098 new file mode 100644 index 00000000..fd41a266 --- /dev/null +++ b/reports/call_tree/callgrind.out.460098 @@ -0,0 +1,338 @@ +events: wall_time + +fl= +fn=IO::write^ +0 173133 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 1 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 355025 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 1 + +fl= +fn=Hash::merge! +0 89677 + +fl= +fn=Array::reverse +0 37448 + +fl= +fn=Array::all? +0 92559 +cfl= +cfn=String::=~ +calls=198387 49 +49 80642 + +fl= +fn=String::=~ +0 255772 + +fl= +fn=Array::any? +0 175151 +cfl= +cfn=String::=~ +calls=441002 48 +48 175130 + +fl= +fn=Array::max +0 32622 + +fl= +fn=Array::sum +0 30844 + +fl= +fn=String::to_i +0 171852 + +fl= +fn=User::attributes +0 26532 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_user_metrics +39 765434 +cfl= +cfn=User::attributes +calls=153770 40 +40 26532 +cfl= +cfn=User::sessions +calls=461310 41 +41 78479 +cfl= +cfn=Array::map +calls=461310 41 +41 1387899 +cfl= +cfn=Array::count +calls=153770 43 +43 28813 +cfl= +cfn=Array::sum +calls=153770 43 +43 30844 +cfl= +cfn=Array::max +calls=153770 43 +43 32622 +cfl= +cfn=Array::sort +calls=307540 43 +43 242278 +cfl= +cfn=Array::join +calls=153770 43 +43 143415 +cfl= +cfn=Array::any? +calls=153770 43 +43 350281 +cfl= +cfn=Array::all? +calls=153770 43 +43 173201 +cfl= +cfn=Array::reverse +calls=153770 43 +43 37448 + +fl= +fn=Kernel::nil? +0 27731 + +fl= +fn=User::sessions +0 105586 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 69939 + +fl= +fn=Class::new +0 132513 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 69939 + +fl= +fn=Hash::[] +0 84085 + +fl= +fn=Array::join +0 143430 + +fl= +fn=Array::sort +0 242309 + +fl= +fn=String::upcase +0 178926 + +fl= +fn=Array::uniq +0 74436 + +fl= +fn=Hash::[]= +0 4 + +fl= +fn=Array::count +0 28827 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 1110756 +cfl= +cfn=Array::[] +calls=4231150 27 +27 609829 + +fl= +fn=String::<< +0 84769 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 302994 +cfl= +cfn=Array::[] +calls=615080 19 +19 127359 +cfl= +cfn=String::<< +calls=307540 19 +19 84769 + +fl= +fn=Array::[] +0 933960 + +fl= +fn=Array::each +0 1175347 +cfl= +cfn=Array::[] +calls=1000000 60 +60 196772 +cfl= +cfn=Hash::[] +calls=153770 97 +97 84085 +cfl= +cfn=Class::new +calls=153770 97 +97 202452 +cfl= +cfn=User::sessions +calls=153770 98 +98 27107 +cfl= +cfn=Kernel::nil? +calls=153770 98 +98 27731 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_user_metrics +calls=153770 99 +99 3297248 +cfl= +cfn=Hash::merge! +calls=153770 99 +99 89677 + +fl= +fn=Enumerable::group_by +0 28 +cfl= +cfn=Array::each +calls=2 0 +0 1048352 + +fl= +fn=Array::map +0 1922787 +cfl= +cfn=String::split +calls=1000000 36 +36 823287 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 62 +62 515123 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 63 +63 1720585 +cfl= +cfn=String::upcase +calls=846430 0 +0 178926 +cfl= +cfn=String::to_i +calls=846230 41 +41 171852 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 30 +cfl= +cfn=Array::map +calls=1 36 +36 1182314 + +fl= +fn=String::split +0 907083 + +fl= +fn=IO::read^ +0 138277 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 20731 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 3 +cfl= +cfn=IO::read^ +calls=1 58 +58 138277 +cfl= +cfn=String::split +calls=1 58 +58 83796 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 58 +58 1182344 +cfl= +cfn=Enumerable::group_by +calls=2 60 +60 1048380 +cfl= +cfn=Array::map +calls=4 62 +62 2762347 +cfl= +cfn=Array::count +calls=3 82 +82 14 +cfl= +cfn=Hash::[]= +calls=1 82 +82 4 +cfl= +cfn=Array::uniq +calls=1 85 +85 74436 +cfl= +cfn=Array::sort +calls=1 91 +91 31 +cfl= +cfn=Array::join +calls=1 91 +91 15 +cfl= +cfn=Array::each +calls=1 96 +96 4052068 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 110 +110 355026 +cfl= +cfn=IO::write^ +calls=1 110 +110 173133 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 44 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 9890603 + diff --git a/reports/call_tree/callgrind.out.462477 b/reports/call_tree/callgrind.out.462477 new file mode 100644 index 00000000..51146cd5 --- /dev/null +++ b/reports/call_tree/callgrind.out.462477 @@ -0,0 +1,338 @@ +events: wall_time + +fl= +fn=IO::write^ +0 160290 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 3 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 296269 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 3 + +fl= +fn=Hash::merge! +0 76905 + +fl= +fn=Array::reverse +0 34944 + +fl= +fn=Array::all? +0 84706 +cfl= +cfn=String::=~ +calls=198387 49 +49 67531 + +fl= +fn=String::=~ +0 216508 + +fl= +fn=Array::any? +0 157242 +cfl= +cfn=String::=~ +calls=441002 48 +48 148978 + +fl= +fn=Array::max +0 28938 + +fl= +fn=Array::sum +0 27090 + +fl= +fn=String::upcase +0 155218 + +fl= +fn=String::to_i +0 158571 + +fl= +fn=User::attributes +0 26722 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_user_metrics +39 679185 +cfl= +cfn=User::attributes +calls=153770 40 +40 26722 +cfl= +cfn=User::sessions +calls=461310 41 +41 68837 +cfl= +cfn=Array::map +calls=461310 41 +41 1212563 +cfl= +cfn=Array::count +calls=153770 43 +43 24989 +cfl= +cfn=Array::sum +calls=153770 43 +43 27090 +cfl= +cfn=Array::max +calls=153770 43 +43 28938 +cfl= +cfn=Array::sort +calls=307540 43 +43 207122 +cfl= +cfn=Array::join +calls=153770 43 +43 110376 +cfl= +cfn=Array::any? +calls=153770 43 +43 306219 +cfl= +cfn=Array::all? +calls=153770 43 +43 152236 +cfl= +cfn=Array::reverse +calls=153770 43 +43 34944 + +fl= +fn=Kernel::nil? +0 23663 + +fl= +fn=User::sessions +0 93419 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 61965 + +fl= +fn=Class::new +0 114984 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 61965 + +fl= +fn=Hash::[] +0 67207 + +fl= +fn=Array::join +0 110380 + +fl= +fn=Array::sort +0 207131 + +fl= +fn=Array::include? +0 118198 + +fl= +fn=Hash::[]= +0 4 + +fl= +fn=Array::count +0 25004 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 1110777 +cfl= +cfn=Array::[] +calls=4231150 27 +27 579246 + +fl= +fn=String::<< +0 56668 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 227572 +cfl= +cfn=Array::[] +calls=615080 19 +19 97217 +cfl= +cfn=String::<< +calls=307540 19 +19 56668 + +fl= +fn=Array::[] +0 900547 + +fl= +fn=Array::each +0 1377870 +cfl= +cfn=Array::[] +calls=1000000 60 +60 224083 +cfl= +cfn=Array::include? +calls=846230 86 +86 118198 +cfl= +cfn=Hash::[] +calls=153770 98 +98 67207 +cfl= +cfn=Class::new +calls=153770 98 +98 176948 +cfl= +cfn=User::sessions +calls=153770 99 +99 24582 +cfl= +cfn=Kernel::nil? +calls=153770 99 +99 23663 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_user_metrics +calls=153770 100 +100 2879222 +cfl= +cfn=Hash::merge! +calls=153770 100 +100 76905 + +fl= +fn=Enumerable::group_by +0 51 +cfl= +cfn=Array::each +calls=2 0 +0 1060438 + +fl= +fn=Array::map +0 1623611 +cfl= +cfn=String::split +calls=1000000 36 +36 893830 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 62 +62 381457 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 63 +63 1690024 +cfl= +cfn=String::to_i +calls=846230 41 +41 158571 +cfl= +cfn=String::upcase +calls=846230 42 +42 155218 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 12 +cfl= +cfn=Array::map +calls=1 36 +36 1278901 + +fl= +fn=String::split +0 975944 + +fl= +fn=IO::read^ +0 135961 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 16986 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 3 +cfl= +cfn=IO::read^ +calls=1 58 +58 135961 +cfl= +cfn=String::split +calls=1 58 +58 82114 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 58 +58 1278912 +cfl= +cfn=Enumerable::group_by +calls=2 60 +60 1060489 +cfl= +cfn=Array::map +calls=3 62 +62 2411247 +cfl= +cfn=Array::count +calls=3 82 +82 15 +cfl= +cfn=Hash::[]= +calls=1 82 +82 4 +cfl= +cfn=Array::each +calls=2 86 +86 3908240 +cfl= +cfn=Array::sort +calls=1 92 +92 9 +cfl= +cfn=Array::join +calls=1 92 +92 5 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 111 +111 296271 +cfl= +cfn=IO::write^ +calls=1 111 +111 160290 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 43 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 9350547 + diff --git a/reports/call_tree/callgrind.out.464547 b/reports/call_tree/callgrind.out.464547 new file mode 100644 index 00000000..7432ff73 --- /dev/null +++ b/reports/call_tree/callgrind.out.464547 @@ -0,0 +1,138 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 2 + +fl= +fn=Exception::exception +0 2 + +fl= +fn=BasicObject::method_missing +0 17 + +fl= +fn=Array::<< +0 30361 + +fl= +fn=String::<< +0 65880 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 252225 +cfl= +cfn=Array::[] +calls=615080 19 +19 111181 +cfl= +cfn=String::<< +calls=307540 19 +19 65880 + +fl= +fn=Array::[] +0 308983 + +fl= +fn=Array::each +0 503850 +cfl= +cfn=Array::[] +calls=1000000 60 +60 197801 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 63 +63 429286 +cfl= +cfn=Array::<< +calls=153770 63 +63 30361 +cfl= +cfn=BasicObject::method_missing +calls=1 65 +65 17 +cfl= +cfn=Exception::exception +calls=1 65 +65 2 +cfl= +cfn=Exception::backtrace +calls=1 65 +65 2 + +fl= +fn=Enumerable::group_by +0 18 +cfl= +cfn=Array::each +calls=1 0 +0 623407 + +fl= +fn=Array::map +0 407381 +cfl= +cfn=String::split +calls=1000000 36 +36 946012 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 13 +cfl= +cfn=Array::map +calls=1 36 +36 1353393 + +fl= +fn=String::split +0 1053118 + +fl= +fn=IO::read^ +0 138147 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 6 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 79 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 6 +cfl= +cfn=IO::read^ +calls=1 58 +58 138147 +cfl= +cfn=String::split +calls=1 58 +58 107106 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 58 +58 1353406 +cfl= +cfn=Enumerable::group_by +calls=1 60 +60 623425 +cfl= +cfn=Array::each +calls=2 63 +63 537912 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 55 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 2760082 + diff --git a/reports/call_tree/callgrind.out.464817 b/reports/call_tree/callgrind.out.464817 new file mode 100644 index 00000000..f4a7d9af --- /dev/null +++ b/reports/call_tree/callgrind.out.464817 @@ -0,0 +1,346 @@ +events: wall_time + +fl= +fn=IO::write^ +0 132878 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 1 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 309403 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 1 + +fl= +fn=Hash::merge! +0 85743 + +fl= +fn=Array::reverse +0 34760 + +fl= +fn=Array::all? +0 83732 +cfl= +cfn=String::=~ +calls=198387 49 +49 67452 + +fl= +fn=String::=~ +0 214496 + +fl= +fn=Array::any? +0 158481 +cfl= +cfn=String::=~ +calls=441002 48 +48 147044 + +fl= +fn=Array::max +0 25988 + +fl= +fn=Array::sum +0 26160 + +fl= +fn=String::upcase +0 164611 + +fl= +fn=String::to_i +0 149704 + +fl= +fn=User::attributes +0 25713 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_user_metrics +39 671505 +cfl= +cfn=User::attributes +calls=153770 40 +40 25713 +cfl= +cfn=User::sessions +calls=461310 41 +41 65670 +cfl= +cfn=Array::map +calls=461310 41 +41 1218726 +cfl= +cfn=Array::count +calls=153770 43 +43 24628 +cfl= +cfn=Array::sum +calls=153770 43 +43 26160 +cfl= +cfn=Array::max +calls=153770 43 +43 25988 +cfl= +cfn=Array::sort +calls=307540 43 +43 200055 +cfl= +cfn=Array::join +calls=153770 43 +43 102220 +cfl= +cfn=Array::any? +calls=153770 43 +43 305526 +cfl= +cfn=Array::all? +calls=153770 43 +43 151183 +cfl= +cfn=Array::reverse +calls=153770 43 +43 34760 + +fl= +fn=Kernel::nil? +0 25535 + +fl= +fn=User::sessions +0 88585 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 59244 + +fl= +fn=Class::new +0 112868 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 59244 + +fl= +fn=Hash::[] +0 69213 + +fl= +fn=Array::join +0 102224 + +fl= +fn=Array::sort +0 200058 + +fl= +fn=Array::include? +0 106025 + +fl= +fn=Hash::[]= +0 3 + +fl= +fn=Array::count +0 24641 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 1050782 +cfl= +cfn=Array::[] +calls=4231150 27 +27 540453 + +fl= +fn=Array::<< +0 154879 + +fl= +fn=String::<< +0 52905 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 229827 +cfl= +cfn=Array::[] +calls=615080 19 +19 93772 +cfl= +cfn=String::<< +calls=307540 19 +19 52905 + +fl= +fn=Array::[] +0 819605 + +fl= +fn=Array::each +0 1709178 +cfl= +cfn=Array::[] +calls=1000000 60 +60 185380 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 63 +63 376504 +cfl= +cfn=Array::<< +calls=1000000 63 +63 154879 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 65 +65 1591234 +cfl= +cfn=Array::include? +calls=846230 88 +88 106025 +cfl= +cfn=Hash::[] +calls=153770 100 +100 69213 +cfl= +cfn=Class::new +calls=153770 100 +100 172112 +cfl= +cfn=User::sessions +calls=153770 101 +101 22915 +cfl= +cfn=Kernel::nil? +calls=153770 101 +101 25535 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_user_metrics +calls=153770 102 +102 2852133 +cfl= +cfn=Hash::merge! +calls=153770 102 +102 85743 + +fl= +fn=Enumerable::group_by +0 25 +cfl= +cfn=Array::each +calls=2 0 +0 913613 + +fl= +fn=Array::map +0 1238027 +cfl= +cfn=String::split +calls=1000000 36 +36 776443 +cfl= +cfn=String::to_i +calls=846230 41 +41 149704 +cfl= +cfn=String::upcase +calls=846230 42 +42 164611 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::split_lines +35 13 +cfl= +cfn=Array::map +calls=1 36 +36 1110050 + +fl= +fn=String::split +0 857437 + +fl= +fn=IO::read^ +0 119742 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 16948 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 3 +cfl= +cfn=IO::read^ +calls=1 58 +58 119742 +cfl= +cfn=String::split +calls=1 58 +58 80994 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::split_lines +calls=1 58 +58 1110063 +cfl= +cfn=Enumerable::group_by +calls=2 60 +60 913638 +cfl= +cfn=Array::each +calls=4 63 +63 6437240 +cfl= +cfn=Array::count +calls=3 84 +84 13 +cfl= +cfn=Hash::[]= +calls=1 84 +84 3 +cfl= +cfn=Array::map +calls=1 94 +94 9 +cfl= +cfn=Array::sort +calls=1 94 +94 3 +cfl= +cfn=Array::join +calls=1 94 +94 4 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 113 +113 309404 +cfl= +cfn=IO::write^ +calls=1 113 +113 132878 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 42 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 9120940 + diff --git a/reports/call_tree/callgrind.out.466631 b/reports/call_tree/callgrind.out.466631 new file mode 100644 index 00000000..e969e638 --- /dev/null +++ b/reports/call_tree/callgrind.out.466631 @@ -0,0 +1,210 @@ +events: wall_time + +fl= +fn=NilClass::nil? +0 2 + +fl= +fn=User::sessions +0 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 6 + +fl= +fn=Class::new +0 11 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=1 0 +0 6 + +fl= +fn=Hash::[] +0 7 + +fl= +fn=Array::join +0 4 + +fl= +fn=Array::sort +0 10 + +fl= +fn=Array::map +0 6 + +fl= +fn=Array::include? +0 117060 + +fl= +fn=Hash::[]= +0 5 + +fl= +fn=Array::count +0 9 + +fl= +fn=Enumerable::group_by +0 15 +cfl= +cfn=Array::each +calls=1 0 +0 293068 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 945910 +cfl= +cfn=String::[] +calls=4231150 27 +27 831863 + +fl= +fn=Array::<< +0 170113 + +fl= +fn=String::<< +0 56328 + +fl= +fn=String::[] +0 953577 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 206468 +cfl= +cfn=String::[] +calls=615080 19 +19 121714 +cfl= +cfn=String::<< +calls=307540 19 +19 56328 + +fl= +fn=String::== +0 333147 + +fl= +fn=Array::[] +0 290809 + +fl= +fn=Array::each +0 2173835 +cfl= +cfn=String::split +calls=1000000 64 +64 880617 +cfl= +cfn=Array::[] +calls=2000000 66 +66 290809 +cfl= +cfn=String::== +calls=2000000 66 +66 333147 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 66 +66 384510 +cfl= +cfn=Array::<< +calls=1000000 66 +66 170113 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 67 +67 1777774 +cfl= +cfn=Array::include? +calls=846230 100 +100 117060 +cfl= +cfn=Hash::[] +calls=1 112 +112 7 +cfl= +cfn=Class::new +calls=1 112 +112 18 +cfl= +cfn=User::sessions +calls=1 113 +113 2 +cfl= +cfn=NilClass::nil? +calls=1 113 +113 2 + +fl= +fn=String::split +0 961015 + +fl= +fn=IO::read^ +0 124511 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 79 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 2 +cfl= +cfn=IO::read^ +calls=1 58 +58 124511 +cfl= +cfn=String::split +calls=1 58 +58 80398 +cfl= +cfn=Array::each +calls=3 63 +63 5834827 +cfl= +cfn=Enumerable::group_by +calls=1 78 +78 293082 +cfl= +cfn=Array::count +calls=3 96 +96 9 +cfl= +cfn=Hash::[]= +calls=1 96 +96 5 +cfl= +cfn=Array::map +calls=1 106 +106 6 +cfl= +cfn=Array::sort +calls=1 106 +106 10 +cfl= +cfn=Array::join +calls=1 106 +106 4 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 37 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 6332934 + diff --git a/reports/call_tree/callgrind.out.467781 b/reports/call_tree/callgrind.out.467781 new file mode 100644 index 00000000..2f12adf9 --- /dev/null +++ b/reports/call_tree/callgrind.out.467781 @@ -0,0 +1,218 @@ +events: wall_time + +fl= +fn=NilClass::nil? +0 1 + +fl= +fn=User::sessions +0 5 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 4 + +fl= +fn=Class::new +0 7 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=1 0 +0 4 + +fl= +fn=Hash::[] +0 2 + +fl= +fn=Array::join +0 7 + +fl= +fn=Array::sort +0 1 + +fl= +fn=String::upcase +0 8 + +fl= +fn=Array::uniq +0 74759 + +fl= +fn=Array::map +0 164458 +cfl= +cfn=String::upcase +calls=1 0 +0 8 + +fl= +fn=Hash::[]= +0 5 + +fl= +fn=Array::count +0 8 + +fl= +fn=Enumerable::group_by +0 16 +cfl= +cfn=Array::each +calls=1 0 +0 278537 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 974290 +cfl= +cfn=String::[] +calls=4231150 27 +27 863250 + +fl= +fn=Array::<< +0 170274 + +fl= +fn=String::<< +0 58921 + +fl= +fn=String::[] +0 985880 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 208451 +cfl= +cfn=String::[] +calls=615080 19 +19 122630 +cfl= +cfn=String::<< +calls=307540 19 +19 58921 + +fl= +fn=String::== +0 353627 + +fl= +fn=Array::[] +0 301471 + +fl= +fn=Array::each +0 1892268 +cfl= +cfn=String::split +calls=1000000 64 +64 918316 +cfl= +cfn=Array::[] +calls=2000000 66 +66 301471 +cfl= +cfn=String::== +calls=2000000 66 +66 353627 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 66 +66 390001 +cfl= +cfn=Array::<< +calls=1000000 66 +66 170274 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 67 +67 1837541 +cfl= +cfn=Hash::[] +calls=1 111 +111 2 +cfl= +cfn=Class::new +calls=1 111 +111 11 +cfl= +cfn=User::sessions +calls=1 112 +112 5 +cfl= +cfn=NilClass::nil? +calls=1 112 +112 1 + +fl= +fn=String::split +0 1003346 + +fl= +fn=IO::read^ +0 121182 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 86 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 2 +cfl= +cfn=IO::read^ +calls=1 58 +58 121182 +cfl= +cfn=String::split +calls=1 58 +58 85030 +cfl= +cfn=Array::each +calls=2 63 +63 5584979 +cfl= +cfn=Enumerable::group_by +calls=1 78 +78 278553 +cfl= +cfn=Array::count +calls=3 96 +96 8 +cfl= +cfn=Hash::[]= +calls=1 96 +96 5 +cfl= +cfn=Array::map +calls=2 99 +99 164466 +cfl= +cfn=Array::uniq +calls=1 99 +99 74759 +cfl= +cfn=Array::sort +calls=1 105 +105 1 +cfl= +cfn=Array::join +calls=1 105 +105 7 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 32 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 6309079 + diff --git a/reports/call_tree/callgrind.out.468134 b/reports/call_tree/callgrind.out.468134 new file mode 100644 index 00000000..079710bd --- /dev/null +++ b/reports/call_tree/callgrind.out.468134 @@ -0,0 +1,218 @@ +events: wall_time + +fl= +fn=NilClass::nil? +0 1 + +fl= +fn=User::sessions +0 6 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 446 + +fl= +fn=Class::new +0 272 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=1 0 +0 446 + +fl= +fn=Hash::[] +0 3 + +fl= +fn=Array::join +0 12 + +fl= +fn=Array::sort +0 3 + +fl= +fn=String::upcase +0 1084 + +fl= +fn=Array::uniq +0 258158 + +fl= +fn=Array::map +0 90034369 +cfl= +cfn=String::upcase +calls=1 0 +0 1084 + +fl= +fn=Hash::[]= +0 3384 + +fl= +fn=Array::count +0 12071 + +fl= +fn=Enumerable::group_by +0 4483 +cfl= +cfn=Array::each +calls=1 0 +0 37924994 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3848460 +cfl= +cfn=String::[] +calls=12693460 27 +27 3357604 + +fl= +fn=Array::<< +0 667351 + +fl= +fn=String::<< +0 232036 + +fl= +fn=String::[] +0 3852803 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 832798 +cfl= +cfn=String::[] +calls=1845232 19 +19 495199 +cfl= +cfn=String::<< +calls=922616 19 +19 232036 + +fl= +fn=String::== +0 1348543 + +fl= +fn=Array::[] +0 1247528 + +fl= +fn=Array::each +0 44540371 +cfl= +cfn=String::split +calls=3000000 64 +64 3776777 +cfl= +cfn=Array::[] +calls=6000000 66 +66 1247528 +cfl= +cfn=String::== +calls=6000000 66 +66 1348543 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 66 +66 1560033 +cfl= +cfn=Array::<< +calls=3000000 66 +66 667351 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 67 +67 7206064 +cfl= +cfn=Hash::[] +calls=1 111 +111 3 +cfl= +cfn=Class::new +calls=1 111 +111 717 +cfl= +cfn=User::sessions +calls=1 112 +112 6 +cfl= +cfn=NilClass::nil? +calls=1 112 +112 1 + +fl= +fn=String::split +0 4053258 + +fl= +fn=IO::read^ +0 458821 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 5 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 68138 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 5 +cfl= +cfn=IO::read^ +calls=1 58 +58 458821 +cfl= +cfn=String::split +calls=1 58 +58 276481 +cfl= +cfn=Array::each +calls=2 63 +63 22422401 +cfl= +cfn=Enumerable::group_by +calls=1 78 +78 37929477 +cfl= +cfn=Array::count +calls=3 96 +96 12071 +cfl= +cfn=Hash::[]= +calls=1 96 +96 3384 +cfl= +cfn=Array::map +calls=2 99 +99 90035453 +cfl= +cfn=Array::uniq +calls=1 99 +99 258158 +cfl= +cfn=Array::sort +calls=1 105 +105 3 +cfl= +cfn=Array::join +calls=1 105 +105 12 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 9228 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 151464403 + diff --git a/reports/call_tree/callgrind.out.468554 b/reports/call_tree/callgrind.out.468554 new file mode 100644 index 00000000..4d77a2be --- /dev/null +++ b/reports/call_tree/callgrind.out.468554 @@ -0,0 +1,218 @@ +events: wall_time + +fl= +fn=NilClass::nil? +0 8 + +fl= +fn=User::sessions +0 25 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 29853 + +fl= +fn=Class::new +0 69228 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=1 0 +0 29853 + +fl= +fn=Hash::[] +0 35847 + +fl= +fn=Array::join +0 44572 + +fl= +fn=Array::sort +0 14148 + +fl= +fn=String::upcase +0 20809 + +fl= +fn=Array::uniq +0 2281027 + +fl= +fn=Array::map +0 543612 +cfl= +cfn=String::upcase +calls=1 0 +0 20809 + +fl= +fn=Hash::[]= +0 4 + +fl= +fn=Array::count +0 35725 + +fl= +fn=Enumerable::group_by +0 20 +cfl= +cfn=Array::each +calls=1 0 +0 856240 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3045787 +cfl= +cfn=String::[] +calls=12693460 27 +27 2788903 + +fl= +fn=Array::<< +0 581387 + +fl= +fn=String::<< +0 177691 + +fl= +fn=String::[] +0 3196297 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 672657 +cfl= +cfn=String::[] +calls=1845232 19 +19 407394 +cfl= +cfn=String::<< +calls=922616 19 +19 177691 + +fl= +fn=String::== +0 1091822 + +fl= +fn=Array::[] +0 965438 + +fl= +fn=Array::each +0 6232423 +cfl= +cfn=String::split +calls=3000000 64 +64 3093416 +cfl= +cfn=Array::[] +calls=6000000 66 +66 965438 +cfl= +cfn=String::== +calls=6000000 66 +66 1091822 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 66 +66 1257743 +cfl= +cfn=Array::<< +calls=3000000 66 +66 581387 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 67 +67 5834690 +cfl= +cfn=Hash::[] +calls=1 111 +111 35847 +cfl= +cfn=Class::new +calls=1 111 +111 99081 +cfl= +cfn=User::sessions +calls=1 112 +112 25 +cfl= +cfn=NilClass::nil? +calls=1 112 +112 8 + +fl= +fn=String::split +0 3469273 + +fl= +fn=IO::read^ +0 439990 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +55 252229 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 56 +56 3 +cfl= +cfn=IO::read^ +calls=1 58 +58 439990 +cfl= +cfn=String::split +calls=1 58 +58 375857 +cfl= +cfn=Array::each +calls=2 63 +63 18335640 +cfl= +cfn=Enumerable::group_by +calls=1 78 +78 856260 +cfl= +cfn=Array::count +calls=3 96 +96 35725 +cfl= +cfn=Hash::[]= +calls=1 96 +96 4 +cfl= +cfn=Array::map +calls=2 99 +99 564421 +cfl= +cfn=Array::uniq +calls=1 99 +99 2281027 +cfl= +cfn=Array::sort +calls=1 105 +105 14148 +cfl= +cfn=Array::join +calls=1 105 +105 44572 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 11378 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 23199874 + diff --git a/reports/call_tree/callgrind.out.471110 b/reports/call_tree/callgrind.out.471110 new file mode 100644 index 00000000..88987512 --- /dev/null +++ b/reports/call_tree/callgrind.out.471110 @@ -0,0 +1,226 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 3 + +fl= +fn=Exception::exception +0 3 + +fl= +fn=BasicObject::method_missing +0 2237 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 28 + +fl= +fn=Class::new +0 553 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=1 0 +0 28 + +fl= +fn=Hash::[] +0 6 + +fl= +fn=Array::join +0 1136 + +fl= +fn=Array::sort +0 6 + +fl= +fn=String::upcase +0 499 + +fl= +fn=Array::uniq +0 234302 + +fl= +fn=Array::map +0 484930 +cfl= +cfn=String::upcase +calls=1 0 +0 499 + +fl= +fn=Hash::[]= +0 4 + +fl= +fn=Array::count +0 12 + +fl= +fn=Enumerable::group_by +0 17 +cfl= +cfn=Array::each +calls=1 0 +0 851687 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3028905 +cfl= +cfn=String::[] +calls=12693460 27 +27 2760467 + +fl= +fn=Array::<< +0 539388 + +fl= +fn=String::<< +0 179043 + +fl= +fn=String::[] +0 3157313 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 674673 +cfl= +cfn=String::[] +calls=1845232 19 +19 396846 +cfl= +cfn=String::<< +calls=922616 19 +19 179043 + +fl= +fn=String::== +0 1099610 + +fl= +fn=Array::[] +0 951882 + +fl= +fn=Array::each +0 5951102 +cfl= +cfn=String::split +calls=3000000 52 +52 2957359 +cfl= +cfn=Array::[] +calls=6000000 54 +54 951882 +cfl= +cfn=String::== +calls=6000000 54 +54 1099610 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 54 +54 1250562 +cfl= +cfn=Array::<< +calls=3000000 54 +54 539388 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 55 +55 5789371 +cfl= +cfn=Hash::[] +calls=1 98 +98 6 +cfl= +cfn=Class::new +calls=1 98 +98 581 +cfl= +cfn=BasicObject::method_missing +calls=1 99 +99 2237 +cfl= +cfn=Exception::exception +calls=1 99 +99 3 +cfl= +cfn=Exception::backtrace +calls=1 99 +99 3 + +fl= +fn=String::split +0 3223308 + +fl= +fn=IO::read^ +0 346023 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 1602 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 44 +44 2 +cfl= +cfn=IO::read^ +calls=1 46 +46 346023 +cfl= +cfn=String::split +calls=1 46 +46 265949 +cfl= +cfn=Array::each +calls=2 51 +51 17690417 +cfl= +cfn=Enumerable::group_by +calls=1 66 +66 851704 +cfl= +cfn=Array::count +calls=3 84 +84 12 +cfl= +cfn=Hash::[]= +calls=1 84 +84 4 +cfl= +cfn=Array::map +calls=2 87 +87 485429 +cfl= +cfn=Array::uniq +calls=1 87 +87 234302 +cfl= +cfn=Array::sort +calls=1 93 +93 6 +cfl= +cfn=Array::join +calls=1 93 +93 1136 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 6070 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 19876585 + diff --git a/reports/call_tree/callgrind.out.471518 b/reports/call_tree/callgrind.out.471518 new file mode 100644 index 00000000..f4055854 --- /dev/null +++ b/reports/call_tree/callgrind.out.471518 @@ -0,0 +1,226 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 4 + +fl= +fn=Exception::exception +0 7 + +fl= +fn=BasicObject::method_missing +0 1544 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 22 + +fl= +fn=Class::new +0 656 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=1 0 +0 22 + +fl= +fn=Hash::[] +0 4 + +fl= +fn=Array::join +0 63 + +fl= +fn=Array::sort +0 4 + +fl= +fn=String::upcase +0 642 + +fl= +fn=Array::uniq +0 1721417 + +fl= +fn=Array::map +0 557215 +cfl= +cfn=String::upcase +calls=1 0 +0 642 + +fl= +fn=Hash::[]= +0 6 + +fl= +fn=Array::count +0 18 + +fl= +fn=Enumerable::group_by +0 21 +cfl= +cfn=Array::each +calls=1 0 +0 978617 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3203614 +cfl= +cfn=String::[] +calls=12693460 27 +27 2777690 + +fl= +fn=Array::<< +0 560557 + +fl= +fn=String::<< +0 182972 + +fl= +fn=String::[] +0 3179059 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 675259 +cfl= +cfn=String::[] +calls=1845232 19 +19 401369 +cfl= +cfn=String::<< +calls=922616 19 +19 182972 + +fl= +fn=String::== +0 1067293 + +fl= +fn=Array::[] +0 960353 + +fl= +fn=Array::each +0 6169330 +cfl= +cfn=String::split +calls=3000000 52 +52 3047926 +cfl= +cfn=Array::[] +calls=6000000 54 +54 960353 +cfl= +cfn=String::== +calls=6000000 54 +54 1067293 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 54 +54 1259600 +cfl= +cfn=Array::<< +calls=3000001 54 +54 560557 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 55 +55 5981305 +cfl= +cfn=Hash::[] +calls=1 99 +99 4 +cfl= +cfn=Class::new +calls=1 99 +99 679 +cfl= +cfn=BasicObject::method_missing +calls=1 101 +101 1544 +cfl= +cfn=Exception::exception +calls=1 101 +101 7 +cfl= +cfn=Exception::backtrace +calls=1 101 +101 4 + +fl= +fn=String::split +0 3319021 + +fl= +fn=IO::read^ +0 390146 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=GC::disable^ +69 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 4511 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=GC::disable^ +calls=1 44 +44 3 +cfl= +cfn=IO::read^ +calls=1 46 +46 390146 +cfl= +cfn=String::split +calls=1 46 +46 271094 +cfl= +cfn=Array::each +calls=2 51 +51 18069985 +cfl= +cfn=Enumerable::group_by +calls=1 66 +66 978638 +cfl= +cfn=Array::count +calls=3 84 +84 18 +cfl= +cfn=Hash::[]= +calls=1 84 +84 6 +cfl= +cfn=Array::map +calls=2 87 +87 557857 +cfl= +cfn=Array::uniq +calls=1 87 +87 1721417 +cfl= +cfn=Array::sort +calls=1 93 +93 4 +cfl= +cfn=Array::join +calls=1 93 +93 63 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 40710 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 21993742 + diff --git a/reports/call_tree/callgrind.out.473500 b/reports/call_tree/callgrind.out.473500 new file mode 100644 index 00000000..d207633e --- /dev/null +++ b/reports/call_tree/callgrind.out.473500 @@ -0,0 +1,250 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 4 + +fl= +fn=Exception::exception +0 3 + +fl= +fn=BasicObject::method_missing +0 21 + +fl= +fn=User::sessions +0 2 + +fl= +fn=User::attributes +0 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 9 +cfl= +cfn=Array::each +calls=1 36 +36 84 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 188408 + +fl= +fn=Class::new +0 1517886 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=500000 0 +0 188408 + +fl= +fn=Hash::[] +0 159677 + +fl= +fn=Array::join +0 5 + +fl= +fn=Array::sort +0 4 + +fl= +fn=String::upcase +0 782 + +fl= +fn=Array::uniq +0 356680 + +fl= +fn=Array::map +0 567867 +cfl= +cfn=String::upcase +calls=1 0 +0 782 + +fl= +fn=Hash::[]= +0 9 + +fl= +fn=Array::count +0 9 + +fl= +fn=Enumerable::group_by +0 15 +cfl= +cfn=Array::each +calls=1 0 +0 959775 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 7081059 +cfl= +cfn=String::[] +calls=13754700 27 +27 3252801 + +fl= +fn=Array::<< +0 671616 + +fl= +fn=String::<< +0 183743 + +fl= +fn=String::[] +0 3646855 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 1408049 +cfl= +cfn=String::[] +calls=2000000 19 +19 394054 +cfl= +cfn=String::<< +calls=1000000 19 +19 183743 + +fl= +fn=String::== +0 1101816 + +fl= +fn=Array::[] +0 1045677 + +fl= +fn=Array::each +0 6976647 +cfl= +cfn=String::split +calls=3250940 52 +52 4881080 +cfl= +cfn=Array::[] +calls=6501880 54 +54 1045677 +cfl= +cfn=String::== +calls=6501880 54 +54 1101816 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=500000 54 +54 1985845 +cfl= +cfn=Array::<< +calls=3750940 54 +54 671616 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2750940 55 +55 10333861 +cfl= +cfn=Hash::[] +calls=500002 99 +99 159677 +cfl= +cfn=Class::new +calls=500000 99 +99 1706294 +cfl= +cfn=User::attributes +calls=1 37 +37 3 +cfl= +cfn=Hash::[]= +calls=1 38 +38 5 +cfl= +cfn=User::sessions +calls=1 115 +115 2 +cfl= +cfn=BasicObject::method_missing +calls=1 115 +115 21 +cfl= +cfn=Exception::exception +calls=1 115 +115 3 +cfl= +cfn=Exception::backtrace +calls=1 115 +115 4 + +fl= +fn=String::split +0 5438904 + +fl= +fn=IO::read^ +0 393726 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 299309 +cfl= +cfn=IO::read^ +calls=1 46 +46 393726 +cfl= +cfn=String::split +calls=1 46 +46 557824 +cfl= +cfn=Array::each +calls=2 51 +51 27902693 +cfl= +cfn=Enumerable::group_by +calls=1 66 +66 959790 +cfl= +cfn=Array::count +calls=3 84 +84 9 +cfl= +cfn=Hash::[]= +calls=1 84 +84 4 +cfl= +cfn=Array::map +calls=2 87 +87 568649 +cfl= +cfn=Array::uniq +calls=1 87 +87 356680 +cfl= +cfn=Array::sort +calls=1 93 +93 4 +cfl= +cfn=Array::join +calls=1 93 +93 5 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 113 +113 93 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 31 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 31038787 + diff --git a/reports/call_tree/callgrind.out.474282 b/reports/call_tree/callgrind.out.474282 new file mode 100644 index 00000000..fca7655a --- /dev/null +++ b/reports/call_tree/callgrind.out.474282 @@ -0,0 +1,142 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 4 + +fl= +fn=Exception::exception +0 2 + +fl= +fn=Exception::initialize +0 6 + +fl= +fn=SignalException::initialize +0 3 +cfl= +cfn=Exception::initialize +calls=1 0 +0 6 + +fl= +fn=Interrupt::initialize +0 11 +cfl= +cfn=SignalException::initialize +calls=1 0 +0 9 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 5519981 +cfl= +cfn=String::[] +calls=8693310 27 +27 2278929 + +fl= +fn=Array::<< +0 380793 + +fl= +fn=String::<< +0 137180 + +fl= +fn=String::[] +0 2738626 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 981123 +cfl= +cfn=String::[] +calls=1263968 19 +19 459697 +cfl= +cfn=String::<< +calls=631984 19 +19 137180 + +fl= +fn=String::== +0 738362 +cfl= +cfn=Interrupt::initialize +calls=1 0 +0 20 +cfl= +cfn=Exception::exception +calls=1 0 +0 2 +cfl= +cfn=Exception::backtrace +calls=1 0 +0 4 + +fl= +fn=Array::[] +0 657778 + +fl= +fn=Array::each +0 3670382 +cfl= +cfn=String::split +calls=2054655 52 +52 3188807 +cfl= +cfn=Array::[] +calls=4109309 54 +54 657778 +cfl= +cfn=String::== +calls=4109309 54 +54 738388 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=315992 54 +54 1578000 +cfl= +cfn=Array::<< +calls=2054654 54 +54 380793 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=1738662 55 +55 7798911 + +fl= +fn=String::split +0 3697375 + +fl= +fn=IO::read^ +0 399329 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 35 +cfl= +cfn=IO::read^ +calls=1 46 +46 399329 +cfl= +cfn=String::split +calls=1 46 +46 508569 +cfl= +cfn=Array::each +calls=1 51 +51 18013058 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 32 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 18920991 + diff --git a/reports/call_tree/callgrind.out.474529 b/reports/call_tree/callgrind.out.474529 new file mode 100644 index 00000000..6bdc878a --- /dev/null +++ b/reports/call_tree/callgrind.out.474529 @@ -0,0 +1,250 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 2 + +fl= +fn=Exception::exception +0 2 + +fl= +fn=BasicObject::method_missing +0 18 + +fl= +fn=User::sessions +0 3 + +fl= +fn=User::attributes +0 3 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 15 +cfl= +cfn=Array::each +calls=1 36 +36 88 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 92939 + +fl= +fn=Class::new +0 633019 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 92939 + +fl= +fn=Hash::[] +0 54622 + +fl= +fn=Array::join +0 8 + +fl= +fn=Array::sort +0 5 + +fl= +fn=String::upcase +0 636 + +fl= +fn=Array::uniq +0 314586 + +fl= +fn=Array::map +0 257763 +cfl= +cfn=String::upcase +calls=1 0 +0 636 + +fl= +fn=Hash::[]= +0 15 + +fl= +fn=Array::count +0 16 + +fl= +fn=Enumerable::group_by +0 23 +cfl= +cfn=Array::each +calls=1 0 +0 405463 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 2064270 +cfl= +cfn=String::[] +calls=4231150 27 +27 1074661 + +fl= +fn=Array::<< +0 250873 + +fl= +fn=String::<< +0 66230 + +fl= +fn=String::[] +0 1215541 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 670219 +cfl= +cfn=String::[] +calls=615080 19 +19 140880 +cfl= +cfn=String::<< +calls=307540 19 +19 66230 + +fl= +fn=String::== +0 367156 + +fl= +fn=Array::[] +0 329949 + +fl= +fn=Array::each +0 2648594 +cfl= +cfn=String::split +calls=1000000 52 +52 1475372 +cfl= +cfn=Array::[] +calls=2000000 54 +54 329949 +cfl= +cfn=String::== +calls=2000000 54 +54 367156 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 54 +54 877330 +cfl= +cfn=Array::<< +calls=1153770 54 +54 250873 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 55 +55 3138931 +cfl= +cfn=Hash::[] +calls=153772 99 +99 54622 +cfl= +cfn=Class::new +calls=153770 99 +99 725958 +cfl= +cfn=User::attributes +calls=1 37 +37 3 +cfl= +cfn=Hash::[]= +calls=1 38 +38 10 +cfl= +cfn=User::sessions +calls=1 115 +115 3 +cfl= +cfn=BasicObject::method_missing +calls=1 115 +115 18 +cfl= +cfn=Exception::exception +calls=1 115 +115 2 +cfl= +cfn=Exception::backtrace +calls=1 115 +115 2 + +fl= +fn=String::split +0 1691811 + +fl= +fn=IO::read^ +0 142526 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 120 +cfl= +cfn=IO::read^ +calls=1 46 +46 142526 +cfl= +cfn=String::split +calls=1 46 +46 216439 +cfl= +cfn=Array::each +calls=2 51 +51 9463273 +cfl= +cfn=Enumerable::group_by +calls=1 66 +66 405486 +cfl= +cfn=Array::count +calls=3 84 +84 16 +cfl= +cfn=Hash::[]= +calls=1 84 +84 5 +cfl= +cfn=Array::map +calls=2 87 +87 258399 +cfl= +cfn=Array::uniq +calls=1 87 +87 314586 +cfl= +cfn=Array::sort +calls=1 93 +93 5 +cfl= +cfn=Array::join +calls=1 93 +93 8 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 113 +113 104 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 37 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 10800968 + diff --git a/reports/call_tree/callgrind.out.474953 b/reports/call_tree/callgrind.out.474953 new file mode 100644 index 00000000..8204fe48 --- /dev/null +++ b/reports/call_tree/callgrind.out.474953 @@ -0,0 +1,290 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 2 + +fl= +fn=Exception::exception +0 3 + +fl= +fn=BasicObject::method_missing +0 17 + +fl= +fn=User::sessions +0 3 + +fl= +fn=NilClass::inspect +0 2 + +fl= +fn=String::inspect +0 5 + +fl= +fn=Hash::inspect +0 8 +cfl= +cfn=String::inspect +calls=6 0 +0 5 + +fl= +fn=Kernel::inspect +0 21 +cfl= +cfn=Hash::inspect +calls=1 0 +0 13 +cfl= +cfn=NilClass::inspect +calls=1 0 +0 2 + +fl= +fn=Kernel::p +0 47 +cfl= +cfn=Kernel::inspect +calls=1 0 +0 36 + +fl= +fn=User::attributes +0 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 9 +cfl= +cfn=Array::each +calls=1 36 +36 156 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 56356 + +fl= +fn=Class::new +0 464650 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 56356 + +fl= +fn=Hash::[] +0 44013 + +fl= +fn=Array::join +0 7 + +fl= +fn=Array::sort +0 3 + +fl= +fn=String::upcase +0 41 + +fl= +fn=Array::uniq +0 255001 + +fl= +fn=Array::map +0 166116 +cfl= +cfn=String::upcase +calls=1 0 +0 41 + +fl= +fn=Hash::[]= +0 9 + +fl= +fn=Array::count +0 10 + +fl= +fn=Enumerable::group_by +0 13 +cfl= +cfn=Array::each +calls=1 0 +0 312594 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 2222260 +cfl= +cfn=String::[] +calls=4231150 27 +27 919363 + +fl= +fn=Array::<< +0 207603 + +fl= +fn=String::<< +0 58461 + +fl= +fn=String::[] +0 1075472 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 293722 +cfl= +cfn=String::[] +calls=615080 19 +19 156109 +cfl= +cfn=String::<< +calls=307540 19 +19 58461 + +fl= +fn=String::== +0 332791 + +fl= +fn=Array::[] +0 309877 + +fl= +fn=Array::each +0 2421486 +cfl= +cfn=String::split +calls=1000000 52 +52 1318551 +cfl= +cfn=Array::[] +calls=2000000 54 +54 309877 +cfl= +cfn=String::== +calls=2000000 54 +54 332791 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 54 +54 508292 +cfl= +cfn=Array::<< +calls=1153770 54 +54 207603 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 55 +55 3141623 +cfl= +cfn=Hash::[] +calls=153772 99 +99 44013 +cfl= +cfn=Class::new +calls=153770 99 +99 521006 +cfl= +cfn=User::attributes +calls=1 37 +37 2 +cfl= +cfn=Hash::[]= +calls=1 38 +38 6 +cfl= +cfn=Kernel::p +calls=1 114 +114 83 +cfl= +cfn=User::sessions +calls=1 116 +116 3 +cfl= +cfn=BasicObject::method_missing +calls=1 116 +116 17 +cfl= +cfn=Exception::exception +calls=1 116 +116 3 +cfl= +cfn=Exception::backtrace +calls=1 116 +116 2 + +fl= +fn=String::split +0 1516996 + +fl= +fn=IO::read^ +0 138744 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 89 +cfl= +cfn=IO::read^ +calls=1 46 +46 138744 +cfl= +cfn=String::split +calls=1 46 +46 198445 +cfl= +cfn=Array::each +calls=2 51 +51 8492607 +cfl= +cfn=Enumerable::group_by +calls=1 66 +66 312607 +cfl= +cfn=Array::count +calls=3 84 +84 10 +cfl= +cfn=Hash::[]= +calls=1 84 +84 3 +cfl= +cfn=Array::map +calls=2 87 +87 166157 +cfl= +cfn=Array::uniq +calls=1 87 +87 255001 +cfl= +cfn=Array::sort +calls=1 93 +93 3 +cfl= +cfn=Array::join +calls=1 93 +93 7 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 113 +113 165 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 33 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 9563837 + diff --git a/reports/call_tree/callgrind.out.475488 b/reports/call_tree/callgrind.out.475488 new file mode 100644 index 00000000..1c4d2dfe --- /dev/null +++ b/reports/call_tree/callgrind.out.475488 @@ -0,0 +1,158 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 2 + +fl= +fn=Exception::exception +0 4 + +fl= +fn=Exception::initialize +0 5 + +fl= +fn=SignalException::initialize +0 9 +cfl= +cfn=Exception::initialize +calls=1 0 +0 5 + +fl= +fn=Interrupt::initialize +0 16 +cfl= +cfn=SignalException::initialize +calls=1 0 +0 14 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +26 4465230 +cfl= +cfn=String::[] +calls=6521940 28 +28 3275772 + +fl= +fn=Array::<< +0 549622 + +fl= +fn=String::<< +0 292457 + +fl= +fn=String::[] +0 4209961 + +fl= +fn=String::inspect +0 558543 + +fl= +fn=Kernel::p +0 7880031 +cfl= +cfn=String::inspect +calls=237077 0 +0 558543 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 1648560 +cfl= +cfn=Kernel::p +calls=237077 18 +18 8438574 +cfl= +cfn=String::[] +calls=948308 20 +20 934189 +cfl= +cfn=String::<< +calls=474154 20 +20 292457 + +fl= +fn=String::== +0 849332 + +fl= +fn=Array::[] +0 762675 + +fl= +fn=Array::each +0 4914944 +cfl= +cfn=String::split +calls=1541466 53 +53 5606974 +cfl= +cfn=Array::[] +calls=3082930 55 +55 762675 +cfl= +cfn=String::== +calls=3082930 55 +55 849332 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=237077 55 +55 11313779 +cfl= +cfn=Array::<< +calls=1541465 55 +55 549622 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=1304388 56 +56 7741002 + +fl= +fn=String::split +0 6140578 +cfl= +cfn=Interrupt::initialize +calls=1 0 +0 30 +cfl= +cfn=Exception::exception +calls=1 0 +0 4 +cfl= +cfn=Exception::backtrace +calls=1 0 +0 2 + +fl= +fn=IO::read^ +0 454245 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +44 37 +cfl= +cfn=IO::read^ +calls=1 47 +47 454245 +cfl= +cfn=String::split +calls=1 47 +47 533640 +cfl= +cfn=Array::each +calls=1 52 +52 31738329 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 142 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 32726251 + diff --git a/reports/call_tree/callgrind.out.476014 b/reports/call_tree/callgrind.out.476014 new file mode 100644 index 00000000..91012bb7 --- /dev/null +++ b/reports/call_tree/callgrind.out.476014 @@ -0,0 +1,162 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 1 + +fl= +fn=Exception::exception +0 3 + +fl= +fn=Exception::initialize +0 6 + +fl= +fn=SignalException::initialize +0 5 +cfl= +cfn=Exception::initialize +calls=1 0 +0 6 + +fl= +fn=Interrupt::initialize +0 7 +cfl= +cfn=SignalException::initialize +calls=1 0 +0 11 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +26 542250 +cfl= +cfn=Array::[] +calls=839440 28 +28 140999 + +fl= +fn=Array::<< +0 62549 + +fl= +fn=String::<< +0 32652 + +fl= +fn=String::inspect +0 104122 + +fl= +fn=Array::inspect +0 156335 +cfl= +cfn=String::inspect +calls=152555 0 +0 104122 + +fl= +fn=Kernel::p +0 940320 +cfl= +cfn=Array::inspect +calls=30511 0 +0 260457 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 441459 +cfl= +cfn=Kernel::p +calls=30511 18 +18 1200777 +cfl= +cfn=Array::[] +calls=122044 20 +20 44840 +cfl= +cfn=String::<< +calls=61022 20 +20 32652 + +fl= +fn=String::== +0 91444 + +fl= +fn=Array::[] +0 259067 + +fl= +fn=Array::each +0 760822 +cfl= +cfn=String::split +calls=198399 53 +53 643613 +cfl= +cfn=Array::[] +calls=396798 55 +55 73229 +cfl= +cfn=String::== +calls=396798 55 +55 91444 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=30511 55 +55 1719727 +cfl= +cfn=Array::<< +calls=198398 55 +55 62549 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=167888 56 +56 683249 +cfl= +cfn=Interrupt::initialize +calls=1 56 +56 18 +cfl= +cfn=Exception::exception +calls=1 56 +56 3 +cfl= +cfn=Exception::backtrace +calls=1 56 +56 1 + +fl= +fn=String::split +0 1169736 + +fl= +fn=IO::read^ +0 406842 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +44 38 +cfl= +cfn=IO::read^ +calls=1 47 +47 406842 +cfl= +cfn=String::split +calls=1 47 +47 526122 +cfl= +cfn=Array::each +calls=1 52 +52 4034657 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 23 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 4967659 + diff --git a/reports/call_tree/callgrind.out.476228 b/reports/call_tree/callgrind.out.476228 new file mode 100644 index 00000000..9d257802 --- /dev/null +++ b/reports/call_tree/callgrind.out.476228 @@ -0,0 +1,454 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 4 + +fl= +fn=Exception::exception +0 4 + +fl= +fn=Exception::initialize +0 7 + +fl= +fn=SignalException::initialize +0 10 +cfl= +cfn=Exception::initialize +calls=1 0 +0 7 + +fl= +fn=Interrupt::initialize +0 10 +cfl= +cfn=SignalException::initialize +calls=1 0 +0 16 + +fl= +fn=Hash::merge +0 79569 + +fl= +fn=Array::reverse +0 35639 + +fl= +fn=Date::iso8601 +0 249468 + +fl= +fn=Integer::div +0 81340 + +fl= +fn=Date::strptime^ +0 579183 +cfl= +cfn=Integer::div +calls=151342 0 +0 81340 + +fl= +fn=Array::all? +0 74221 +cfl= +cfn=String::upcase +calls=35350 121 +121 31405 +cfl= +cfn=String::=~ +calls=35350 121 +121 74213 + +fl= +fn=String::=~ +0 282377 +cfl= +cfn=Interrupt::initialize +calls=1 0 +0 26 +cfl= +cfn=Exception::exception +calls=1 0 +0 4 +cfl= +cfn=Exception::backtrace +calls=1 0 +0 4 + +fl= +fn=Array::any? +0 137168 +cfl= +cfn=String::upcase +calls=79079 120 +120 54852 +cfl= +cfn=String::=~ +calls=79079 120 +120 208198 + +fl= +fn=String::to_s +0 24019 + +fl= +fn=Enumerable::max_by +0 79524 +cfl= +cfn=Array::each +calls=27493 0 +0 287765 + +fl= +fn=String::+ +0 64924 + +fl= +fn=Integer::to_s +0 43855 + +fl= +fn=String::to_i +0 198350 + +fl= +fn=Array::sum +0 218418 +cfl= +cfn=String::to_i +calls=151344 117 +117 121317 + +fl= +fn=User::sessions +0 116852 + +fl= +fn=Array::inspect +0 368660 +cfl= +cfn=Hash::inspect +calls=151344 0 +0 2366568 + +fl= +fn=String::inspect +0 1349613 + +fl= +fn=Hash::inspect +0 1437036 +cfl= +cfn=String::inspect +calls=1678398 0 +0 1349613 + +fl= +fn=Kernel::inspect +0 379834 +cfl= +cfn=Hash::inspect +calls=27493 0 +0 420081 +cfl= +cfn=Array::inspect +calls=27493 0 +0 2735228 + +fl= +fn=Kernel::p +0 4350564 +cfl= +cfn=Kernel::inspect +calls=27493 0 +0 3535143 + +fl= +fn=User::attributes +0 24484 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 8 +cfl= +cfn=Array::each +calls=1 36 +36 12380136 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 184689 + +fl= +fn=Class::new +0 1114449 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=500000 0 +0 184689 + +fl= +fn=Hash::[] +0 326822 + +fl= +fn=Array::join +0 97043 + +fl= +fn=Array::sort +0 147747 + +fl= +fn=String::upcase +0 328017 + +fl= +fn=Array::uniq +0 642822 + +fl= +fn=Array::map +0 1202862 +cfl= +cfn=String::upcase +calls=151544 0 +0 241761 +cfl= +cfn=Date::strptime^ +calls=151342 122 +122 660523 +cfl= +cfn=Date::iso8601 +calls=151342 122 +122 249468 + +fl= +fn=Hash::[]= +0 313767 + +fl= +fn=Array::count +0 29312 + +fl= +fn=Enumerable::group_by +0 15 +cfl= +cfn=Array::each +calls=1 0 +0 2978829 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 8341448 +cfl= +cfn=Array::[] +calls=13754700 27 +27 1976635 + +fl= +fn=Array::<< +0 744343 + +fl= +fn=String::<< +0 232866 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 866213 +cfl= +cfn=Array::[] +calls=2000000 19 +19 287440 +cfl= +cfn=String::<< +calls=1000000 19 +19 232866 + +fl= +fn=String::== +0 1179343 + +fl= +fn=Array::[] +0 3277733 + +fl= +fn=Array::each +0 10386919 +cfl= +cfn=String::split +calls=3250940 52 +52 6316844 +cfl= +cfn=Array::[] +calls=6501880 54 +54 1013659 +cfl= +cfn=String::== +calls=6501880 54 +54 1179343 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=500000 54 +54 1386519 +cfl= +cfn=Array::<< +calls=3750940 54 +54 744343 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2750940 55 +55 10318082 +cfl= +cfn=Hash::[] +calls=554986 99 +99 326822 +cfl= +cfn=Class::new +calls=500000 99 +99 1299139 +cfl= +cfn=User::attributes +calls=27493 37 +37 24484 +cfl= +cfn=Hash::[]= +calls=54964 38 +38 313761 +cfl= +cfn=Kernel::p +calls=27493 114 +114 7885707 +cfl= +cfn=User::sessions +calls=192449 116 +116 116852 +cfl= +cfn=Array::count +calls=27493 116 +116 29302 +cfl= +cfn=Array::sum +calls=27493 116 +116 339735 +cfl= +cfn=Integer::to_s +calls=27493 116 +116 43855 +cfl= +cfn=String::+ +calls=54986 116 +116 64924 +cfl= +cfn=Enumerable::max_by +calls=27493 116 +116 367289 +cfl= +cfn=String::to_s +calls=27493 116 +116 24019 +cfl= +cfn=Array::map +calls=54985 116 +116 1451323 +cfl= +cfn=Array::sort +calls=54985 116 +116 147710 +cfl= +cfn=Array::join +calls=27493 116 +116 97028 +cfl= +cfn=Array::any? +calls=27493 116 +116 400218 +cfl= +cfn=Array::all? +calls=27492 116 +116 179839 +cfl= +cfn=Array::reverse +calls=27492 116 +116 35639 +cfl= +cfn=Hash::merge +calls=27492 116 +116 79569 +cfl= +cfn=String::to_i +calls=151344 118 +118 77033 + +fl= +fn=String::split +0 6890584 + +fl= +fn=IO::read^ +0 416834 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 107 +cfl= +cfn=IO::read^ +calls=1 46 +46 416834 +cfl= +cfn=String::split +calls=1 46 +46 573740 +cfl= +cfn=Array::each +calls=2 51 +51 29003229 +cfl= +cfn=Enumerable::group_by +calls=1 66 +66 2978843 +cfl= +cfn=Array::count +calls=3 84 +84 10 +cfl= +cfn=Hash::[]= +calls=1 84 +84 6 +cfl= +cfn=Array::map +calls=2 87 +87 903290 +cfl= +cfn=Array::uniq +calls=1 87 +87 642822 +cfl= +cfn=Array::sort +calls=1 93 +93 36 +cfl= +cfn=Array::join +calls=1 93 +93 14 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 113 +113 12380144 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 41 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 46899077 + diff --git a/reports/call_tree/callgrind.out.476634 b/reports/call_tree/callgrind.out.476634 new file mode 100644 index 00000000..8b61a5b5 --- /dev/null +++ b/reports/call_tree/callgrind.out.476634 @@ -0,0 +1,394 @@ +events: wall_time + +fl= +fn=IO::write^ +0 679268 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 4 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 1718451 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 4 + +fl= +fn=Hash::merge +0 382951 + +fl= +fn=Array::reverse +0 123627 + +fl= +fn=Date::iso8601 +0 1494830 + +fl= +fn=Integer::div +0 473662 + +fl= +fn=Date::strptime^ +0 3549051 +cfl= +cfn=Integer::div +calls=2750940 0 +0 473662 + +fl= +fn=Array::all? +0 415852 +cfl= +cfn=String::upcase +calls=643788 112 +112 144211 +cfl= +cfn=String::=~ +calls=643788 112 +112 306435 + +fl= +fn=String::=~ +0 953787 + +fl= +fn=Array::any? +0 790886 +cfl= +cfn=String::upcase +calls=1431949 111 +111 334168 +cfl= +cfn=String::=~ +calls=1431949 111 +111 647351 + +fl= +fn=String::to_s +0 94353 + +fl= +fn=Enumerable::max_by +0 299024 +cfl= +cfn=Array::each +calls=500000 0 +0 1495054 + +fl= +fn=String::+ +0 269802 + +fl= +fn=Integer::to_s +0 140151 + +fl= +fn=String::to_i +0 994075 + +fl= +fn=Array::sum +0 1362000 +cfl= +cfn=String::to_i +calls=2750940 108 +108 545409 + +fl= +fn=User::sessions +0 547244 + +fl= +fn=User::attributes +0 97933 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 9 +cfl= +cfn=Array::each +calls=1 36 +36 24237493 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 186796 + +fl= +fn=Class::new +0 400519 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=500000 0 +0 186796 + +fl= +fn=Hash::[] +0 658145 + +fl= +fn=Array::join +0 2129351 + +fl= +fn=Array::sort +0 714774 + +fl= +fn=String::upcase +0 1301658 + +fl= +fn=Array::uniq +0 566775 + +fl= +fn=Array::map +0 3570503 +cfl= +cfn=String::upcase +calls=2751140 0 +0 823280 +cfl= +cfn=Date::strptime^ +calls=2750940 113 +113 4022712 +cfl= +cfn=Date::iso8601 +calls=2750940 113 +113 1494830 + +fl= +fn=Hash::[]= +0 782815 + +fl= +fn=Array::count +0 99336 + +fl= +fn=Enumerable::group_by +0 14 +cfl= +cfn=Array::each +calls=1 0 +0 2729782 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 7713925 +cfl= +cfn=Array::[] +calls=13754700 27 +27 1944534 + +fl= +fn=Array::<< +0 792847 + +fl= +fn=String::<< +0 230160 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 1510334 +cfl= +cfn=Array::[] +calls=2000000 19 +19 293988 +cfl= +cfn=String::<< +calls=1000000 19 +19 230160 + +fl= +fn=String::== +0 1189309 + +fl= +fn=Array::[] +0 3259824 + +fl= +fn=Array::each +0 14290148 +cfl= +cfn=String::split +calls=3250940 52 +52 5980293 +cfl= +cfn=Array::[] +calls=6501880 54 +54 1021302 +cfl= +cfn=String::== +calls=6501880 54 +54 1189309 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=500000 54 +54 2034481 +cfl= +cfn=Array::<< +calls=3750940 54 +54 792847 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2750940 55 +55 9658459 +cfl= +cfn=Hash::[] +calls=1500000 91 +91 658145 +cfl= +cfn=Class::new +calls=500000 91 +91 587315 +cfl= +cfn=User::attributes +calls=500000 37 +37 97933 +cfl= +cfn=Hash::[]= +calls=992465 38 +38 782810 +cfl= +cfn=User::sessions +calls=3500000 107 +107 547244 +cfl= +cfn=Array::count +calls=500000 107 +107 99325 +cfl= +cfn=Array::sum +calls=500000 107 +107 1907409 +cfl= +cfn=Integer::to_s +calls=500000 107 +107 140151 +cfl= +cfn=String::+ +calls=1000000 107 +107 269802 +cfl= +cfn=Enumerable::max_by +calls=500000 107 +107 1794077 +cfl= +cfn=String::to_s +calls=500000 107 +107 94353 +cfl= +cfn=Array::map +calls=1000000 107 +107 9074512 +cfl= +cfn=Array::sort +calls=1000000 107 +107 714741 +cfl= +cfn=Array::join +calls=500000 107 +107 2129337 +cfl= +cfn=Array::any? +calls=500000 107 +107 1772406 +cfl= +cfn=Array::all? +calls=500000 107 +107 866498 +cfl= +cfn=Array::reverse +calls=500000 107 +107 123627 +cfl= +cfn=Hash::merge +calls=500000 107 +107 382951 +cfl= +cfn=String::to_i +calls=2750940 109 +109 448666 + +fl= +fn=String::split +0 6566455 + +fl= +fn=IO::read^ +0 441878 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 281282 +cfl= +cfn=IO::read^ +calls=1 46 +46 441878 +cfl= +cfn=String::split +calls=1 46 +46 586162 +cfl= +cfn=Array::each +calls=2 51 +51 28995811 +cfl= +cfn=Enumerable::group_by +calls=1 58 +58 2729795 +cfl= +cfn=Array::count +calls=3 76 +76 10 +cfl= +cfn=Hash::[]= +calls=1 76 +76 5 +cfl= +cfn=Array::map +calls=2 79 +79 836813 +cfl= +cfn=Array::uniq +calls=1 79 +79 566775 +cfl= +cfn=Array::sort +calls=1 85 +85 34 +cfl= +cfn=Array::join +calls=1 85 +85 14 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 105 +105 24237502 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 116 +116 1718455 +cfl= +cfn=IO::write^ +calls=1 116 +116 679268 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 51 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 61073805 + diff --git a/reports/call_tree/callgrind.out.477304 b/reports/call_tree/callgrind.out.477304 new file mode 100644 index 00000000..a0d9feae --- /dev/null +++ b/reports/call_tree/callgrind.out.477304 @@ -0,0 +1,394 @@ +events: wall_time + +fl= +fn=IO::write^ +0 623199 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 5 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 1378872 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 5 + +fl= +fn=Hash::merge +0 412065 + +fl= +fn=Array::reverse +0 132969 + +fl= +fn=Date::iso8601 +0 1522718 + +fl= +fn=Integer::div +0 480791 + +fl= +fn=Date::strptime^ +0 3776723 +cfl= +cfn=Integer::div +calls=2750940 0 +0 480791 + +fl= +fn=Array::all? +0 469361 +cfl= +cfn=String::upcase +calls=643788 112 +112 164373 +cfl= +cfn=String::=~ +calls=643788 112 +112 360297 + +fl= +fn=String::=~ +0 1125910 + +fl= +fn=Array::any? +0 896834 +cfl= +cfn=String::upcase +calls=1431949 111 +111 381947 +cfl= +cfn=String::=~ +calls=1431949 111 +111 765614 + +fl= +fn=String::to_s +0 102520 + +fl= +fn=Enumerable::max_by +0 328957 +cfl= +cfn=Array::each +calls=500000 0 +0 1707753 + +fl= +fn=String::+ +0 288135 + +fl= +fn=Integer::to_s +0 163106 + +fl= +fn=String::to_i +0 1101087 + +fl= +fn=Array::sum +0 1514241 +cfl= +cfn=String::to_i +calls=2750940 108 +108 598921 + +fl= +fn=User::sessions +0 599255 + +fl= +fn=User::attributes +0 111249 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 8 +cfl= +cfn=Array::each +calls=1 36 +36 26492465 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 187721 + +fl= +fn=Class::new +0 1194664 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=500000 0 +0 187721 + +fl= +fn=Hash::[] +0 715512 + +fl= +fn=Array::join +0 2309039 + +fl= +fn=Array::sort +0 799282 + +fl= +fn=String::upcase +0 1368446 + +fl= +fn=Array::uniq +0 619053 + +fl= +fn=Array::map +0 3893844 +cfl= +cfn=String::upcase +calls=2751140 0 +0 822126 +cfl= +cfn=Date::strptime^ +calls=2750940 113 +113 4257513 +cfl= +cfn=Date::iso8601 +calls=2750940 113 +113 1522718 + +fl= +fn=Hash::[]= +0 890071 + +fl= +fn=Array::count +0 94399 + +fl= +fn=Enumerable::group_by +0 11 +cfl= +cfn=Array::each +calls=1 0 +0 2856123 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 8481234 +cfl= +cfn=Array::[] +calls=13754700 27 +27 2106736 + +fl= +fn=Array::<< +0 746022 + +fl= +fn=String::<< +0 225634 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 929193 +cfl= +cfn=Array::[] +calls=2000000 19 +19 301756 +cfl= +cfn=String::<< +calls=1000000 19 +19 225634 + +fl= +fn=String::== +0 1198499 + +fl= +fn=Array::[] +0 3505736 + +fl= +fn=Array::each +0 14233792 +cfl= +cfn=String::split +calls=3250940 52 +52 5670782 +cfl= +cfn=Array::[] +calls=6501880 54 +54 1097245 +cfl= +cfn=String::== +calls=6501880 54 +54 1198499 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=500000 54 +54 1456582 +cfl= +cfn=Array::<< +calls=3750940 54 +54 746022 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2750940 55 +55 10587970 +cfl= +cfn=Hash::[] +calls=1500000 91 +91 715512 +cfl= +cfn=Class::new +calls=500000 91 +91 1382385 +cfl= +cfn=User::attributes +calls=500000 37 +37 111249 +cfl= +cfn=Hash::[]= +calls=992465 38 +38 890066 +cfl= +cfn=User::sessions +calls=3500000 107 +107 599255 +cfl= +cfn=Array::count +calls=500000 107 +107 94391 +cfl= +cfn=Array::sum +calls=500000 107 +107 2113162 +cfl= +cfn=Integer::to_s +calls=500000 107 +107 163106 +cfl= +cfn=String::+ +calls=1000000 107 +107 288135 +cfl= +cfn=Enumerable::max_by +calls=500000 107 +107 2036710 +cfl= +cfn=String::to_s +calls=500000 107 +107 102520 +cfl= +cfn=Array::map +calls=1000000 107 +107 9562108 +cfl= +cfn=Array::sort +calls=1000000 107 +107 799245 +cfl= +cfn=Array::join +calls=500000 107 +107 2309024 +cfl= +cfn=Array::any? +calls=500000 107 +107 2044395 +cfl= +cfn=Array::all? +calls=500000 107 +107 994031 +cfl= +cfn=Array::reverse +calls=500000 107 +107 132969 +cfl= +cfn=Hash::merge +calls=500000 107 +107 412065 +cfl= +cfn=String::to_i +calls=2750940 109 +109 502167 + +fl= +fn=String::split +0 6181606 + +fl= +fn=IO::read^ +0 385468 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 212412 +cfl= +cfn=IO::read^ +calls=1 46 +46 385468 +cfl= +cfn=String::split +calls=1 46 +46 510824 +cfl= +cfn=Array::each +calls=2 51 +51 29187045 +cfl= +cfn=Enumerable::group_by +calls=1 58 +58 2856135 +cfl= +cfn=Array::count +calls=3 76 +76 8 +cfl= +cfn=Hash::[]= +calls=1 76 +76 4 +cfl= +cfn=Array::map +calls=2 79 +79 934093 +cfl= +cfn=Array::uniq +calls=1 79 +79 619053 +cfl= +cfn=Array::sort +calls=1 85 +85 36 +cfl= +cfn=Array::join +calls=1 85 +85 14 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 105 +105 26492473 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 116 +116 1378877 +cfl= +cfn=IO::write^ +calls=1 116 +116 623199 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 44 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 63199641 + diff --git a/reports/call_tree/callgrind.out.479542 b/reports/call_tree/callgrind.out.479542 new file mode 100644 index 00000000..b572b30d --- /dev/null +++ b/reports/call_tree/callgrind.out.479542 @@ -0,0 +1,54 @@ +events: wall_time + +fl= +fn=Exception::backtrace +0 2 + +fl= +fn=Exception::exception +0 2 + +fl= +fn=Exception::initialize +0 5 + +fl= +fn=SystemCallError::initialize +0 24 +cfl= +cfn=Exception::initialize +calls=1 0 +0 5 + +fl= +fn=IO::read^ +0 368 +cfl= +cfn=SystemCallError::initialize +calls=1 0 +0 28 +cfl= +cfn=Exception::exception +calls=1 0 +0 2 +cfl= +cfn=Exception::backtrace +calls=1 0 +0 2 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 14 +cfl= +cfn=IO::read^ +calls=1 46 +46 400 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 62 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 415 + diff --git a/reports/call_tree/callgrind.out.479688 b/reports/call_tree/callgrind.out.479688 new file mode 100644 index 00000000..7ccdf168 --- /dev/null +++ b/reports/call_tree/callgrind.out.479688 @@ -0,0 +1,394 @@ +events: wall_time + +fl= +fn=IO::write^ +0 477843 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 5 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 1162048 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 5 + +fl= +fn=Hash::merge +0 391905 + +fl= +fn=Array::reverse +0 141479 + +fl= +fn=Date::iso8601 +0 1499814 + +fl= +fn=Integer::div +0 490599 + +fl= +fn=Date::strptime^ +0 3595848 +cfl= +cfn=Integer::div +calls=2538692 0 +0 490599 + +fl= +fn=Array::all? +0 429220 +cfl= +cfn=String::upcase +calls=594038 112 +112 156982 +cfl= +cfn=String::=~ +calls=594038 112 +112 327742 + +fl= +fn=String::=~ +0 1005605 + +fl= +fn=Array::any? +0 829805 +cfl= +cfn=String::upcase +calls=1321332 111 +111 366535 +cfl= +cfn=String::=~ +calls=1321332 111 +111 677863 + +fl= +fn=String::to_s +0 114085 + +fl= +fn=Enumerable::max_by +0 303078 +cfl= +cfn=Array::each +calls=461308 0 +0 1583132 + +fl= +fn=String::+ +0 313213 + +fl= +fn=Integer::to_s +0 146833 + +fl= +fn=String::to_i +0 1021074 + +fl= +fn=Array::sum +0 1429615 +cfl= +cfn=String::to_i +calls=2538692 108 +108 547631 + +fl= +fn=User::sessions +0 581812 + +fl= +fn=User::attributes +0 120139 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 25 +cfl= +cfn=Array::each +calls=1 36 +36 25572037 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 205989 + +fl= +fn=Class::new +0 1129763 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=461308 0 +0 205989 + +fl= +fn=Hash::[] +0 689525 + +fl= +fn=Array::join +0 2811355 + +fl= +fn=Array::sort +0 757599 + +fl= +fn=String::upcase +0 1343126 + +fl= +fn=Array::uniq +0 638179 + +fl= +fn=Array::map +0 3415634 +cfl= +cfn=String::upcase +calls=2538892 0 +0 819609 +cfl= +cfn=Date::strptime^ +calls=2538692 113 +113 4086447 +cfl= +cfn=Date::iso8601 +calls=2538692 113 +113 1499814 + +fl= +fn=Hash::[]= +0 762788 + +fl= +fn=Array::count +0 96164 + +fl= +fn=Enumerable::group_by +0 15 +cfl= +cfn=Array::each +calls=1 0 +0 3431525 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 7043237 +cfl= +cfn=Array::[] +calls=12693460 27 +27 1714066 + +fl= +fn=Array::<< +0 690866 + +fl= +fn=String::<< +0 201249 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 1075449 +cfl= +cfn=Array::[] +calls=1845232 19 +19 257024 +cfl= +cfn=String::<< +calls=922616 19 +19 201249 + +fl= +fn=String::== +0 1052385 + +fl= +fn=Array::[] +0 2910582 + +fl= +fn=Array::each +0 13584224 +cfl= +cfn=String::split +calls=3000000 52 +52 5582412 +cfl= +cfn=Array::[] +calls=6000000 54 +54 939491 +cfl= +cfn=String::== +calls=6000000 54 +54 1052385 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 54 +54 1533722 +cfl= +cfn=Array::<< +calls=3461308 54 +54 690866 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 55 +55 8757303 +cfl= +cfn=Hash::[] +calls=1383924 91 +91 689525 +cfl= +cfn=Class::new +calls=461308 91 +91 1335752 +cfl= +cfn=User::attributes +calls=461308 37 +37 120139 +cfl= +cfn=Hash::[]= +calls=916174 38 +38 762783 +cfl= +cfn=User::sessions +calls=3229156 107 +107 581812 +cfl= +cfn=Array::count +calls=461308 107 +107 96153 +cfl= +cfn=Array::sum +calls=461308 107 +107 1977245 +cfl= +cfn=Integer::to_s +calls=461308 107 +107 146833 +cfl= +cfn=String::+ +calls=922616 107 +107 313213 +cfl= +cfn=Enumerable::max_by +calls=461308 107 +107 1886210 +cfl= +cfn=String::to_s +calls=461308 107 +107 114085 +cfl= +cfn=Array::map +calls=922616 107 +107 9171730 +cfl= +cfn=Array::sort +calls=922616 107 +107 757556 +cfl= +cfn=Array::join +calls=461308 107 +107 2811340 +cfl= +cfn=Array::any? +calls=461308 107 +107 1874204 +cfl= +cfn=Array::all? +calls=461308 107 +107 913943 +cfl= +cfn=Array::reverse +calls=461308 107 +107 141479 +cfl= +cfn=Hash::merge +calls=461308 107 +107 391905 +cfl= +cfn=String::to_i +calls=2538692 109 +109 473443 + +fl= +fn=String::split +0 6081391 + +fl= +fn=IO::read^ +0 403162 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 146534 +cfl= +cfn=IO::read^ +calls=1 46 +46 403162 +cfl= +cfn=String::split +calls=1 46 +46 498980 +cfl= +cfn=Array::each +calls=2 51 +51 26113060 +cfl= +cfn=Enumerable::group_by +calls=1 58 +58 3431540 +cfl= +cfn=Array::count +calls=3 76 +76 10 +cfl= +cfn=Hash::[]= +calls=1 76 +76 5 +cfl= +cfn=Array::map +calls=2 79 +79 649773 +cfl= +cfn=Array::uniq +calls=1 79 +79 638179 +cfl= +cfn=Array::sort +calls=1 85 +85 43 +cfl= +cfn=Array::join +calls=1 85 +85 15 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 105 +105 25572063 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 116 +116 1162053 +cfl= +cfn=IO::write^ +calls=1 116 +116 477843 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 47 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 59093260 + diff --git a/reports/call_tree/callgrind.out.482623 b/reports/call_tree/callgrind.out.482623 new file mode 100644 index 00000000..157f40f1 --- /dev/null +++ b/reports/call_tree/callgrind.out.482623 @@ -0,0 +1,434 @@ +events: wall_time + +fl= +fn=Float::inspect +0 9 + +fl= +fn=Kernel::p +0 53 +cfl= +cfn=Float::inspect +calls=1 0 +0 9 + +fl= +fn=Integer::fdiv +0 4 + +fl= +fn=Time::- +0 19 +cfl= +cfn=Integer::fdiv +calls=1 0 +0 4 + +fl= +fn=IO::write^ +0 158282 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 3 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 367114 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 3 + +fl= +fn=Hash::merge +0 110142 + +fl= +fn=Array::reverse +0 42084 + +fl= +fn=Date::iso8601 +0 459582 + +fl= +fn=Integer::div +0 148494 + +fl= +fn=Date::strptime^ +0 1397840 +cfl= +cfn=Integer::div +calls=846230 0 +0 148494 + +fl= +fn=Array::all? +0 121350 +cfl= +cfn=String::upcase +calls=198387 113 +113 55200 +cfl= +cfn=String::=~ +calls=198387 113 +113 96177 + +fl= +fn=String::=~ +0 320491 + +fl= +fn=Array::any? +0 246385 +cfl= +cfn=String::upcase +calls=441002 112 +112 102944 +cfl= +cfn=String::=~ +calls=441002 112 +112 224314 + +fl= +fn=String::to_s +0 30214 + +fl= +fn=Enumerable::max_by +0 86127 +cfl= +cfn=Array::each +calls=153770 0 +0 480247 + +fl= +fn=String::+ +0 85337 + +fl= +fn=Integer::to_s +0 45620 + +fl= +fn=String::to_i +0 313560 + +fl= +fn=Array::sum +0 419288 +cfl= +cfn=String::to_i +calls=846230 109 +109 169149 + +fl= +fn=User::sessions +0 163099 + +fl= +fn=User::attributes +0 28988 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 7 +cfl= +cfn=Array::each +calls=1 36 +36 7790706 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 55452 + +fl= +fn=Class::new +0 92081 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 55452 + +fl= +fn=Hash::[] +0 178733 + +fl= +fn=Array::join +0 717653 + +fl= +fn=Array::sort +0 223658 + +fl= +fn=String::upcase +0 383201 + +fl= +fn=Array::uniq +0 93923 + +fl= +fn=Array::map +0 1036711 +cfl= +cfn=String::upcase +calls=846430 0 +0 225057 +cfl= +cfn=Date::strptime^ +calls=846230 114 +114 1546333 +cfl= +cfn=Date::iso8601 +calls=846230 114 +114 459582 + +fl= +fn=Hash::[]= +0 180219 + +fl= +fn=Array::count +0 25808 + +fl= +fn=Enumerable::group_by +0 12 +cfl= +cfn=Array::each +calls=1 0 +0 495896 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 1690391 +cfl= +cfn=Array::[] +calls=4231150 27 +27 528869 + +fl= +fn=Array::<< +0 207438 + +fl= +fn=String::<< +0 57775 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 494901 +cfl= +cfn=Array::[] +calls=615080 19 +19 77652 +cfl= +cfn=String::<< +calls=307540 19 +19 57775 + +fl= +fn=String::== +0 312416 + +fl= +fn=Array::[] +0 890204 + +fl= +fn=Array::each +0 3931261 +cfl= +cfn=String::split +calls=1000000 53 +53 1173802 +cfl= +cfn=Array::[] +calls=2000000 55 +55 283683 +cfl= +cfn=String::== +calls=2000000 55 +55 312416 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 55 +55 630328 +cfl= +cfn=Array::<< +calls=1153770 55 +55 207438 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 56 +56 2219261 +cfl= +cfn=Hash::[] +calls=461310 92 +92 178733 +cfl= +cfn=Class::new +calls=153770 92 +92 147534 +cfl= +cfn=User::attributes +calls=153770 37 +37 28988 +cfl= +cfn=Hash::[]= +calls=306786 38 +38 180213 +cfl= +cfn=User::sessions +calls=1076390 108 +108 163099 +cfl= +cfn=Array::count +calls=153770 108 +108 25795 +cfl= +cfn=Array::sum +calls=153770 108 +108 588437 +cfl= +cfn=Integer::to_s +calls=153770 108 +108 45620 +cfl= +cfn=String::+ +calls=307540 108 +108 85337 +cfl= +cfn=Enumerable::max_by +calls=153770 108 +108 566375 +cfl= +cfn=String::to_s +calls=153770 108 +108 30214 +cfl= +cfn=Array::map +calls=307540 108 +108 3085454 +cfl= +cfn=Array::sort +calls=307540 108 +108 223595 +cfl= +cfn=Array::join +calls=153770 108 +108 717638 +cfl= +cfn=Array::any? +calls=153770 108 +108 573643 +cfl= +cfn=Array::all? +calls=153770 108 +108 272727 +cfl= +cfn=Array::reverse +calls=153770 108 +108 42084 +cfl= +cfn=Hash::merge +calls=153770 108 +108 110142 +cfl= +cfn=String::to_i +calls=846230 110 +110 144411 + +fl= +fn=String::split +0 1370828 + +fl= +fn=IO::read^ +0 141413 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=Time::now^ +225 798 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 39858 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=Time::now^ +calls=2 44 +44 798 +cfl= +cfn=IO::read^ +calls=1 47 +47 141413 +cfl= +cfn=String::split +calls=1 47 +47 197026 +cfl= +cfn=Array::each +calls=2 52 +52 7201380 +cfl= +cfn=Enumerable::group_by +calls=1 59 +59 495907 +cfl= +cfn=Array::count +calls=3 77 +77 12 +cfl= +cfn=Hash::[]= +calls=1 77 +77 6 +cfl= +cfn=Array::map +calls=2 80 +80 182230 +cfl= +cfn=Array::uniq +calls=1 80 +80 93923 +cfl= +cfn=Array::sort +calls=1 86 +86 63 +cfl= +cfn=Array::join +calls=1 86 +86 15 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 106 +106 7790713 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 117 +117 367118 +cfl= +cfn=IO::write^ +calls=1 117 +117 158282 +cfl= +cfn=Time::- +calls=1 118 +118 23 +cfl= +cfn=Kernel::p +calls=1 118 +118 62 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 37 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 16668829 + diff --git a/reports/call_tree/callgrind.out.483062 b/reports/call_tree/callgrind.out.483062 new file mode 100644 index 00000000..60b3de77 --- /dev/null +++ b/reports/call_tree/callgrind.out.483062 @@ -0,0 +1,434 @@ +events: wall_time + +fl= +fn=Float::inspect +0 8 + +fl= +fn=Kernel::p +0 63 +cfl= +cfn=Float::inspect +calls=1 0 +0 8 + +fl= +fn=Integer::fdiv +0 6 + +fl= +fn=Time::- +0 2100 +cfl= +cfn=Integer::fdiv +calls=1 0 +0 6 + +fl= +fn=IO::write^ +0 474013 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 2 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 1008715 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 2 + +fl= +fn=Hash::merge +0 214513 + +fl= +fn=Array::reverse +0 77819 + +fl= +fn=Date::iso8601 +0 926577 + +fl= +fn=Integer::div +0 287954 + +fl= +fn=Date::strptime^ +0 2272528 +cfl= +cfn=Integer::div +calls=1692482 0 +0 287954 + +fl= +fn=Array::all? +0 264670 +cfl= +cfn=String::upcase +calls=395875 113 +113 90691 +cfl= +cfn=String::=~ +calls=395875 113 +113 197694 + +fl= +fn=String::=~ +0 599708 + +fl= +fn=Array::any? +0 505178 +cfl= +cfn=String::upcase +calls=880985 112 +112 235069 +cfl= +cfn=String::=~ +calls=880985 112 +112 402014 + +fl= +fn=String::to_s +0 55756 + +fl= +fn=Enumerable::max_by +0 181068 +cfl= +cfn=Array::each +calls=307518 0 +0 941102 + +fl= +fn=String::+ +0 175316 + +fl= +fn=Integer::to_s +0 86774 + +fl= +fn=String::to_i +0 631605 + +fl= +fn=Array::sum +0 864386 +cfl= +cfn=String::to_i +calls=1692482 109 +109 351452 + +fl= +fn=User::sessions +0 322636 + +fl= +fn=User::attributes +0 61186 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 8 +cfl= +cfn=Array::each +calls=1 36 +36 15506694 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 116648 + +fl= +fn=Class::new +0 875642 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=307518 0 +0 116648 + +fl= +fn=Hash::[] +0 394329 + +fl= +fn=Array::join +0 1610553 + +fl= +fn=Array::sort +0 445492 + +fl= +fn=String::upcase +0 729642 + +fl= +fn=Array::uniq +0 239192 + +fl= +fn=Array::map +0 2317651 +cfl= +cfn=String::upcase +calls=1692682 0 +0 403883 +cfl= +cfn=Date::strptime^ +calls=1692482 114 +114 2560482 +cfl= +cfn=Date::iso8601 +calls=1692482 114 +114 926577 + +fl= +fn=Hash::[]= +0 577166 + +fl= +fn=Array::count +0 54100 + +fl= +fn=Enumerable::group_by +0 14 +cfl= +cfn=Array::each +calls=1 0 +0 1201104 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 5113763 +cfl= +cfn=Array::[] +calls=8462410 27 +27 1236828 + +fl= +fn=Array::<< +0 480331 + +fl= +fn=String::<< +0 146948 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 1034502 +cfl= +cfn=Array::[] +calls=1230072 19 +19 185307 +cfl= +cfn=String::<< +calls=615036 19 +19 146948 + +fl= +fn=String::== +0 742766 + +fl= +fn=Array::[] +0 2075137 + +fl= +fn=Array::each +0 7893906 +cfl= +cfn=String::split +calls=2000000 53 +53 3151570 +cfl= +cfn=Array::[] +calls=4000000 55 +55 653002 +cfl= +cfn=String::== +calls=4000000 55 +55 742766 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=307518 55 +55 1366757 +cfl= +cfn=Array::<< +calls=2307518 55 +55 480331 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=1692482 56 +56 6350592 +cfl= +cfn=Hash::[] +calls=922554 92 +92 394329 +cfl= +cfn=Class::new +calls=307518 92 +92 992290 +cfl= +cfn=User::attributes +calls=307518 37 +37 61186 +cfl= +cfn=Hash::[]= +calls=612151 38 +38 577162 +cfl= +cfn=User::sessions +calls=2152626 108 +108 322636 +cfl= +cfn=Array::count +calls=307518 108 +108 54092 +cfl= +cfn=Array::sum +calls=307518 108 +108 1215839 +cfl= +cfn=Integer::to_s +calls=307518 108 +108 86774 +cfl= +cfn=String::+ +calls=615036 108 +108 175316 +cfl= +cfn=Enumerable::max_by +calls=307518 108 +108 1122170 +cfl= +cfn=String::to_s +calls=307518 108 +108 55756 +cfl= +cfn=Array::map +calls=615036 108 +108 5670270 +cfl= +cfn=Array::sort +calls=615036 108 +108 445459 +cfl= +cfn=Array::join +calls=307518 108 +108 1610537 +cfl= +cfn=Array::any? +calls=307518 108 +108 1142261 +cfl= +cfn=Array::all? +calls=307518 108 +108 553055 +cfl= +cfn=Array::reverse +calls=307518 108 +108 77819 +cfl= +cfn=Hash::merge +calls=307518 108 +108 214513 +cfl= +cfn=String::to_i +calls=1692482 110 +110 280153 + +fl= +fn=String::split +0 3545972 + +fl= +fn=IO::read^ +0 435123 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=Time::now^ +225 9621 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 167346 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=Time::now^ +calls=2 44 +44 9621 +cfl= +cfn=IO::read^ +calls=1 47 +47 435123 +cfl= +cfn=String::split +calls=1 47 +47 394403 +cfl= +cfn=Array::each +calls=2 52 +52 18041640 +cfl= +cfn=Enumerable::group_by +calls=1 59 +59 1201118 +cfl= +cfn=Array::count +calls=3 77 +77 8 +cfl= +cfn=Hash::[]= +calls=1 77 +77 4 +cfl= +cfn=Array::map +calls=2 80 +80 538323 +cfl= +cfn=Array::uniq +calls=1 80 +80 239192 +cfl= +cfn=Array::sort +calls=1 86 +86 33 +cfl= +cfn=Array::join +calls=1 86 +86 16 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 106 +106 15506702 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 117 +117 1008718 +cfl= +cfn=IO::write^ +calls=1 117 +117 474013 +cfl= +cfn=Time::- +calls=1 118 +118 2106 +cfl= +cfn=Kernel::p +calls=1 118 +118 71 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 36 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 38018438 + diff --git a/reports/call_tree/callgrind.out.485032 b/reports/call_tree/callgrind.out.485032 new file mode 100644 index 00000000..58058a91 --- /dev/null +++ b/reports/call_tree/callgrind.out.485032 @@ -0,0 +1,434 @@ +events: wall_time + +fl= +fn=Float::inspect +0 9 + +fl= +fn=Kernel::p +0 54 +cfl= +cfn=Float::inspect +calls=1 0 +0 9 + +fl= +fn=Integer::fdiv +0 65 + +fl= +fn=Time::- +0 1653 +cfl= +cfn=Integer::fdiv +calls=1 0 +0 65 + +fl= +fn=IO::write^ +0 306902 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 2 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 731493 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 2 + +fl= +fn=Hash::merge +0 204190 + +fl= +fn=Array::reverse +0 69947 + +fl= +fn=Date::iso8601 +0 865653 + +fl= +fn=Integer::div +0 258449 + +fl= +fn=Date::strptime^ +0 1855933 +cfl= +cfn=Integer::div +calls=1692482 0 +0 258449 + +fl= +fn=Array::all? +0 240584 +cfl= +cfn=String::upcase +calls=395875 114 +114 91093 +cfl= +cfn=String::=~ +calls=395875 114 +114 181227 + +fl= +fn=String::=~ +0 564975 + +fl= +fn=Array::any? +0 464486 +cfl= +cfn=String::upcase +calls=880985 113 +113 220959 +cfl= +cfn=String::=~ +calls=880985 113 +113 383748 + +fl= +fn=String::to_s +0 51839 + +fl= +fn=Enumerable::max_by +0 175026 +cfl= +cfn=Array::each +calls=307518 0 +0 897755 + +fl= +fn=String::+ +0 159768 + +fl= +fn=Integer::to_s +0 85043 + +fl= +fn=String::to_i +0 586198 + +fl= +fn=Array::sum +0 798049 +cfl= +cfn=String::to_i +calls=1692482 110 +110 312508 + +fl= +fn=User::sessions +0 52622 + +fl= +fn=User::attributes +0 60815 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 7 +cfl= +cfn=Array::each +calls=1 36 +36 13925587 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 120421 + +fl= +fn=Class::new +0 188313 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=307518 0 +0 120421 + +fl= +fn=Hash::[] +0 388999 + +fl= +fn=Array::join +0 1473969 + +fl= +fn=Array::sort +0 427434 + +fl= +fn=String::upcase +0 699408 + +fl= +fn=Array::uniq +0 276130 + +fl= +fn=Array::map +0 2296997 +cfl= +cfn=String::upcase +calls=1692682 0 +0 387357 +cfl= +cfn=Date::strptime^ +calls=1692482 115 +115 2114381 +cfl= +cfn=Date::iso8601 +calls=1692482 115 +115 865653 + +fl= +fn=Hash::[]= +0 527780 + +fl= +fn=Array::count +0 53883 + +fl= +fn=Enumerable::group_by +0 15 +cfl= +cfn=Array::each +calls=1 0 +0 1112510 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 3559643 +cfl= +cfn=Array::[] +calls=8462410 27 +27 1094663 + +fl= +fn=Array::<< +0 404101 + +fl= +fn=String::<< +0 117428 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 1375549 +cfl= +cfn=Array::[] +calls=1230072 19 +19 163534 +cfl= +cfn=String::<< +calls=615036 19 +19 117428 + +fl= +fn=String::== +0 636563 + +fl= +fn=Array::[] +0 1839705 + +fl= +fn=Array::each +0 7691421 +cfl= +cfn=String::split +calls=2000000 53 +53 2784454 +cfl= +cfn=Array::[] +calls=4000000 55 +55 581508 +cfl= +cfn=String::== +calls=4000000 55 +55 636563 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=307518 55 +55 1656511 +cfl= +cfn=Array::<< +calls=2307518 55 +55 404101 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=1692482 56 +56 4654306 +cfl= +cfn=Hash::[] +calls=922554 92 +92 388999 +cfl= +cfn=Class::new +calls=307518 92 +92 308733 +cfl= +cfn=User::attributes +calls=307518 37 +37 60815 +cfl= +cfn=Hash::[]= +calls=612151 38 +38 527775 +cfl= +cfn=User::sessions +calls=307518 107 +107 52622 +cfl= +cfn=Array::count +calls=307518 109 +109 53874 +cfl= +cfn=Array::sum +calls=307518 109 +109 1110557 +cfl= +cfn=Integer::to_s +calls=307518 109 +109 85043 +cfl= +cfn=String::+ +calls=615036 109 +109 159768 +cfl= +cfn=Enumerable::max_by +calls=307518 109 +109 1072782 +cfl= +cfn=String::to_s +calls=307518 109 +109 51839 +cfl= +cfn=Array::map +calls=615036 109 +109 5026761 +cfl= +cfn=Array::sort +calls=615036 109 +109 427401 +cfl= +cfn=Array::join +calls=307518 109 +109 1473955 +cfl= +cfn=Array::any? +calls=307518 109 +109 1069193 +cfl= +cfn=Array::all? +calls=307518 109 +109 512904 +cfl= +cfn=Array::reverse +calls=307518 109 +109 69947 +cfl= +cfn=Hash::merge +calls=307518 109 +109 204190 +cfl= +cfn=String::to_i +calls=1692482 111 +111 273690 + +fl= +fn=String::split +0 3100124 + +fl= +fn=IO::read^ +0 271968 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=Time::now^ +225 7249 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 112224 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=Time::now^ +calls=2 44 +44 7249 +cfl= +cfn=IO::read^ +calls=1 47 +47 271968 +cfl= +cfn=String::split +calls=1 47 +47 315670 +cfl= +cfn=Array::each +calls=2 52 +52 15403859 +cfl= +cfn=Enumerable::group_by +calls=1 59 +59 1112525 +cfl= +cfn=Array::count +calls=3 77 +77 9 +cfl= +cfn=Hash::[]= +calls=1 77 +77 5 +cfl= +cfn=Array::map +calls=2 80 +80 637627 +cfl= +cfn=Array::uniq +calls=1 80 +80 276130 +cfl= +cfn=Array::sort +calls=1 86 +86 32 +cfl= +cfn=Array::join +calls=1 86 +86 14 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 106 +106 13925594 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 118 +118 731495 +cfl= +cfn=IO::write^ +calls=1 118 +118 306902 +cfl= +cfn=Time::- +calls=1 119 +119 1719 +cfl= +cfn=Kernel::p +calls=1 119 +119 63 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 34 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 33103083 + diff --git a/reports/call_tree/callgrind.out.485403 b/reports/call_tree/callgrind.out.485403 new file mode 100644 index 00000000..5f3c363d --- /dev/null +++ b/reports/call_tree/callgrind.out.485403 @@ -0,0 +1,434 @@ +events: wall_time + +fl= +fn=Float::inspect +0 13 + +fl= +fn=Kernel::p +0 66 +cfl= +cfn=Float::inspect +calls=1 0 +0 13 + +fl= +fn=Integer::fdiv +0 4 + +fl= +fn=Time::- +0 29 +cfl= +cfn=Integer::fdiv +calls=1 0 +0 4 + +fl= +fn=IO::write^ +0 180328 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 3 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 405861 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 3 + +fl= +fn=Hash::merge +0 115007 + +fl= +fn=Array::reverse +0 69307 + +fl= +fn=Date::iso8601 +0 466167 + +fl= +fn=Integer::div +0 155503 + +fl= +fn=Date::strptime^ +0 1135332 +cfl= +cfn=Integer::div +calls=846230 0 +0 155503 + +fl= +fn=Array::all? +0 132219 +cfl= +cfn=String::upcase +calls=198387 114 +114 49690 +cfl= +cfn=String::=~ +calls=198387 114 +114 96977 + +fl= +fn=String::=~ +0 299058 + +fl= +fn=Array::any? +0 251823 +cfl= +cfn=String::upcase +calls=441002 113 +113 101949 +cfl= +cfn=String::=~ +calls=441002 113 +113 202081 + +fl= +fn=String::to_s +0 29014 + +fl= +fn=Enumerable::max_by +0 92587 +cfl= +cfn=Array::each +calls=153770 0 +0 506316 + +fl= +fn=String::+ +0 86849 + +fl= +fn=Integer::to_s +0 44021 + +fl= +fn=String::to_i +0 334979 + +fl= +fn=Array::sum +0 440632 +cfl= +cfn=String::to_i +calls=846230 110 +110 178992 + +fl= +fn=User::sessions +0 31672 + +fl= +fn=User::attributes +0 36826 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 35 +cfl= +cfn=Array::each +calls=1 36 +36 7791768 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 56623 + +fl= +fn=Class::new +0 94820 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=153770 0 +0 56623 + +fl= +fn=Hash::[] +0 193048 + +fl= +fn=Array::join +0 808623 + +fl= +fn=Array::sort +0 223844 + +fl= +fn=String::upcase +0 404310 + +fl= +fn=Array::uniq +0 127828 + +fl= +fn=Array::map +0 1090856 +cfl= +cfn=String::upcase +calls=846430 0 +0 252671 +cfl= +cfn=Date::strptime^ +calls=846230 115 +115 1290835 +cfl= +cfn=Date::iso8601 +calls=846230 115 +115 466167 + +fl= +fn=Hash::[]= +0 184419 + +fl= +fn=Array::count +0 27206 + +fl= +fn=Enumerable::group_by +0 17 +cfl= +cfn=Array::each +calls=1 0 +0 577235 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 2915820 +cfl= +cfn=Array::[] +calls=4231150 27 +27 679909 + +fl= +fn=Array::<< +0 255730 + +fl= +fn=String::<< +0 77905 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 299503 +cfl= +cfn=Array::[] +calls=615080 19 +19 100658 +cfl= +cfn=String::<< +calls=307540 19 +19 77905 + +fl= +fn=String::== +0 413760 + +fl= +fn=Array::[] +0 1129688 + +fl= +fn=Array::each +0 4669038 +cfl= +cfn=String::split +calls=1000000 53 +53 1613859 +cfl= +cfn=Array::[] +calls=2000000 55 +55 349121 +cfl= +cfn=String::== +calls=2000000 55 +55 413760 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=153770 55 +55 478066 +cfl= +cfn=Array::<< +calls=1153770 55 +55 255730 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=846230 56 +56 3595729 +cfl= +cfn=Hash::[] +calls=461310 92 +92 193048 +cfl= +cfn=Class::new +calls=153770 92 +92 151443 +cfl= +cfn=User::attributes +calls=153770 37 +37 36826 +cfl= +cfn=Hash::[]= +calls=306786 38 +38 184416 +cfl= +cfn=User::sessions +calls=153770 107 +107 31672 +cfl= +cfn=Array::count +calls=153770 109 +109 27197 +cfl= +cfn=Array::sum +calls=153770 109 +109 619624 +cfl= +cfn=Integer::to_s +calls=153770 109 +109 44021 +cfl= +cfn=String::+ +calls=307540 109 +109 86849 +cfl= +cfn=Enumerable::max_by +calls=153770 109 +109 598903 +cfl= +cfn=String::to_s +calls=153770 109 +109 29014 +cfl= +cfn=Array::map +calls=307540 109 +109 2882304 +cfl= +cfn=Array::sort +calls=307540 109 +109 223798 +cfl= +cfn=Array::join +calls=153770 109 +109 808604 +cfl= +cfn=Array::any? +calls=153770 109 +109 555852 +cfl= +cfn=Array::all? +calls=153770 109 +109 278887 +cfl= +cfn=Array::reverse +calls=153770 109 +109 69307 +cfl= +cfn=Hash::merge +calls=153770 109 +109 115007 +cfl= +cfn=String::to_i +calls=846230 111 +111 155987 + +fl= +fn=String::split +0 1858807 + +fl= +fn=IO::read^ +0 150795 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=Time::now^ +225 998 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 41412 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=Time::now^ +calls=2 44 +44 998 +cfl= +cfn=IO::read^ +calls=1 47 +47 150795 +cfl= +cfn=String::split +calls=1 47 +47 244948 +cfl= +cfn=Array::each +calls=2 52 +52 9592742 +cfl= +cfn=Enumerable::group_by +calls=1 59 +59 577252 +cfl= +cfn=Array::count +calls=3 77 +77 9 +cfl= +cfn=Hash::[]= +calls=1 77 +77 3 +cfl= +cfn=Array::map +calls=2 80 +80 218225 +cfl= +cfn=Array::uniq +calls=1 80 +80 127828 +cfl= +cfn=Array::sort +calls=1 86 +86 46 +cfl= +cfn=Array::join +calls=1 86 +86 19 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 106 +106 7791803 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 118 +118 405864 +cfl= +cfn=IO::write^ +calls=1 118 +118 180328 +cfl= +cfn=Time::- +calls=1 119 +119 34 +cfl= +cfn=Kernel::p +calls=1 119 +119 78 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 48 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 19332384 + diff --git a/reports/call_tree/callgrind.out.485770 b/reports/call_tree/callgrind.out.485770 new file mode 100644 index 00000000..85079349 --- /dev/null +++ b/reports/call_tree/callgrind.out.485770 @@ -0,0 +1,434 @@ +events: wall_time + +fl= +fn=Float::inspect +0 7 + +fl= +fn=Kernel::p +0 57 +cfl= +cfn=Float::inspect +calls=1 0 +0 7 + +fl= +fn=Integer::fdiv +0 4 + +fl= +fn=Time::- +0 1712 +cfl= +cfn=Integer::fdiv +calls=1 0 +0 4 + +fl= +fn=IO::write^ +0 346191 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 2 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 869137 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 2 + +fl= +fn=Hash::merge +0 250977 + +fl= +fn=Array::reverse +0 86597 + +fl= +fn=Date::iso8601 +0 1018105 + +fl= +fn=Integer::div +0 301687 + +fl= +fn=Date::strptime^ +0 2510113 +cfl= +cfn=Integer::div +calls=1692482 0 +0 301687 + +fl= +fn=Array::all? +0 275758 +cfl= +cfn=String::upcase +calls=395875 114 +114 95353 +cfl= +cfn=String::=~ +calls=395875 114 +114 214734 + +fl= +fn=String::=~ +0 661312 + +fl= +fn=Array::any? +0 527563 +cfl= +cfn=String::upcase +calls=880985 113 +113 290978 +cfl= +cfn=String::=~ +calls=880985 113 +113 446578 + +fl= +fn=String::to_s +0 62898 + +fl= +fn=Enumerable::max_by +0 208757 +cfl= +cfn=Array::each +calls=307518 0 +0 1011562 + +fl= +fn=String::+ +0 187725 + +fl= +fn=Integer::to_s +0 101677 + +fl= +fn=String::to_i +0 674907 + +fl= +fn=Array::sum +0 927450 +cfl= +cfn=String::to_i +calls=1692482 110 +110 371830 + +fl= +fn=User::sessions +0 55482 + +fl= +fn=User::attributes +0 71460 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 23 +cfl= +cfn=Array::each +calls=1 36 +36 16678524 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 129127 + +fl= +fn=Class::new +0 1028840 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=307518 0 +0 129127 + +fl= +fn=Hash::[] +0 432617 + +fl= +fn=Array::join +0 2121509 + +fl= +fn=Array::sort +0 484378 + +fl= +fn=String::upcase +0 806469 + +fl= +fn=Array::uniq +0 247116 + +fl= +fn=Array::map +0 2407908 +cfl= +cfn=String::upcase +calls=1692682 0 +0 420137 +cfl= +cfn=Date::strptime^ +calls=1692482 115 +115 2811800 +cfl= +cfn=Date::iso8601 +calls=1692482 115 +115 1018105 + +fl= +fn=Hash::[]= +0 610000 + +fl= +fn=Array::count +0 71235 + +fl= +fn=Enumerable::group_by +0 15 +cfl= +cfn=Array::each +calls=1 0 +0 1156656 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 4427753 +cfl= +cfn=Array::[] +calls=8462410 27 +27 1228537 + +fl= +fn=Array::<< +0 484635 + +fl= +fn=String::<< +0 151342 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 1364002 +cfl= +cfn=Array::[] +calls=1230072 19 +19 183815 +cfl= +cfn=String::<< +calls=615036 19 +19 151342 + +fl= +fn=String::== +0 749586 + +fl= +fn=Array::[] +0 2068015 + +fl= +fn=Array::each +0 7908328 +cfl= +cfn=String::split +calls=2000000 53 +53 3339847 +cfl= +cfn=Array::[] +calls=4000000 55 +55 655664 +cfl= +cfn=String::== +calls=4000000 55 +55 749586 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=307518 55 +55 1699159 +cfl= +cfn=Array::<< +calls=2307518 55 +55 484635 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=1692482 56 +56 5656290 +cfl= +cfn=Hash::[] +calls=922554 92 +92 432617 +cfl= +cfn=Class::new +calls=307518 92 +92 1157967 +cfl= +cfn=User::attributes +calls=307518 37 +37 71460 +cfl= +cfn=Hash::[]= +calls=612151 38 +38 609995 +cfl= +cfn=User::sessions +calls=307518 107 +107 55482 +cfl= +cfn=Array::count +calls=307518 109 +109 71227 +cfl= +cfn=Array::sum +calls=307518 109 +109 1299280 +cfl= +cfn=Integer::to_s +calls=307518 109 +109 101677 +cfl= +cfn=String::+ +calls=615036 109 +109 187725 +cfl= +cfn=Enumerable::max_by +calls=307518 109 +109 1220320 +cfl= +cfn=String::to_s +calls=307518 109 +109 62898 +cfl= +cfn=Array::map +calls=615036 109 +109 6137934 +cfl= +cfn=Array::sort +calls=615036 109 +109 484332 +cfl= +cfn=Array::join +calls=307518 109 +109 2121494 +cfl= +cfn=Array::any? +calls=307518 109 +109 1265119 +cfl= +cfn=Array::all? +calls=307518 109 +109 585845 +cfl= +cfn=Array::reverse +calls=307518 109 +109 86597 +cfl= +cfn=Hash::merge +calls=307518 109 +109 250977 +cfl= +cfn=String::to_i +calls=1692482 111 +111 303077 + +fl= +fn=String::split +0 3759451 + +fl= +fn=IO::read^ +0 296056 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=Time::now^ +225 7836 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 126809 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=Time::now^ +calls=2 44 +44 7836 +cfl= +cfn=IO::read^ +calls=1 47 +47 296056 +cfl= +cfn=String::split +calls=1 47 +47 419604 +cfl= +cfn=Array::each +calls=2 52 +52 18152791 +cfl= +cfn=Enumerable::group_by +calls=1 59 +59 1156671 +cfl= +cfn=Array::count +calls=3 77 +77 8 +cfl= +cfn=Hash::[]= +calls=1 77 +77 5 +cfl= +cfn=Array::map +calls=2 80 +80 520017 +cfl= +cfn=Array::uniq +calls=1 80 +80 247116 +cfl= +cfn=Array::sort +calls=1 86 +86 47 +cfl= +cfn=Array::join +calls=1 86 +86 14 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 106 +106 16678547 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 118 +118 869139 +cfl= +cfn=IO::write^ +calls=1 118 +118 346191 +cfl= +cfn=Time::- +calls=1 119 +119 1716 +cfl= +cfn=Kernel::p +calls=1 119 +119 64 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 35 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 38822631 + diff --git a/reports/call_tree/callgrind.out.486183 b/reports/call_tree/callgrind.out.486183 new file mode 100644 index 00000000..1e8c15c8 --- /dev/null +++ b/reports/call_tree/callgrind.out.486183 @@ -0,0 +1,434 @@ +events: wall_time + +fl= +fn=Float::inspect +0 8 + +fl= +fn=Kernel::p +0 58 +cfl= +cfn=Float::inspect +calls=1 0 +0 8 + +fl= +fn=Integer::fdiv +0 7 + +fl= +fn=Time::- +0 1831 +cfl= +cfn=Integer::fdiv +calls=1 0 +0 7 + +fl= +fn=IO::write^ +0 497761 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 8 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 1198046 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 8 + +fl= +fn=Hash::merge +0 373097 + +fl= +fn=Array::reverse +0 131968 + +fl= +fn=Date::iso8601 +0 1444957 + +fl= +fn=Integer::div +0 436403 + +fl= +fn=Date::strptime^ +0 3405843 +cfl= +cfn=Integer::div +calls=2538692 0 +0 436403 + +fl= +fn=Array::all? +0 414061 +cfl= +cfn=String::upcase +calls=594038 114 +114 148105 +cfl= +cfn=String::=~ +calls=594038 114 +114 311321 + +fl= +fn=String::=~ +0 982295 + +fl= +fn=Array::any? +0 790694 +cfl= +cfn=String::upcase +calls=1321332 113 +113 351493 +cfl= +cfn=String::=~ +calls=1321332 113 +113 670974 + +fl= +fn=String::to_s +0 91016 + +fl= +fn=Enumerable::max_by +0 289153 +cfl= +cfn=Array::each +calls=461308 0 +0 1523511 + +fl= +fn=String::+ +0 261850 + +fl= +fn=Integer::to_s +0 136099 + +fl= +fn=String::to_i +0 994122 + +fl= +fn=Array::sum +0 1378426 +cfl= +cfn=String::to_i +calls=2538692 110 +110 532589 + +fl= +fn=User::sessions +0 91235 + +fl= +fn=User::attributes +0 103855 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 9 +cfl= +cfn=Array::each +calls=1 36 +36 23717751 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 171369 + +fl= +fn=Class::new +0 266877 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=461308 0 +0 171369 + +fl= +fn=Hash::[] +0 653817 + +fl= +fn=Array::join +0 2745329 + +fl= +fn=Array::sort +0 739415 + +fl= +fn=String::upcase +0 1321266 + +fl= +fn=Array::uniq +0 596672 + +fl= +fn=Array::map +0 3323114 +cfl= +cfn=String::upcase +calls=2538892 0 +0 821669 +cfl= +cfn=Date::strptime^ +calls=2538692 115 +115 3842247 +cfl= +cfn=Date::iso8601 +calls=2538692 115 +115 1444957 + +fl= +fn=Hash::[]= +0 700023 + +fl= +fn=Array::count +0 99762 + +fl= +fn=Enumerable::group_by +0 25 +cfl= +cfn=Array::each +calls=1 0 +0 2737800 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 7752084 +cfl= +cfn=Array::[] +calls=12693460 27 +27 1915828 + +fl= +fn=Array::<< +0 752106 + +fl= +fn=String::<< +0 211352 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 1007333 +cfl= +cfn=Array::[] +calls=1845232 19 +19 275689 +cfl= +cfn=String::<< +calls=922616 19 +19 211352 + +fl= +fn=String::== +0 1125375 + +fl= +fn=Array::[] +0 3201563 + +fl= +fn=Array::each +0 13186501 +cfl= +cfn=String::split +calls=3000000 53 +53 5678293 +cfl= +cfn=Array::[] +calls=6000000 55 +55 1010045 +cfl= +cfn=String::== +calls=6000000 55 +55 1125375 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=461308 55 +55 1494374 +cfl= +cfn=Array::<< +calls=3461308 55 +55 752106 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2538692 56 +56 9667912 +cfl= +cfn=Hash::[] +calls=1383924 92 +92 653817 +cfl= +cfn=Class::new +calls=461308 92 +92 438247 +cfl= +cfn=User::attributes +calls=461308 37 +37 103855 +cfl= +cfn=Hash::[]= +calls=916174 38 +38 700018 +cfl= +cfn=User::sessions +calls=461308 107 +107 91235 +cfl= +cfn=Array::count +calls=461308 109 +109 99752 +cfl= +cfn=Array::sum +calls=461308 109 +109 1911015 +cfl= +cfn=Integer::to_s +calls=461308 109 +109 136099 +cfl= +cfn=String::+ +calls=922616 109 +109 261850 +cfl= +cfn=Enumerable::max_by +calls=461308 109 +109 1812664 +cfl= +cfn=String::to_s +calls=461308 109 +109 91016 +cfl= +cfn=Array::map +calls=922616 109 +109 8791803 +cfl= +cfn=Array::sort +calls=922616 109 +109 739378 +cfl= +cfn=Array::join +calls=461308 109 +109 2745314 +cfl= +cfn=Array::any? +calls=461308 109 +109 1813161 +cfl= +cfn=Array::all? +calls=461308 109 +109 873486 +cfl= +cfn=Array::reverse +calls=461308 109 +109 131968 +cfl= +cfn=Hash::merge +calls=461308 109 +109 373097 +cfl= +cfn=String::to_i +calls=2538692 111 +111 461534 + +fl= +fn=String::split +0 6324418 + +fl= +fn=IO::read^ +0 461426 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=Time::now^ +225 7348 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 148355 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=Time::now^ +calls=2 44 +44 7348 +cfl= +cfn=IO::read^ +calls=1 47 +47 461426 +cfl= +cfn=String::split +calls=1 47 +47 646125 +cfl= +cfn=Array::each +calls=2 52 +52 27164853 +cfl= +cfn=Enumerable::group_by +calls=1 59 +59 2737824 +cfl= +cfn=Array::count +calls=3 77 +77 10 +cfl= +cfn=Hash::[]= +calls=1 77 +77 6 +cfl= +cfn=Array::map +calls=2 80 +80 640183 +cfl= +cfn=Array::uniq +calls=1 80 +80 596672 +cfl= +cfn=Array::sort +calls=1 86 +86 37 +cfl= +cfn=Array::join +calls=1 86 +86 16 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 106 +106 23717760 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 118 +118 1198054 +cfl= +cfn=IO::write^ +calls=1 118 +118 497761 +cfl= +cfn=Time::- +calls=1 119 +119 1838 +cfl= +cfn=Kernel::p +calls=1 119 +119 66 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 40 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 57818332 + diff --git a/reports/call_tree/callgrind.out.487089 b/reports/call_tree/callgrind.out.487089 new file mode 100644 index 00000000..e311fb38 --- /dev/null +++ b/reports/call_tree/callgrind.out.487089 @@ -0,0 +1,450 @@ +events: wall_time + +fl= +fn=Float::inspect +0 11 + +fl= +fn=Kernel::p +0 55 +cfl= +cfn=Float::inspect +calls=1 0 +0 11 + +fl= +fn=Integer::fdiv +0 15 + +fl= +fn=Time::- +0 14 +cfl= +cfn=Integer::fdiv +calls=1 0 +0 15 + +fl= +fn=IO::write^ +0 530558 + +fl= +fn=JSON/Ext/Generator/State::initialize +0 2 + +fl= +fn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +0 1191560 +cfl= +cfn=JSON/Ext/Generator/State::initialize +calls=1 0 +0 2 +cfl= +cfn=String::eql? +calls=1 0 +0 280681 + +fl= +fn=Hash::merge +0 370755 + +fl= +fn=Array::reverse +0 130138 + +fl= +fn=Date::iso8601 +0 1571796 + +fl= +fn=Integer::div +0 503232 + +fl= +fn=Date::strptime^ +0 3577777 +cfl= +cfn=Integer::div +calls=2750940 0 +0 503232 + +fl= +fn=Array::all? +0 454769 +cfl= +cfn=String::upcase +calls=643788 114 +114 154311 +cfl= +cfn=String::=~ +calls=643788 114 +114 341528 + +fl= +fn=String::=~ +0 1051335 + +fl= +fn=Array::any? +0 865005 +cfl= +cfn=String::upcase +calls=1431949 113 +113 357425 +cfl= +cfn=String::=~ +calls=1431949 113 +113 709807 + +fl= +fn=String::to_s +0 95494 + +fl= +fn=Enumerable::max_by +0 305784 +cfl= +cfn=Array::each +calls=500000 0 +0 1628947 + +fl= +fn=String::+ +0 288300 + +fl= +fn=Integer::to_s +0 153909 + +fl= +fn=String::to_i +0 1075308 + +fl= +fn=Array::sum +0 1445024 +cfl= +cfn=String::to_i +calls=2750940 110 +110 584453 + +fl= +fn=User::sessions +0 93809 + +fl= +fn=User::attributes +0 102680 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::collect_stats_from_users +35 7 +cfl= +cfn=Array::each +calls=1 36 +36 25104757 + +fl= +fn=String::eql? +0 521997 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=User::initialize +11 189482 + +fl= +fn=Class::new +0 416283 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=User::initialize +calls=500000 0 +0 189482 + +fl= +fn=Hash::[] +0 719221 + +fl= +fn=Array::join +0 2219213 + +fl= +fn=Array::sort +0 759910 + +fl= +fn=String::upcase +0 1293018 + +fl= +fn=Array::uniq +0 571502 + +fl= +fn=Array::map +0 3719500 +cfl= +cfn=String::upcase +calls=2751140 0 +0 781282 +cfl= +cfn=Date::strptime^ +calls=2750940 115 +115 4081009 +cfl= +cfn=Date::iso8601 +calls=2750940 115 +115 1571796 + +fl= +fn=Hash::[]= +0 870453 + +fl= +fn=Array::count +0 94898 + +fl= +fn=Enumerable::group_by +0 11 +cfl= +cfn=Array::each +calls=1 0 +0 2705174 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_session +25 6681411 +cfl= +cfn=Array::[] +calls=13754700 27 +27 1833398 + +fl= +fn=Array::<< +0 722030 + +fl= +fn=String::<< +0 209375 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::parse_user +17 1941141 +cfl= +cfn=Array::[] +calls=2000000 19 +19 271313 +cfl= +cfn=String::<< +calls=1000000 19 +19 209375 + +fl= +fn=String::== +0 1133576 + +fl= +fn=Array::[] +0 3065990 + +fl= +fn=Array::each +0 14311722 +cfl= +cfn=String::split +calls=3250940 53 +53 5492851 +cfl= +cfn=Array::[] +calls=6501880 55 +55 961279 +cfl= +cfn=String::== +calls=6501880 55 +55 1133576 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_user +calls=500000 55 +55 2421830 +cfl= +cfn=Array::<< +calls=3750940 55 +55 722030 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::parse_session +calls=2750940 56 +56 8514809 +cfl= +cfn=Hash::[] +calls=1500000 92 +92 719221 +cfl= +cfn=Class::new +calls=500000 92 +92 605765 +cfl= +cfn=User::attributes +calls=500000 37 +37 102680 +cfl= +cfn=String::eql? +calls=1500000 38 +38 241309 +cfl= +cfn=Hash::[]= +calls=992465 38 +38 870447 +cfl= +cfn=User::sessions +calls=500000 107 +107 93809 +cfl= +cfn=Array::count +calls=500000 109 +109 94891 +cfl= +cfn=Array::sum +calls=500000 109 +109 2029476 +cfl= +cfn=Integer::to_s +calls=500000 109 +109 153909 +cfl= +cfn=String::+ +calls=1000000 109 +109 288300 +cfl= +cfn=Enumerable::max_by +calls=500000 109 +109 1934731 +cfl= +cfn=String::to_s +calls=500000 109 +109 95494 +cfl= +cfn=Array::map +calls=1000000 109 +109 9281863 +cfl= +cfn=Array::sort +calls=1000000 109 +109 759862 +cfl= +cfn=Array::join +calls=500000 109 +109 2219197 +cfl= +cfn=Array::any? +calls=500000 109 +109 1932237 +cfl= +cfn=Array::all? +calls=500000 109 +109 950608 +cfl= +cfn=Array::reverse +calls=500000 109 +109 130138 +cfl= +cfn=Hash::merge +calls=500000 109 +109 370755 +cfl= +cfn=String::to_i +calls=2750940 111 +111 490855 + +fl= +fn=String::split +0 5983327 + +fl= +fn=IO::read^ +0 420901 + +fl=/mnt/c/Users/Home/study/task-1/ +fn=Time::now^ +225 9 + +fl=/mnt/c/Users/Home/study/task-1/task-1.rb +fn=Object::work +43 1779287 +cfl=/mnt/c/Users/Home/study/task-1/ +cfn=Time::now^ +calls=2 44 +44 9 +cfl= +cfn=IO::read^ +calls=1 47 +47 420901 +cfl= +cfn=String::split +calls=1 47 +47 490476 +cfl= +cfn=Array::each +calls=2 52 +52 27484765 +cfl= +cfn=Enumerable::group_by +calls=1 59 +59 2705186 +cfl= +cfn=Array::count +calls=3 77 +77 7 +cfl= +cfn=Hash::[]= +calls=1 77 +77 6 +cfl= +cfn=Array::map +calls=2 80 +80 871724 +cfl= +cfn=Array::uniq +calls=1 80 +80 571502 +cfl= +cfn=Array::sort +calls=1 86 +86 48 +cfl= +cfn=Array::join +calls=1 86 +86 16 +cfl= +cfn=String::eql? +calls=1 96 +96 6 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::collect_stats_from_users +calls=1 106 +106 25104763 +cfl= +cfn=JSON/Ext/Generator/GeneratorMethods/Hash::to_json +calls=1 118 +118 1472243 +cfl= +cfn=IO::write^ +calls=1 118 +118 530558 +cfl= +cfn=Time::- +calls=1 119 +119 29 +cfl= +cfn=Kernel::p +calls=1 119 +119 66 + +fl=/mnt/c/Users/Home/study/task-1/test.rb +fn=[global]:: +9 44 +cfl=/mnt/c/Users/Home/study/task-1/task-1.rb +cfn=Object::work +calls=1 9 +9 61431593 + diff --git a/reports/flat/data10000.txt b/reports/flat/data10000.txt new file mode 100644 index 00000000..e56b032f --- /dev/null +++ b/reports/flat/data10000.txt @@ -0,0 +1,65 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 10.152495 +Sort by: self_time + + %self total self wait child calls name location + 61.29 9.015 6.222 0.000 2.793 1536 Array#select + 27.51 2.793 2.793 0.000 0.000 13000704 Hash#include? + 3.01 0.750 0.305 0.000 0.445 10000 Array#all? + 2.88 0.445 0.292 0.000 0.152 841276 BasicObject#!= + 1.54 0.157 0.157 0.000 0.000 861276 String#== + 1.48 0.151 0.151 0.000 0.000 11736 Array#+ + 0.94 10.128 0.095 0.000 10.033 10 Array#each + 0.26 0.027 0.027 0.000 0.000 20001 String#split + 0.17 0.034 0.017 0.000 0.017 8464 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:27 + 0.14 0.018 0.014 0.000 0.004 1536 Class#new + 0.11 0.011 0.011 0.000 0.000 68464 Array#[] + 0.09 0.011 0.009 0.000 0.002 16898 Array#map + 0.07 0.007 0.007 0.000 0.000 21504 Hash#[] + 0.07 0.007 0.007 0.000 0.000 24576 String#+ + 0.06 0.006 0.006 0.000 0.000 1 #write + 0.06 0.006 0.006 0.000 0.000 1 #read + 0.05 0.005 0.005 0.000 0.000 12289 Hash#[]= + 0.05 0.005 0.005 0.000 0.000 10752 Hash#merge + 0.04 0.004 0.004 0.000 0.000 21504 User#attributes + 0.04 0.004 0.004 0.000 0.000 1536 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.03 0.006 0.003 0.000 0.003 1536 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.03 0.003 0.003 0.000 0.000 3073 Array#sort + 0.02 0.002 0.002 0.000 0.000 10752 User#sessions + 0.02 0.002 0.002 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 0.02 0.002 0.002 0.000 0.000 8464 String#upcase + 0.01 0.001 0.001 0.000 0.000 1 Array#uniq + 0.00 0.000 0.000 0.000 0.000 1537 Array#join + 0.00 0.000 0.000 0.000 0.000 1536 Integer#to_s + 0.00 0.000 0.000 0.000 0.000 1539 Array#count + 0.00 0.000 0.000 0.000 0.000 1536 Array#reverse + 0.00 0.000 0.000 0.000 0.000 1536 Array#max + 0.00 0.000 0.000 0.000 0.000 1536 Array#sum + 0.00 0.000 0.000 0.000 0.000 1536 Array#any? + 0.00 0.000 0.000 0.000 0.000 1536 NilClass#to_s + 0.00 10.152 0.000 0.000 10.152 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:46 + 0.00 10.152 0.000 0.000 10.152 1 [global]# test.rb:9 + 0.00 0.083 0.000 0.000 0.083 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:38 + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat/data20000.txt b/reports/flat/data20000.txt new file mode 100644 index 00000000..c22b1ca5 --- /dev/null +++ b/reports/flat/data20000.txt @@ -0,0 +1,65 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 30.080383 +Sort by: self_time + + %self total self wait child calls name location + 62.65 27.737 18.844 0.000 8.893 3046 Array#select + 29.56 8.893 8.893 0.000 0.000 51641884 Hash#include? + 2.00 0.602 0.602 0.000 0.000 23246 Array#+ + 1.75 1.291 0.525 0.000 0.765 20000 Array#all? + 1.63 0.765 0.490 0.000 0.276 1690336 BasicObject#!= + 0.94 0.284 0.284 0.000 0.000 1730336 String#== + 0.56 30.032 0.169 0.000 29.863 10 Array#each + 0.18 0.054 0.054 0.000 0.000 40001 String#split + 0.10 0.029 0.029 0.000 0.000 6093 Array#sort + 0.09 0.060 0.028 0.000 0.031 16954 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:27 + 0.09 0.035 0.026 0.000 0.009 3046 Class#new + 0.06 0.019 0.019 0.000 0.000 136954 Array#[] + 0.06 0.017 0.017 0.000 0.000 1 #read + 0.06 0.020 0.017 0.000 0.004 33508 Array#map + 0.04 0.012 0.012 0.000 0.000 48736 String#+ + 0.04 0.011 0.011 0.000 0.000 42644 Hash#[] + 0.03 0.009 0.009 0.000 0.000 3046 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.03 0.008 0.008 0.000 0.000 21322 Hash#merge + 0.03 0.008 0.008 0.000 0.000 24369 Hash#[]= + 0.02 0.007 0.007 0.000 0.000 42644 User#attributes + 0.02 0.007 0.007 0.000 0.000 1 #write + 0.02 0.010 0.005 0.000 0.005 3046 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.01 0.004 0.004 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 0.01 0.004 0.004 0.000 0.000 16954 String#upcase + 0.01 0.004 0.004 0.000 0.000 21322 User#sessions + 0.00 0.001 0.001 0.000 0.000 1 Array#uniq + 0.00 0.001 0.001 0.000 0.000 3047 Array#join + 0.00 0.001 0.001 0.000 0.000 3046 Integer#to_s + 0.00 0.001 0.001 0.000 0.000 3049 Array#count + 0.00 0.001 0.001 0.000 0.000 3046 Array#max + 0.00 0.001 0.001 0.000 0.000 3046 Array#reverse + 0.00 0.001 0.001 0.000 0.000 3046 Array#sum + 0.00 0.001 0.001 0.000 0.000 3046 NilClass#to_s + 0.00 0.001 0.001 0.000 0.000 3046 Array#any? + 0.00 30.080 0.000 0.000 30.080 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:46 + 0.00 30.080 0.000 0.000 30.080 1 [global]# test.rb:9 + 0.00 0.161 0.000 0.000 0.161 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:38 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat/data30000.txt b/reports/flat/data30000.txt new file mode 100644 index 00000000..17411e93 --- /dev/null +++ b/reports/flat/data30000.txt @@ -0,0 +1,65 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 67.890546 +Sort by: self_time + + %self total self wait child calls name location + 63.72 63.820 43.258 0.000 20.561 4592 Array#select + 30.29 20.561 20.561 0.000 0.000 116673536 Hash#include? + 2.01 1.367 1.367 0.000 0.000 34792 Array#+ + 1.23 2.052 0.838 0.000 1.214 30000 Array#all? + 1.14 1.214 0.777 0.000 0.437 2538741 BasicObject#!= + 0.66 0.449 0.449 0.000 0.000 2598741 String#== + 0.39 67.835 0.263 0.000 67.573 10 Array#each + 0.12 0.080 0.080 0.000 0.000 60001 String#split + 0.07 0.090 0.046 0.000 0.044 25408 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:27 + 0.06 0.061 0.043 0.000 0.018 4592 Class#new + 0.05 0.034 0.034 0.000 0.000 205408 Array#[] + 0.04 0.031 0.025 0.000 0.005 50514 Array#map + 0.03 0.018 0.018 0.000 0.000 4592 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.03 0.017 0.017 0.000 0.000 73472 String#+ + 0.03 0.017 0.017 0.000 0.000 64288 Hash#[] + 0.02 0.013 0.013 0.000 0.000 32144 Hash#merge + 0.02 0.012 0.012 0.000 0.000 36737 Hash#[]= + 0.02 0.011 0.011 0.000 0.000 64288 User#attributes + 0.01 0.010 0.010 0.000 0.000 1 #read + 0.01 0.009 0.009 0.000 0.000 9185 Array#sort + 0.01 0.015 0.009 0.000 0.007 4592 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.01 0.008 0.008 0.000 0.000 1 #write + 0.01 0.005 0.005 0.000 0.000 32144 User#sessions + 0.01 0.005 0.005 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 0.01 0.005 0.005 0.000 0.000 25408 String#upcase + 0.00 0.002 0.002 0.000 0.000 1 Array#uniq + 0.00 0.001 0.001 0.000 0.000 4593 Array#join + 0.00 0.001 0.001 0.000 0.000 4592 Integer#to_s + 0.00 0.001 0.001 0.000 0.000 4592 Array#reverse + 0.00 0.001 0.001 0.000 0.000 4592 Array#max + 0.00 0.001 0.001 0.000 0.000 4592 Array#any? + 0.00 0.001 0.001 0.000 0.000 4592 NilClass#to_s + 0.00 0.001 0.001 0.000 0.000 4595 Array#count + 0.00 0.001 0.001 0.000 0.000 4592 Array#sum + 0.00 67.890 0.000 0.000 67.890 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:46 + 0.00 67.891 0.000 0.000 67.890 1 [global]# test.rb:9 + 0.00 0.202 0.000 0.000 0.202 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:38 + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat/data40000.txt b/reports/flat/data40000.txt new file mode 100644 index 00000000..e69de29b diff --git a/reports/flat_base/data10000.txt b/reports/flat_base/data10000.txt new file mode 100644 index 00000000..cb65dd17 --- /dev/null +++ b/reports/flat_base/data10000.txt @@ -0,0 +1,74 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 10.676701 +Sort by: self_time + + %self total self wait child calls name location + 59.81 8.952 6.386 0.000 2.566 1536 Array#select + 26.00 2.776 2.776 0.000 0.000 13861980 String#== + 3.60 0.960 0.384 0.000 0.576 10000 Array#all? + 3.48 0.574 0.372 0.000 0.202 841276 BasicObject#!= + 2.51 0.268 0.268 0.000 0.000 11736 Array#+ + 1.07 10.642 0.115 0.000 10.527 10 Array#each + 0.51 0.177 0.054 0.000 0.123 16898 Array#map + 0.50 0.107 0.053 0.000 0.054 8464 #parse + 0.45 0.048 0.048 0.000 0.000 20001 String#split + 0.27 0.059 0.029 0.000 0.030 8464 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:27 + 0.19 0.020 0.020 0.000 0.000 68464 Array#[] + 0.16 0.017 0.017 0.000 0.000 16928 Regexp#match + 0.16 0.017 0.017 0.000 0.000 8464 String#gsub! + 0.11 0.012 0.012 0.000 0.000 1 #write + 0.10 0.016 0.010 0.000 0.006 3073 Array#sort + 0.09 0.010 0.010 0.000 0.000 8464 MatchData#begin + 0.08 0.008 0.008 0.000 0.000 24576 String#+ + 0.08 0.008 0.008 0.000 0.000 21504 Hash#[] + 0.07 0.008 0.008 0.000 0.000 8464 Date#iso8601 + 0.07 0.007 0.007 0.000 0.000 10752 Hash#merge + 0.06 0.006 0.006 0.000 0.000 23399 String#upcase + 0.06 0.006 0.006 0.000 0.000 12289 Hash#[]= + 0.05 0.006 0.006 0.000 0.000 14789 Date#<=> + 0.05 0.006 0.006 0.000 0.000 21504 User#attributes + 0.05 0.005 0.005 0.000 0.000 1 #read + 0.05 0.007 0.005 0.000 0.002 1536 Class#new + 0.05 0.009 0.005 0.000 0.004 1536 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.04 0.005 0.005 0.000 0.000 8464 String#[]= + 0.04 0.005 0.005 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 0.04 0.004 0.004 0.000 0.000 16928 String#to_i + 0.03 0.004 0.004 0.000 0.000 6471 String#=~ + 0.03 0.007 0.003 0.000 0.003 1536 Array#any? + 0.03 0.003 0.003 0.000 0.000 8464 Integer#div + 0.03 0.003 0.003 0.000 0.000 10752 User#sessions + 0.03 0.003 0.003 0.000 0.000 8464 MatchData#end + 0.02 0.002 0.002 0.000 0.000 1536 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.01 0.001 0.001 0.000 0.000 1537 Array#join + 0.01 0.001 0.001 0.000 0.000 3072 Integer#to_s + 0.01 0.001 0.001 0.000 0.000 1536 Array#reverse + 0.01 0.001 0.001 0.000 0.000 1 Array#uniq + 0.00 0.000 0.000 0.000 0.000 1536 Array#max + 0.00 0.000 0.000 0.000 0.000 1536 Array#sum + 0.00 0.000 0.000 0.000 0.000 1539 Array#count + 0.00 10.677 0.000 0.000 10.676 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:46 + 0.00 10.677 0.000 0.000 10.677 1 [global]# test.rb:9 + 0.00 0.292 0.000 0.000 0.292 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:38 + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_base/data20000.txt b/reports/flat_base/data20000.txt new file mode 100644 index 00000000..d38259b5 --- /dev/null +++ b/reports/flat_base/data20000.txt @@ -0,0 +1,75 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 59.673367 +Sort by: self_time + + %self total self wait child calls name location + 65.40 53.697 39.025 0.000 14.672 3046 Array#select + 25.82 15.405 15.405 0.000 0.000 53372220 String#== + 2.45 3.460 1.461 0.000 1.998 20000 Array#all? + 2.14 1.993 1.279 0.000 0.714 1690336 BasicObject#!= + 1.95 1.164 1.164 0.000 0.000 23246 Array#+ + 0.57 59.561 0.339 0.000 59.221 10 Array#each + 0.27 0.452 0.161 0.000 0.292 33508 Array#map + 0.22 0.132 0.132 0.000 0.000 40001 String#split + 0.20 0.243 0.117 0.000 0.126 16954 #parse + 0.12 0.145 0.074 0.000 0.072 16954 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:27 + 0.08 0.051 0.051 0.000 0.000 136954 Array#[] + 0.07 0.040 0.040 0.000 0.000 33908 Regexp#match + 0.06 0.038 0.038 0.000 0.000 16954 String#gsub! + 0.05 0.042 0.028 0.000 0.014 6093 Array#sort + 0.04 0.037 0.026 0.000 0.011 3046 Class#new + 0.04 0.025 0.025 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 0.04 0.024 0.024 0.000 0.000 1 #write + 0.04 0.022 0.022 0.000 0.000 48736 String#+ + 0.04 0.022 0.022 0.000 0.000 16954 MatchData#begin + 0.04 0.021 0.021 0.000 0.000 42644 Hash#[] + 0.03 0.020 0.020 0.000 0.000 16954 Date#iso8601 + 0.03 0.019 0.019 0.000 0.000 46682 String#upcase + 0.03 0.018 0.018 0.000 0.000 21322 Hash#merge + 0.03 0.015 0.015 0.000 0.000 1 #read + 0.02 0.014 0.014 0.000 0.000 24369 Hash#[]= + 0.02 0.014 0.014 0.000 0.000 42644 User#attributes + 0.02 0.014 0.014 0.000 0.000 29721 Date#<=> + 0.02 0.013 0.013 0.000 0.000 33908 String#to_i + 0.02 0.023 0.012 0.000 0.011 3046 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.02 0.012 0.012 0.000 0.000 16954 String#[]= + 0.02 0.011 0.011 0.000 0.000 3046 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.02 0.009 0.009 0.000 0.000 12774 String#=~ + 0.01 0.008 0.008 0.000 0.000 16954 Integer#div + 0.01 0.016 0.008 0.000 0.009 3046 Array#any? + 0.01 0.007 0.007 0.000 0.000 21322 User#sessions + 0.01 0.007 0.007 0.000 0.000 16954 MatchData#end + 0.01 0.005 0.005 0.000 0.000 3047 Array#join + 0.01 0.003 0.003 0.000 0.000 6091 Integer#to_s + 0.00 0.002 0.002 0.000 0.000 1 Array#uniq + 0.00 0.002 0.002 0.000 0.000 3046 Array#reverse + 0.00 0.001 0.001 0.000 0.000 3046 Array#max + 0.00 0.001 0.001 0.000 0.000 3046 Array#sum + 0.00 0.001 0.001 0.000 0.000 3049 Array#count + 0.00 59.673 0.001 0.000 59.673 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:46 + 0.00 59.673 0.000 0.000 59.673 1 [global]# test.rb:9 + 0.00 0.736 0.000 0.000 0.736 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:38 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + 0.00 0.000 0.000 0.000 0.000 1 NilClass#to_s + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_base/data30000.txt b/reports/flat_base/data30000.txt new file mode 100644 index 00000000..f495b170 --- /dev/null +++ b/reports/flat_base/data30000.txt @@ -0,0 +1,74 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 133.942619 +Sort by: self_time + + %self total self wait child calls name location + 67.60 124.428 90.552 0.000 33.876 4592 Array#select + 25.96 34.777 34.777 0.000 0.000 119272277 String#== + 2.43 3.261 3.261 0.000 0.000 34792 Array#+ + 1.29 4.203 1.724 0.000 2.480 30000 Array#all? + 1.20 2.468 1.602 0.000 0.866 2538741 BasicObject#!= + 0.43 133.826 0.571 0.000 133.255 10 Array#each + 0.19 0.248 0.248 0.000 0.000 60001 String#split + 0.16 0.559 0.208 0.000 0.351 50514 Array#map + 0.11 0.293 0.145 0.000 0.148 25408 #parse + 0.10 0.267 0.134 0.000 0.133 25408 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:27 + 0.07 0.091 0.091 0.000 0.000 205408 Array#[] + 0.03 0.046 0.046 0.000 0.000 50816 Regexp#match + 0.03 0.045 0.045 0.000 0.000 25408 String#gsub! + 0.03 0.066 0.045 0.000 0.021 4592 Class#new + 0.03 0.039 0.039 0.000 0.000 64288 Hash#[] + 0.03 0.051 0.036 0.000 0.015 9185 Array#sort + 0.02 0.033 0.033 0.000 0.000 73472 String#+ + 0.02 0.032 0.032 0.000 0.000 32144 Hash#merge + 0.02 0.030 0.030 0.000 0.000 69991 String#upcase + 0.02 0.026 0.026 0.000 0.000 36737 Hash#[]= + 0.02 0.025 0.025 0.000 0.000 25408 MatchData#begin + 0.02 0.044 0.024 0.000 0.020 4592 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.02 0.023 0.023 0.000 0.000 1 #read + 0.02 0.023 0.023 0.000 0.000 25408 Date#iso8601 + 0.02 0.022 0.022 0.000 0.000 64288 User#attributes + 0.02 0.021 0.021 0.000 0.000 4592 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.02 0.020 0.020 0.000 0.000 1 #write + 0.02 0.020 0.020 0.000 0.000 19175 String#=~ + 0.01 0.015 0.015 0.000 0.000 44480 Date#<=> + 0.01 0.015 0.015 0.000 0.000 25408 String#[]= + 0.01 0.032 0.014 0.000 0.017 4592 Array#any? + 0.01 0.014 0.014 0.000 0.000 50816 String#to_i + 0.01 0.014 0.014 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 0.01 0.011 0.011 0.000 0.000 32144 User#sessions + 0.01 0.009 0.009 0.000 0.000 25408 Integer#div + 0.01 0.008 0.008 0.000 0.000 25408 MatchData#end + 0.01 0.007 0.007 0.000 0.000 4593 Array#join + 0.00 0.003 0.003 0.000 0.000 9184 Integer#to_s + 0.00 0.002 0.002 0.000 0.000 1 Array#uniq + 0.00 0.002 0.002 0.000 0.000 4592 Array#reverse + 0.00 0.002 0.002 0.000 0.000 4595 Array#count + 0.00 0.001 0.001 0.000 0.000 4592 Array#max + 0.00 0.001 0.001 0.000 0.000 4592 Array#sum + 0.00 133.943 0.001 0.000 133.942 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:46 + 0.00 133.943 0.000 0.000 133.943 1 [global]# test.rb:9 + 0.00 1.016 0.000 0.000 1.016 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:38 + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data1000.txt b/reports/flat_cutted/data1000.txt new file mode 100644 index 00000000..74aa674f --- /dev/null +++ b/reports/flat_cutted/data1000.txt @@ -0,0 +1,75 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 0.028666 +Sort by: self_time + + %self total self wait child calls name location + 16.39 0.019 0.005 0.000 0.014 10 Array#each + 13.74 0.012 0.004 0.000 0.008 1699 Array#map + 11.26 0.003 0.003 0.000 0.000 1 #write + 11.08 0.003 0.003 0.000 0.000 1 #read + 8.83 0.005 0.003 0.000 0.003 846 #parse + 3.03 0.001 0.001 0.000 0.000 1692 Regexp#match + 2.91 0.001 0.001 0.000 0.001 846 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:26 + 2.75 0.001 0.001 0.000 0.000 846 String#gsub! + 2.70 0.001 0.001 0.000 0.000 1001 String#split + 2.49 0.001 0.001 0.000 0.000 5846 Array#[] + 2.15 0.001 0.001 0.000 0.000 2310 Hash#[] + 1.98 0.001 0.001 0.000 0.000 2464 String#+ + 1.61 0.001 0.000 0.000 0.000 309 Array#sort + 1.52 0.000 0.000 0.000 0.000 846 MatchData#begin + 1.50 0.000 0.000 0.000 0.000 1233 Hash#[]= + 1.41 0.000 0.000 0.000 0.000 1078 Hash#merge + 1.31 0.000 0.000 0.000 0.000 846 Date#iso8601 + 1.24 0.000 0.000 0.000 0.000 2156 User#attributes + 1.24 0.000 0.000 0.000 0.000 1692 String#to_i + 1.04 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 1.03 0.000 0.000 0.000 0.000 1467 Date#<=> + 0.98 0.000 0.000 0.000 0.000 1679 String#upcase + 0.85 0.000 0.000 0.000 0.000 636 String#=~ + 0.77 0.000 0.000 0.000 0.000 846 String#[]= + 0.72 0.000 0.000 0.000 0.000 154 Array#any? + 0.65 0.000 0.000 0.000 0.000 1078 User#sessions + 0.62 0.000 0.000 0.000 0.000 846 Integer#div + 0.49 0.000 0.000 0.000 0.000 846 MatchData#end + 0.47 0.000 0.000 0.000 0.000 154 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.42 0.000 0.000 0.000 0.000 154 Array#all? + 0.41 0.000 0.000 0.000 0.000 154 Array#+ + 0.33 0.000 0.000 0.000 0.000 155 Array#join + 0.28 0.000 0.000 0.000 0.000 308 Integer#to_s + 0.24 0.000 0.000 0.000 0.000 154 Class#new + 0.23 0.000 0.000 0.000 0.000 154 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.23 0.029 0.000 0.000 0.029 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:48 + 0.19 0.000 0.000 0.000 0.000 1 Kernel#p + 0.17 0.000 0.000 0.000 0.000 1 Array#uniq + 0.13 0.000 0.000 0.000 0.000 154 Array#sum + 0.13 0.000 0.000 0.000 0.000 154 Array#max + 0.12 0.000 0.000 0.000 0.000 154 Array#reverse + 0.11 0.000 0.000 0.000 0.000 157 Array#count + 0.11 0.029 0.000 0.000 0.029 1 [global]# test.rb:9 + 0.07 0.000 0.000 0.000 0.000 1 String#inspect + 0.03 0.017 0.000 0.000 0.017 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:36 + 0.01 0.001 0.000 0.000 0.001 2 Enumerable#group_by + 0.01 0.000 0.000 0.000 0.000 1 #disable :69 + 0.01 0.001 0.000 0.000 0.001 1 Object#split_lines /mnt/c/Users/Home/study/task-1/task-1.rb:44 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data10000.txt b/reports/flat_cutted/data10000.txt new file mode 100644 index 00000000..e4bf15fd --- /dev/null +++ b/reports/flat_cutted/data10000.txt @@ -0,0 +1,73 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 0.235054 +Sort by: self_time + + %self total self wait child calls name location + 18.44 0.170 0.043 0.000 0.127 9 Array#each + 15.49 0.119 0.036 0.000 0.082 16902 Array#map + 9.95 0.048 0.023 0.000 0.025 8464 #parse + 5.33 0.013 0.013 0.000 0.000 1 #read + 5.15 0.012 0.012 0.000 0.000 1 #write + 4.14 0.015 0.010 0.000 0.005 8464 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:26 + 3.65 0.009 0.009 0.000 0.000 10001 String#split + 3.35 0.008 0.008 0.000 0.000 8464 String#gsub! + 3.25 0.008 0.008 0.000 0.000 58464 Array#[] + 3.18 0.007 0.007 0.000 0.000 16928 Regexp#match + 2.36 0.006 0.006 0.000 0.000 23040 Hash#[] + 2.00 0.005 0.005 0.000 0.000 24576 String#+ + 1.85 0.004 0.004 0.000 0.000 8464 MatchData#begin + 1.73 0.004 0.004 0.000 0.000 10752 Hash#merge + 1.69 0.007 0.004 0.000 0.003 3073 Array#sort + 1.58 0.004 0.004 0.000 0.000 12289 Hash#[]= + 1.57 0.004 0.004 0.000 0.000 8464 Date#iso8601 + 1.46 0.003 0.003 0.000 0.000 21504 User#sessions + 1.36 0.003 0.003 0.000 0.000 21504 User#attributes + 1.31 0.003 0.003 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 1.16 0.003 0.003 0.000 0.000 16928 String#to_i + 1.12 0.003 0.003 0.000 0.000 14789 Date#<=> + 1.10 0.003 0.003 0.000 0.000 15135 String#upcase + 1.03 0.005 0.002 0.000 0.002 1536 Array#any? + 0.95 0.002 0.002 0.000 0.000 8464 String#[]= + 0.90 0.002 0.002 0.000 0.000 6471 String#=~ + 0.68 0.002 0.002 0.000 0.000 10752 Kernel#nil? + 0.60 0.001 0.001 0.000 0.000 8464 Integer#div + 0.59 0.002 0.001 0.000 0.001 1536 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.55 0.001 0.001 0.000 0.000 8464 MatchData#end + 0.49 0.002 0.001 0.000 0.001 1536 Array#all? + 0.39 0.001 0.001 0.000 0.000 1537 Array#join + 0.31 0.001 0.001 0.000 0.000 1 Array#uniq + 0.30 0.001 0.001 0.000 0.000 1536 Class#new + 0.26 0.001 0.001 0.000 0.000 3072 Integer#to_s + 0.20 0.000 0.000 0.000 0.000 1536 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.13 0.000 0.000 0.000 0.000 1536 Array#reverse + 0.11 0.000 0.000 0.000 0.000 1539 Array#count + 0.11 0.000 0.000 0.000 0.000 1536 Array#max + 0.11 0.000 0.000 0.000 0.000 1536 Array#sum + 0.06 0.235 0.000 0.000 0.235 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:48 + 0.02 0.235 0.000 0.000 0.235 1 [global]# test.rb:9 + 0.00 0.162 0.000 0.000 0.162 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:36 + 0.00 0.008 0.000 0.000 0.008 2 Enumerable#group_by + 0.00 0.011 0.000 0.000 0.011 1 Object#split_lines /mnt/c/Users/Home/study/task-1/task-1.rb:44 + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data100000.txt b/reports/flat_cutted/data100000.txt new file mode 100644 index 00000000..01a95a21 --- /dev/null +++ b/reports/flat_cutted/data100000.txt @@ -0,0 +1,73 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 2.282027 +Sort by: self_time + + %self total self wait child calls name location + 21.11 1.849 0.482 0.000 1.368 9 Array#each + 17.21 1.206 0.393 0.000 0.813 169747 Array#map + 10.06 0.460 0.230 0.000 0.230 84569 #parse + 4.15 0.148 0.095 0.000 0.053 84569 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:26 + 3.49 0.080 0.080 0.000 0.000 584569 Array#[] + 3.44 0.079 0.079 0.000 0.000 100001 String#split + 3.22 0.074 0.074 0.000 0.000 169138 Regexp#match + 3.08 0.070 0.070 0.000 0.000 231465 Hash#[] + 2.99 0.068 0.068 0.000 0.000 84569 String#gsub! + 2.77 0.063 0.063 0.000 0.000 246896 String#+ + 2.49 0.057 0.057 0.000 0.000 108017 Hash#merge + 1.98 0.045 0.045 0.000 0.000 84569 Date#iso8601 + 1.81 0.041 0.041 0.000 0.000 123443 Hash#[]= + 1.73 0.040 0.040 0.000 0.000 84569 MatchData#begin + 1.69 0.063 0.039 0.000 0.024 30863 Array#sort + 1.60 0.036 0.036 0.000 0.000 216034 User#attributes + 1.53 0.035 0.035 0.000 0.000 216034 User#sessions + 1.49 0.034 0.034 0.000 0.000 169138 String#to_i + 1.34 0.031 0.031 0.000 0.000 64115 String#=~ + 1.27 0.029 0.029 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 1.26 0.029 0.029 0.000 0.000 148884 String#upcase + 1.08 0.056 0.025 0.000 0.032 15431 Array#any? + 1.07 0.024 0.024 0.000 0.000 147079 Date#<=> + 0.93 0.021 0.021 0.000 0.000 84569 String#[]= + 0.89 0.020 0.020 0.000 0.000 1 #write + 0.80 0.018 0.018 0.000 0.000 108017 Kernel#nil? + 0.79 0.018 0.018 0.000 0.000 1 #read + 0.64 0.015 0.015 0.000 0.000 84569 Integer#div + 0.63 0.023 0.014 0.000 0.009 15431 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.57 0.026 0.013 0.000 0.013 15431 Array#all? + 0.57 0.013 0.013 0.000 0.000 84569 MatchData#end + 0.43 0.010 0.010 0.000 0.000 15432 Array#join + 0.37 0.014 0.008 0.000 0.006 15431 Class#new + 0.37 0.008 0.008 0.000 0.000 30862 Integer#to_s + 0.31 0.007 0.007 0.000 0.000 1 Array#uniq + 0.24 0.006 0.006 0.000 0.000 15431 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.15 0.004 0.004 0.000 0.000 15431 Array#max + 0.14 0.003 0.003 0.000 0.000 15431 Array#sum + 0.13 0.003 0.003 0.000 0.000 15431 Array#reverse + 0.10 0.002 0.002 0.000 0.000 15434 Array#count + 0.07 2.282 0.001 0.000 2.280 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:48 + 0.00 2.282 0.000 0.000 2.282 1 [global]# test.rb:9 + 0.00 0.088 0.000 0.000 0.088 2 Enumerable#group_by + 0.00 1.762 0.000 0.000 1.762 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:36 + 0.00 0.104 0.000 0.000 0.104 1 Object#split_lines /mnt/c/Users/Home/study/task-1/task-1.rb:44 + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data1000000.txt b/reports/flat_cutted/data1000000.txt new file mode 100644 index 00000000..463c698d --- /dev/null +++ b/reports/flat_cutted/data1000000.txt @@ -0,0 +1,60 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 12.651080 +Sort by: self_time + + %self total self wait child calls name location + 29.05 9.961 3.675 0.000 6.287 614332 *Array#map + 11.13 2.165 1.408 0.000 0.757 846230 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:26 + 9.95 1.259 1.259 0.000 0.000 1000001 String#split + 8.89 1.125 1.125 0.000 0.000 5846230 Array#[] + 7.97 1.244 1.008 0.000 0.236 2 Array#each + 3.81 0.482 0.482 0.000 0.000 1 #write + 3.30 0.418 0.418 0.000 0.000 636269 String#=~ + 2.99 0.379 0.379 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 2.87 0.363 0.363 0.000 0.000 1 #read + 2.65 0.336 0.336 0.000 0.000 306033 Array#sort + 1.89 0.372 0.239 0.000 0.132 153770 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 1.85 0.234 0.234 0.000 0.000 846430 String#upcase + 1.71 0.511 0.217 0.000 0.294 153016 Array#any? + 1.69 0.213 0.213 0.000 0.000 846230 String#to_i + 1.30 0.164 0.164 0.000 0.000 307540 Hash#[] + 1.17 0.148 0.148 0.000 0.000 153017 Hash#[]= + 1.09 0.224 0.138 0.000 0.086 153770 Class#new + 1.05 0.132 0.132 0.000 0.000 153017 Array#join + 1.03 0.130 0.130 0.000 0.000 614326 User#sessions + 0.97 0.246 0.123 0.000 0.124 153016 Array#all? + 0.70 0.088 0.088 0.000 0.000 1 Array#uniq + 0.68 0.086 0.086 0.000 0.000 153770 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.53 0.067 0.067 0.000 0.000 307540 User#attributes + 0.39 0.050 0.050 0.000 0.000 153016 Array#reverse + 0.33 0.041 0.041 0.000 0.000 153016 Array#sum + 0.30 0.037 0.037 0.000 0.000 153016 Array#max + 0.28 0.035 0.035 0.000 0.000 153770 Kernel#nil? + 0.27 0.034 0.034 0.000 0.000 153019 Array#count + 0.16 12.651 0.020 0.000 12.631 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:48 + 0.00 12.651 0.000 0.000 12.651 1 [global]# test.rb:9 + 0.00 1.244 0.000 0.000 1.244 2 Enumerable#group_by + 0.00 1.612 0.000 0.000 1.612 1 Object#split_lines /mnt/c/Users/Home/study/task-1/task-1.rb:44 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data20000.txt b/reports/flat_cutted/data20000.txt new file mode 100644 index 00000000..2032ea5a --- /dev/null +++ b/reports/flat_cutted/data20000.txt @@ -0,0 +1,54 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 0.136526 +Sort by: self_time + + %self total self wait child calls name location + 19.94 0.027 0.027 0.000 0.000 1 #read + 18.23 0.037 0.025 0.000 0.012 3 Array#each + 14.22 0.030 0.019 0.000 0.011 16954 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:26 + 12.55 0.069 0.017 0.000 0.052 6 Array#map + 12.19 0.017 0.017 0.000 0.000 116954 Array#[] + 11.31 0.015 0.015 0.000 0.000 20001 String#split + 2.04 0.005 0.003 0.000 0.002 3046 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 1.69 0.002 0.002 0.000 0.000 9138 Hash#[] + 1.50 0.002 0.002 0.000 0.000 6092 Hash#[]= + 1.02 0.002 0.001 0.000 0.001 3046 Class#new + 0.97 0.001 0.001 0.000 0.000 1 Array#uniq + 0.84 0.001 0.001 0.000 0.000 6092 String#+ + 0.73 0.001 0.001 0.000 0.000 3046 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.69 0.001 0.001 0.000 0.000 3045 Hash#merge + 0.63 0.001 0.001 0.000 0.000 6092 User#attributes + 0.62 0.001 0.001 0.000 0.000 6091 User#sessions + 0.31 0.000 0.000 0.000 0.000 3048 Array#count + 0.29 0.000 0.000 0.000 0.000 3045 Kernel#nil? + 0.12 0.136 0.000 0.000 0.136 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:48 + 0.03 0.000 0.000 0.000 0.000 1 Array#sort + 0.03 0.000 0.000 0.000 0.000 200 String#upcase + 0.02 0.137 0.000 0.000 0.136 1 [global]# test.rb:9 + 0.01 0.020 0.000 0.000 0.020 2 Enumerable#group_by + 0.01 0.000 0.000 0.000 0.000 1 Array#join + 0.00 0.020 0.000 0.000 0.020 1 Object#split_lines /mnt/c/Users/Home/study/task-1/task-1.rb:44 + 0.00 0.017 0.000 0.000 0.017 1 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:36 + 0.00 0.000 0.000 0.000 0.000 1 NilClass#nil? + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data200000.txt b/reports/flat_cutted/data200000.txt new file mode 100644 index 00000000..99476090 --- /dev/null +++ b/reports/flat_cutted/data200000.txt @@ -0,0 +1,54 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 1.151301 +Sort by: self_time + + %self total self wait child calls name location + 20.70 0.377 0.238 0.000 0.139 3 Array#each + 17.24 0.308 0.199 0.000 0.110 169251 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:26 + 14.93 0.715 0.172 0.000 0.543 6 Array#map + 14.23 0.164 0.164 0.000 0.000 1169251 Array#[] + 14.02 0.161 0.161 0.000 0.000 200001 String#split + 2.96 0.052 0.034 0.000 0.018 30749 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 2.56 0.029 0.029 0.000 0.000 92247 Hash#[] + 2.43 0.028 0.028 0.000 0.000 1 #read + 2.07 0.024 0.024 0.000 0.000 61467 Hash#[]= + 1.87 0.022 0.022 0.000 0.000 30748 Hash#merge + 1.40 0.027 0.016 0.000 0.010 30749 Class#new + 1.24 0.014 0.014 0.000 0.000 1 Array#uniq + 1.02 0.012 0.012 0.000 0.000 61498 String#+ + 0.91 0.010 0.010 0.000 0.000 30749 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.80 0.009 0.009 0.000 0.000 61497 User#sessions + 0.80 0.009 0.009 0.000 0.000 61498 User#attributes + 0.40 0.005 0.005 0.000 0.000 30751 Array#count + 0.38 0.004 0.004 0.000 0.000 30748 Kernel#nil? + 0.01 1.151 0.000 0.000 1.151 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:48 + 0.00 0.000 0.000 0.000 0.000 200 String#upcase + 0.00 1.151 0.000 0.000 1.151 1 [global]# test.rb:9 + 0.00 0.000 0.000 0.000 0.000 1 Array#sort + 0.00 0.174 0.000 0.000 0.174 2 Enumerable#group_by + 0.00 0.000 0.000 0.000 0.000 1 Array#join + 0.00 0.207 0.000 0.000 0.207 1 Object#split_lines /mnt/c/Users/Home/study/task-1/task-1.rb:44 + 0.00 0.203 0.000 0.000 0.203 1 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:36 + 0.00 0.000 0.000 0.000 0.000 1 NilClass#nil? + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data2000000.txt b/reports/flat_cutted/data2000000.txt new file mode 100644 index 00000000..89115a7b --- /dev/null +++ b/reports/flat_cutted/data2000000.txt @@ -0,0 +1,60 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 40.853404 +Sort by: self_time + + %self total self wait child calls name location + 19.59 22.687 8.005 0.000 14.682 1227192 Array#map + 17.12 19.758 6.992 0.000 12.765 3 Array#each + 12.37 7.687 5.052 0.000 2.635 1692482 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:26 + 11.60 4.740 4.740 0.000 0.000 2000001 String#split + 9.54 3.898 3.898 0.000 0.000 11692482 Array#[] + 3.25 1.330 1.330 0.000 0.000 1264981 String#=~ + 2.62 1.069 1.069 0.000 0.000 1 #write + 2.59 1.058 1.058 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 2.27 0.925 0.925 0.000 0.000 609267 Array#sort + 2.10 1.315 0.858 0.000 0.457 307518 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 1.92 0.785 0.785 0.000 0.000 1 #read + 1.83 0.747 0.747 0.000 0.000 1692682 String#upcase + 1.63 1.592 0.665 0.000 0.927 304633 Array#any? + 1.51 0.617 0.617 0.000 0.000 1692482 String#to_i + 1.38 0.563 0.563 0.000 0.000 304634 Hash#[]= + 1.32 0.539 0.539 0.000 0.000 615036 Hash#[] + 1.09 0.702 0.447 0.000 0.255 307518 Class#new + 0.98 0.399 0.399 0.000 0.000 304634 Array#join + 0.92 0.375 0.375 0.000 0.000 1227187 User#sessions + 0.84 0.747 0.344 0.000 0.403 304633 Array#all? + 0.70 0.287 0.287 0.000 0.000 1 Array#uniq + 0.62 0.255 0.255 0.000 0.000 307518 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.44 0.181 0.181 0.000 0.000 615036 User#attributes + 0.40 0.165 0.165 0.000 0.000 304633 Array#reverse + 0.32 0.130 0.130 0.000 0.000 304633 Array#max + 0.30 0.121 0.121 0.000 0.000 304633 Array#sum + 0.27 0.111 0.111 0.000 0.000 304636 Array#count + 0.25 0.103 0.103 0.000 0.000 307518 Kernel#nil? + 0.22 40.853 0.091 0.000 40.762 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:48 + 0.00 40.853 0.000 0.000 40.853 1 [global]# test.rb:9 + 0.00 4.201 0.000 0.000 4.201 2 Enumerable#group_by + 0.00 6.142 0.000 0.000 6.142 1 Object#split_lines /mnt/c/Users/Home/study/task-1/task-1.rb:44 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data30000.txt b/reports/flat_cutted/data30000.txt new file mode 100644 index 00000000..6a0af138 --- /dev/null +++ b/reports/flat_cutted/data30000.txt @@ -0,0 +1,73 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 0.661042 +Sort by: self_time + + %self total self wait child calls name location + 20.71 0.520 0.137 0.000 0.383 9 Array#each + 16.86 0.355 0.111 0.000 0.244 50518 Array#map + 10.08 0.137 0.067 0.000 0.070 25408 #parse + 4.60 0.047 0.030 0.000 0.017 25408 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:26 + 3.91 0.026 0.026 0.000 0.000 175408 Array#[] + 3.82 0.025 0.025 0.000 0.000 30001 String#split + 3.28 0.022 0.022 0.000 0.000 25408 String#gsub! + 3.24 0.021 0.021 0.000 0.000 50816 Regexp#match + 2.71 0.018 0.018 0.000 0.000 68880 Hash#[] + 2.06 0.014 0.014 0.000 0.000 73472 String#+ + 1.95 0.013 0.013 0.000 0.000 32144 Hash#merge + 1.80 0.012 0.012 0.000 0.000 25408 MatchData#begin + 1.73 0.011 0.011 0.000 0.000 25408 Date#iso8601 + 1.71 0.019 0.011 0.000 0.007 9185 Array#sort + 1.64 0.011 0.011 0.000 0.000 1 #write + 1.64 0.011 0.011 0.000 0.000 36737 Hash#[]= + 1.48 0.010 0.010 0.000 0.000 64288 User#attributes + 1.43 0.009 0.009 0.000 0.000 64288 User#sessions + 1.28 0.008 0.008 0.000 0.000 32144 Kernel#nil? + 1.28 0.008 0.008 0.000 0.000 50816 String#to_i + 1.25 0.008 0.008 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 1.19 0.008 0.008 0.000 0.000 44783 String#upcase + 1.18 0.008 0.008 0.000 0.000 19175 String#=~ + 1.18 0.008 0.008 0.000 0.000 1 #read + 1.15 0.008 0.008 0.000 0.000 25408 String#[]= + 1.13 0.007 0.007 0.000 0.000 44480 Date#<=> + 1.08 0.015 0.007 0.000 0.007 4592 Array#any? + 0.71 0.008 0.005 0.000 0.003 4592 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.65 0.008 0.004 0.000 0.004 4592 Array#all? + 0.61 0.004 0.004 0.000 0.000 25408 Integer#div + 0.56 0.004 0.004 0.000 0.000 25408 MatchData#end + 0.38 0.002 0.002 0.000 0.000 4593 Array#join + 0.30 0.004 0.002 0.000 0.002 4592 Class#new + 0.29 0.002 0.002 0.000 0.000 1 Array#uniq + 0.27 0.002 0.002 0.000 0.000 9184 Integer#to_s + 0.24 0.002 0.002 0.000 0.000 4592 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.13 0.001 0.001 0.000 0.000 4592 Array#reverse + 0.13 0.001 0.001 0.000 0.000 4592 Array#max + 0.12 0.001 0.001 0.000 0.000 4592 Array#sum + 0.12 0.661 0.001 0.000 0.660 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:48 + 0.10 0.001 0.001 0.000 0.000 4595 Array#count + 0.01 0.661 0.000 0.000 0.661 1 [global]# test.rb:9 + 0.00 0.490 0.000 0.000 0.490 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:36 + 0.00 0.030 0.000 0.000 0.030 2 Enumerable#group_by + 0.00 0.033 0.000 0.000 0.033 1 Object#split_lines /mnt/c/Users/Home/study/task-1/task-1.rb:44 + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data3000000.txt b/reports/flat_cutted/data3000000.txt new file mode 100644 index 00000000..88cd1fca --- /dev/null +++ b/reports/flat_cutted/data3000000.txt @@ -0,0 +1,62 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 59.027836 +Sort by: self_time + + %self total self wait child calls name location + 19.81 32.361 11.695 0.000 20.666 1845237 Array#map + 16.97 28.959 10.014 0.000 18.945 3 Array#each + 13.28 7.838 7.838 0.000 0.000 3000001 String#split + 10.61 9.482 6.260 0.000 3.222 2538692 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:26 + 8.78 5.186 5.186 0.000 0.000 17538692 Array#[] + 3.52 2.078 2.078 0.000 0.000 1915370 String#=~ + 2.71 1.597 1.597 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 2.55 1.503 1.503 0.000 0.000 1 #write + 2.41 1.421 1.421 0.000 0.000 922617 Array#sort + 2.33 2.065 1.375 0.000 0.690 461308 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 1.86 1.101 1.101 0.000 0.000 2538892 String#upcase + 1.86 1.098 1.098 0.000 0.000 1 #read + 1.67 0.988 0.988 0.000 0.000 461309 Hash#[]= + 1.67 2.425 0.983 0.000 1.442 461308 Array#any? + 1.56 0.919 0.919 0.000 0.000 2538692 String#to_i + 1.16 1.069 0.685 0.000 0.384 461308 Class#new + 1.06 0.628 0.628 0.000 0.000 461309 Array#join + 0.97 0.574 0.574 0.000 0.000 1845232 User#sessions + 0.85 1.136 0.500 0.000 0.636 461308 Array#all? + 0.84 0.496 0.496 0.000 0.000 461308 Hash#[] + 0.66 0.390 0.390 0.000 0.000 1 Array#uniq + 0.65 0.384 0.384 0.000 0.000 461308 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.47 0.277 0.277 0.000 0.000 922616 User#attributes + 0.42 0.251 0.251 0.000 0.000 461308 Array#reverse + 0.31 0.182 0.182 0.000 0.000 461308 Array#sum + 0.31 0.180 0.180 0.000 0.000 461308 Array#max + 0.28 0.166 0.166 0.000 0.000 461311 Array#count + 0.27 0.158 0.158 0.000 0.000 461308 Kernel#nil? + 0.17 59.028 0.099 0.000 58.929 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:40 + 0.00 0.000 0.000 0.000 0.000 1 Kernel#p + 0.00 59.028 0.000 0.000 59.028 1 [global]# test.rb:9 + 0.00 6.152 0.000 0.000 6.152 2 Enumerable#group_by + 0.00 0.000 0.000 0.000 0.000 1 String#inspect + 0.00 10.207 0.000 0.000 10.207 1 Object#split_lines /mnt/c/Users/Home/study/task-1/task-1.rb:36 + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data40000.txt b/reports/flat_cutted/data40000.txt new file mode 100644 index 00000000..9c3ed188 --- /dev/null +++ b/reports/flat_cutted/data40000.txt @@ -0,0 +1,73 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 0.863183 +Sort by: self_time + + %self total self wait child calls name location + 20.15 0.680 0.174 0.000 0.506 9 Array#each + 17.23 0.471 0.149 0.000 0.323 67557 Array#map + 10.40 0.184 0.090 0.000 0.094 33859 #parse + 4.74 0.063 0.041 0.000 0.022 33859 Object#parse_session /mnt/c/Users/Home/study/task-1/task-1.rb:26 + 3.82 0.033 0.033 0.000 0.000 233859 Array#[] + 3.57 0.031 0.031 0.000 0.000 40001 String#split + 3.44 0.030 0.030 0.000 0.000 67718 Regexp#match + 3.35 0.029 0.029 0.000 0.000 33859 String#gsub! + 2.69 0.023 0.023 0.000 0.000 92115 Hash#[] + 2.19 0.019 0.019 0.000 0.000 98256 String#+ + 1.98 0.017 0.017 0.000 0.000 42987 Hash#merge + 1.97 0.017 0.017 0.000 0.000 49129 Hash#[]= + 1.75 0.025 0.015 0.000 0.010 12283 Array#sort + 1.75 0.015 0.015 0.000 0.000 33859 MatchData#begin + 1.66 0.014 0.014 0.000 0.000 33859 Date#iso8601 + 1.53 0.013 0.013 0.000 0.000 85974 User#attributes + 1.45 0.013 0.013 0.000 0.000 85974 User#sessions + 1.34 0.012 0.012 0.000 0.000 1 #read + 1.34 0.012 0.012 0.000 0.000 67718 String#to_i + 1.31 0.011 0.011 0.000 0.000 1 JSON::Ext::Generator::GeneratorMethods::Hash#to_json + 1.24 0.011 0.011 0.000 0.000 59685 String#upcase + 1.22 0.011 0.011 0.000 0.000 1 #write + 1.19 0.010 0.010 0.000 0.000 59104 Date#<=> + 1.07 0.019 0.009 0.000 0.009 6141 Array#any? + 1.05 0.009 0.009 0.000 0.000 33859 String#[]= + 1.04 0.009 0.009 0.000 0.000 25626 String#=~ + 0.77 0.010 0.007 0.000 0.004 6141 Object#parse_user /mnt/c/Users/Home/study/task-1/task-1.rb:17 + 0.72 0.006 0.006 0.000 0.000 33859 Integer#div + 0.71 0.006 0.006 0.000 0.000 42987 Kernel#nil? + 0.58 0.005 0.005 0.000 0.000 33859 MatchData#end + 0.57 0.009 0.005 0.000 0.004 6141 Array#all? + 0.39 0.003 0.003 0.000 0.000 6142 Array#join + 0.34 0.003 0.003 0.000 0.000 1 Array#uniq + 0.31 0.005 0.003 0.000 0.002 6141 Class#new + 0.29 0.003 0.003 0.000 0.000 12282 Integer#to_s + 0.25 0.002 0.002 0.000 0.000 6141 User#initialize /mnt/c/Users/Home/study/task-1/task-1.rb:11 + 0.14 0.001 0.001 0.000 0.000 6141 Array#reverse + 0.13 0.001 0.001 0.000 0.000 6141 Array#sum + 0.12 0.001 0.001 0.000 0.000 6141 Array#max + 0.11 0.001 0.001 0.000 0.000 6144 Array#count + 0.06 0.863 0.000 0.000 0.863 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:48 + 0.00 0.863 0.000 0.000 0.863 1 [global]# test.rb:9 + 0.00 0.035 0.000 0.000 0.035 2 Enumerable#group_by + 0.00 0.645 0.000 0.000 0.645 7 Object#collect_stats_from_users /mnt/c/Users/Home/study/task-1/task-1.rb:36 + 0.00 0.040 0.000 0.000 0.040 1 Object#split_lines /mnt/c/Users/Home/study/task-1/task-1.rb:44 + 0.00 0.000 0.000 0.000 0.000 1 #disable :69 + 0.00 0.000 0.000 0.000 0.000 1 JSON::Ext::Generator::State#initialize + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/reports/flat_cutted/data_large.txt b/reports/flat_cutted/data_large.txt new file mode 100644 index 00000000..e69de29b diff --git "a/reports/flat_cutted/data_\320\264\321\204\320\272\320\277\321\203.txt" "b/reports/flat_cutted/data_\320\264\321\204\320\272\320\277\321\203.txt" new file mode 100644 index 00000000..2d85abe6 --- /dev/null +++ "b/reports/flat_cutted/data_\320\264\321\204\320\272\320\277\321\203.txt" @@ -0,0 +1,34 @@ +Measure Mode: wall_time +Thread ID: 260 +Fiber ID: 240 +Total: 0.000543 +Sort by: self_time + + %self total self wait child calls name location + 86.40 0.000 0.000 0.000 0.000 1 #read + 5.07 0.001 0.000 0.000 0.001 1 [global]# test.rb:9 + 4.02 0.000 0.000 0.000 0.000 1 SystemCallError#initialize + 3.45 0.001 0.000 0.000 0.000 1 Object#work /mnt/c/Users/Home/study/task-1/task-1.rb:48 + 0.53 0.000 0.000 0.000 0.000 1 #disable :69 + 0.29 0.000 0.000 0.000 0.000 1 Exception#initialize + 0.13 0.000 0.000 0.000 0.000 1 Exception#backtrace + 0.11 0.000 0.000 0.000 0.000 1 Exception#exception + +* recursively called methods + +Columns are: + + %self - The percentage of time spent in this method, derived from self_time/total_time. + total - The time spent in this method and its children. + self - The time spent in this method. + wait - The amount of time this method waited for other threads. + child - The time spent in this method's children. + calls - The number of times this method was called. + name - The name of the method. + location - The location of the method. + +The interpretation of method names is: + + * MyObject#test - An instance method "test" of the class "MyObject" + * #test - The <> characters indicate a method on a singleton class. + diff --git a/task-1.rb b/task-1.rb index 778672df..9973af5b 100644 --- a/task-1.rb +++ b/task-1.rb @@ -14,19 +14,16 @@ def initialize(attributes:, sessions:) end end -def parse_user(user) - fields = user.split(',') - parsed_result = { +def parse_user(fields) + { 'id' => fields[1], - 'first_name' => fields[2], - 'last_name' => fields[3], + 'full_name' => fields[2] << ' ' << fields[3], 'age' => fields[4], } end -def parse_session(session) - fields = session.split(',') - parsed_result = { +def parse_session(fields) + { 'user_id' => fields[1], 'session_id' => fields[2], 'browser' => fields[3], @@ -35,26 +32,31 @@ def parse_session(session) } end -def collect_stats_from_users(report, users_objects, &block) +def collect_stats_from_users(users_objects, &block) users_objects.each do |user| - user_key = "#{user.attributes['first_name']}" + ' ' + "#{user.attributes['last_name']}" - report['usersStats'][user_key] ||= {} - report['usersStats'][user_key] = report['usersStats'][user_key].merge(block.call(user)) + user_key = user.attributes['full_name'] + @report['usersStats'][user_key] ||= {} + @report['usersStats'][user_key] = @report['usersStats'][user_key].merge(block.call(user)) end end -def work - file_lines = File.read('data.txt').split("\n") +def work(disable_gc: false, file_name: ARGV[0] || 'data.txt') + start_time = Time.now + GC.disable if disable_gc + + file_lines = File.read(file_name).split("\n") users = [] sessions = [] file_lines.each do |line| cols = line.split(',') - users = users + [parse_user(line)] if cols[0] == 'user' - sessions = sessions + [parse_session(line)] if cols[0] == 'session' - end + users << parse_user(cols) if cols[0] == 'user' + sessions << parse_session(cols) if cols[0] == 'session' + end + + @grouped_sessions = sessions.group_by{ |session| session['user_id'] } # Отчёт в json # - Сколько всего юзеров + # - Сколько всего уникальных браузеров + @@ -70,77 +72,51 @@ def work # - Всегда использовал только Хром? + # - даты сессий в порядке убывания через запятую + - report = {} + @report = {} - report[:totalUsers] = users.count + @report[:totalUsers] = users.count # Подсчёт количества уникальных браузеров - uniqueBrowsers = [] - sessions.each do |session| - browser = session['browser'] - uniqueBrowsers += [browser] if uniqueBrowsers.all? { |b| b != browser } - end + unique_browsers = sessions.map { |s| s['browser'] }.uniq - report['uniqueBrowsersCount'] = uniqueBrowsers.count + @report['uniqueBrowsersCount'] = unique_browsers.count - report['totalSessions'] = sessions.count + @report['totalSessions'] = sessions.count - report['allBrowsers'] = - sessions - .map { |s| s['browser'] } - .map { |b| b.upcase } - .sort - .uniq - .join(',') + @report['allBrowsers'] = unique_browsers.map(&:upcase).sort.join(',') # Статистика по пользователям users_objects = [] - + 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) - users_objects = users_objects + [user_object] + user_instance = User.new(attributes: user, sessions: @grouped_sessions[user['id']]) + users_objects = users_objects << user_instance end - - report['usersStats'] = {} + + @report['usersStats'] = {} # Собираем количество сессий по пользователям - collect_stats_from_users(report, users_objects) do |user| - { 'sessionsCount' => user.sessions.count } - end - # Собираем количество времени по пользователям - 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 - # Выбираем самую длинную сессию пользователя - 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 - # Браузеры пользователя через запятую - collect_stats_from_users(report, users_objects) do |user| - { 'browsers' => user.sessions.map {|s| s['browser']}.map {|b| b.upcase}.sort.join(', ') } - end - # Хоть раз использовал IE? - collect_stats_from_users(report, users_objects) do |user| - { 'usedIE' => user.sessions.map{|s| s['browser']}.any? { |b| b.upcase =~ /INTERNET EXPLORER/ } } - end - # Всегда использовал только Chrome? - collect_stats_from_users(report, users_objects) do |user| - { 'alwaysUsedChrome' => user.sessions.map{|s| s['browser']}.all? { |b| b.upcase =~ /CHROME/ } } - end - # Даты сессий через запятую в обратном порядке в формате 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 - File.write('result.json', "#{report.to_json}\n") + collect_stats_from_users(users_objects) do |user| + user_sessions = user.sessions + { + 'sessionsCount' => user_sessions.count, + 'totalTime' => user_sessions.sum {|s| s['time'].to_i}.to_s + ' min.', + 'longestSession' => user_sessions.max_by {|s| s['time'].to_i}['time'].to_s + ' min.', + 'browsers' => user_sessions.map {|s| s['browser'].upcase}.sort.join(', '), + 'usedIE' => user_sessions.any?{|s| s['browser'].upcase =~ /INTERNET EXPLORER/ }, + 'alwaysUsedChrome' => user_sessions.all?{|s| s['browser'].upcase =~ /CHROME/}, + 'dates' => user_sessions.map{|s| Date.strptime(s['date']).iso8601 }.sort.reverse, + } + end + File.write('result.json', "#{@report.to_json}\n") + p Time.now - start_time end class TestMe < Minitest::Test @@ -173,4 +149,5 @@ def test_result 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 diff --git a/test.rb b/test.rb new file mode 100644 index 00000000..526a22fc --- /dev/null +++ b/test.rb @@ -0,0 +1,35 @@ +require 'ruby-prof' +require 'stackprof' +require 'json' +require_relative 'task-1.rb' + +file_name = ARGV[0] || 'data100000.txt' +RubyProf.measure_mode = RubyProf::WALL_TIME +result = RubyProf::Profile.profile do + work(file_name: file_name, disable_gc: false) +end + +# printer = RubyProf::FlatPrinter.new(result) +# printer.print(File.open("reports/flat_cutted/#{file_name.split('.')[0]}.txt", "w+")) + +# printer2 = RubyProf::GraphHtmlPrinter.new(result) +# printer2.print(File.open("reports/graph/#{file_name.split('.')[0]}.html", "w+")) + +# printer3 = RubyProf::CallStackPrinter.new(result) +# printer3.print(File.open("reports/call_stack/#{file_name.split('.')[0]}.html", "w+")) + +printer4 = RubyProf::CallTreePrinter.new(result) + +printer4.print(:path => 'reports/call_tree', :profile => file_name.split('.')[0]) + + +# StackProf.run(mode: :wall, out: "reports/stackprof/#{file_name.split('.')[0]}.dump", interval: 1000) do +# work(disable_gc: true) +# end + + +# profile = StackProf.run(mode: :wall, raw: true) do +# work(file_name: file_name, disable_gc: true) +# end + +# File.write("reports/stackprof_json/#{file_name.split('.')[0]}", JSON.generate(profile)) \ No newline at end of file