gifts2017

Дополнительные материалы к статье "1С:Предприятие 7.7. Оптимизация."

Опубликовал Алексей Константинов (alexk-is) в раздел Программирование - Теория программирования

Разгоняем 1С:Предприятие 7.7. Выжимаем последние соки.
Только качественный контент

Дополнительные материалы к статье "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С:Предприятия 8.2

Замер 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

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ВсеПриемы.zip
.zip 37,44Kb
13.12.12
119
.zip 37,44Kb 119 Скачать
Загрузка библиотек (для базовых 7.7)
.zip 4,29Kb
13.12.12
110
.zip 4,29Kb 110 Скачать
Прием 2
.zip 5,33Kb
01.07.14
123
.zip 5,33Kb 123 Скачать
Прием 3
.zip 5,70Kb
01.07.14
109
.zip 5,70Kb 109 Скачать
Прием 4
.zip 6,76Kb
01.07.14
71
.zip 6,76Kb 71 Скачать
Прием 6
.zip 5,41Kb
01.07.14
50
.zip 5,41Kb 50 Скачать
Прием 7
.zip 5,30Kb
01.07.14
50
.zip 5,30Kb 50 Скачать
Прием 16
.zip 5,24Kb
01.07.14
12
.zip 5,24Kb 12 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сhe Burashka (CheBurator) 11.03.09 00:40
а.. вот еще внеси в свои скрижали (может уже говорил)
Примассовой работе с периодическими значениями использование объекта Периодический дает примерно 25% выгрыш по скорости (по собственным замерам)
alexk-is; +1 Ответить
2. Артур Аюханов (artbear) 20.04.09 13:00
3. Алексей Константинов (alexk-is) 20.04.09 13:19
(2) 1С:Предприятие 7.7. Оптимизация.
Разгоняем 1С:Предприятие 7.7. Выжимаем последние соки. подробнее.
31.01.2009 Обновлено: 15.03.2009

В статье пока ничего не менял. Подправил только сами тесты внутри.

По статье буду менять оформление, а пока рисую разукрашку кода для infostart...
4. loganrus (loganrus) 17.09.09 23:10
хорошо бы все примеры скачать 1 файлом
5. Альтаир (Altair777) 20.10.09 14:08
ихмо, на форме (Прием 16) не хватает еще одной кнопки :)
мало ли кто как захочет оценить ;)
6. Алексей Константинов (alexk-is) 20.10.09 14:30
(5) Странно... У меня все уже есть...
7. Альтаир (Altair777) 20.10.09 14:37
(5) я про кнопочку
ЗапуститьПриложение("....../public/19021/?rate=-1");

специально вставил ...... что бы никто не нажал случайно :)
8. Алексей Константинов (alexk-is) 20.10.09 15:53
(7) Что-то не заработало... Поменяли схему голосования. Перешли на скрипты. Разбираться дальше пока не хочется...
9. Andry Boris (Boris.Andry) 22.01.10 15:55
Можно все примеры в одном файле выложить?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа