Давайте напишем удобную утилиту для внутриязыкового профайлинга. В реальности, конечно, так никто не делает, и используется внешний профайлер (например, dotTrace), но пусть.
Использование должно быть примерно такое:
1 2 3 4 5 6 7 8 9 10 11 12 |
using (Timers.Start("T1")) { // do things 1 using (Timers.Start("T2")) { //do things 2 } using (Timers.Start("T3")) { //do things 3 } } |
Таймер T1 должен оценивать время выполнения do things 1, 2, 3; T2 — do things 2; T3 — do things 3.
Результаты должны складываться в Timers.Report в формате, указанном в файле с тестами в проекте Memory.Timers
1 2 3 4 5 |
// Вставьте сюда финальное содержимое файла Timer.cs using System; using System.Collections.Generic; using System.ComponentModel.Design; |
Стоимость решения этой задачи всего 100 рублей, закажи решения у меня 🙂