Только качественный контент |
Дополнительные материалы к статье "1С:Предприятие 7.7. Оптимизация". Добавил несколько тестов по описанным в статье приемам. Я считаю, что не стоит на слово верить однозначным утверждениям и поэтому предлагаю проверить возможный эффект от применения описанных приемов или отсутствие эффекта...
Прием 2. В данном тесте для замера времени исполнения используется недокументированная функция _GetPerformanceCounter().
Тест построен на чтении метаданных и работает в конфигурациях имеющих перечисления.
Замер 4 точки. Отрабатывается 8 строк кода, содержащих 4 точки в коде.
Замер 5 точек. Отрабатывается 7 строк кода, содержащих 5 точки в коде.
Функционально результат выполнения обоих замеров одинаковый.
Прием 3. В данном тесте для замера времени исполнения используется недокументированная функция _GetPerformanceCounter().
Тест построен на создании объектов СписокЗначений и ТаблицаЗначений с использованием 3 способов.
Замер 1. Применение метода Выгрузить() для пустого объекта
Замер 2. Применение команды ЗначениеИзСтрокиВнутр()
Замер 3. Применение команды СоздатьОбъект()
Функционально результат выполнения всех замеров одинаковый.
В тестах используются библиотеки turbobl.dll и 1cpp.dll.
Эффект применения Прием 1 можно посмотреть в Прием 2.ert и Прием 3.ert. Для этого сравните результаты выполнения тестов до и после загрузки библиотек.
[12/02/2009]
Добавил тест Прием 4. Данный тест предназначен для компоненты Расчет и настроен под ЗиК.
В данном тесте для замера времени исполнения используется недокументированная функция _GetPerformanceCounter().
Тест построен на удалении и записи данных в журнал расчетов Зарплата.
Замер 1. Один объект на удаление, другой на добавление.
Замер 2. Один объект на удаление и добавление.
Функционально результат выполнения обоих замеров одинаковый.
[17/02/2009]
Прием 6. В данном тесте для замера времени исполнения используется недокументированная функция _GetPerformanceCounter().
Тест построен на циклической проверке вхождения элементов одного списка в другой список. Оба списка абсолютно одинаковые и не изменяются во время выполнения замеров.
Замер НайтиЗначение. Отрабатывается 8 строк кода с командой поиска НайтиЗначение().
Замер Принадлежит. Отрабатывается 8 строк кода с командой поиска Принадлежит().
Функционально результат выполнения обоих замеров одинаковый.
Прием 7. В данном тесте для замера времени исполнения используется недокументированная функция _GetPerformanceCounter().
Тест построен на циклическом вызове 3 процедур с параметром и 3 процедур без параметра.
Замер без параметра. При вызове процедур передача данных через переменные формы.
Замер с параметром. При вызове процедур передача данных через параметры процедур.
Функционально результат выполнения обоих замеров одинаковый.
[20/10/2009]
Прием 16. В данном тесте для замера времени исполнения используется недокументированная функция _GetPerformanceCounter().
Тест построен на циклической сборке результирующей строки длиной 150000 символов из составляющих строк длиной по 15 символов.
Замер Большие куски. Отрабатывается 11 строк кода с использованием буферной переменной.
Замер Маленькие куски. Отрабатывается 5 строк кода.
Функционально результат выполнения обоих замеров одинаковый.
[26/03/2010]
Продолжение темы: практическое применение приемов 9, 10, 11