1. C# / Говнокод #1984

    +134.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    //endExec  - время окончания выполнения операции в миллисекундах
    //startExec  - время окончания выполнения операции в миллисекундах
    //timeInTable - среднее время за которое выполняется операция
    //count  - количество выполненных операций
    //newTime - среднее время выполнения с учётом только что выполненной операции
    
    DateTime startExec = DateTime.Now;
    //выполнение операции
    DateTime endExec = DateTime.Now;
    
                long currentTime = Convert.ToInt64((endExec - startExec).TotalSeconds);
                long timeInTable = report.RptTimeToRun;
                long count = report.RptCountRan;
                long newTime = timeInTable*(count/(count + 1)) + currentTime/(count + 1);

    расчёт среднего времени выполнения операции.
    кто мне скажет где здесь говнокод получит плюсег )))

    Запостил: Ztranger, 16 Октября 2009

    Комментарии (17) RSS

    • Вычисление newTime не приведено к общему знаменателю? )))))))
      Ответить
    • Целочисленное деление?
      Ответить
      • Ага точно!
        Ответить
        • где плюсик?
          Ответить
          • я ставил, видимо ктото минус нажал. я не жадный
            Ответить
        • Я просто сам относительно недавно сталкивался с таким же кодом в этой формуле нахождения среднего. Так что Вы не одни. =)
          Ответить
    • Не использование StopWatcher...
      Ответить
      • Stopwatch + FileSystemWatcher = StopWatcher :)
        Ответить
      • ну как же:
        - StopWatch не "наш" метод...
        тут просто незнание BCL...
        Ответить
    • считается время работы не процесса (хотя правильнее считать время работы потока), а всей системы
      Ответить
      • вы к чему это вообще?
        Ответить
        • к тому, что системе работает еще куча процессов, и ваш вариант счиатет их их время работы
          Ответить
          • в конкретной задаче необходимо было посчитать время выполнения с учётом загруженности процессора, так что тут всё правильно.
            Ответить
    • Надо было использовать rtdsc имхо
      Ответить
      • не нужно лезть в дебри. Пробовали использовать на многоядерных машинах? спасибо хоть патчи пишут иногда)))
        из пушки по воробьям в данном случае.
        Ответить
    • автор долбаеп и всех запутал, говнокод не в каком-то там делении, а в том, что из разницы буерутся целые секунды, а не миллисекунды, как хотели комментарии к коду
      Ответить
      • комменты писал по памяти для того чтобы алгоритм был понятен. должны были быть секунды. ошибся в комментах. косяк именно в делении. так что сам долбаёп.
        Ответить

    Добавить комментарий