Производительность мобильной платформы
(бесплатная статья по Программированию в 1С)

Другие статьи по программированию:

«Принципы синхронизации данных»

«Как ускорить 1С – Многопоточная обработка данных»

«Мобильная платформа 1С:Предприятие 8 — первые шаги»

Производительность мобильной платформы

Аналогичная статья опубликована на ресурсе infostart.ru.
Текущая версии статьи модифицирована и актуализирована под новые версии (на март 2014 года).

Сегодня поговорим о производительности мобильной платформы на мобильном устройстве. Меня не раз спрашивали про это, и что самое интересное – люди не могли сформулировать вопрос четко. То есть, что значит производительность? Создание документов? Проведение? Удаление? Получение остатков?

Согласитесь, эта задача довольно-таки нетривиальная. Попробую объяснить почему:

  • Мы не можем взять и сослаться на всякие там программы для тестирования, типа AnTuTu и т.д., так как они считают и те коэффициенты, которые не влияют на работу платформы;
  • Очень много зависит от того, с какими данными работают. Например, если используется 5 элементов справочника и 200 документов – это одна цифра, если же используют 200 элементов справочника и 2 документа – это другая. Или нет?
  • А с каким объемом реально работать? Что лучше использовать? Хранить остатки в регистре сведений? Или может в регистре накоплений? А может вообще, как реквизит справочника?
  • Многое зависит и от операционной системы, от SD-карты и т.д.
  • А влияет ли видеокарта на производительность?

Ну и так далее…

Я решил написать свою конфигурацию, которая нацелена именно на то, что бы понять, что подходит для нас.
Конфигурация сконструирована таким образом, что позволяет запускать автотесты с определенными данными, заданными изначально.

Есть предопределенные тесты, по которым я тестирую свое оборудование и рекомендую вам тоже их запускать, они позволят нам найти самые оптимальные устройства.

ВНИМАНИЕ! Не стоит сравнивать тесты, полученные в разных версиях мобильной платформы и разных версиях конфигурации. В конфигурации могут быть ошибки, и если вы их найдете – пишите, будем исправлять.

После прохождения тестов вы можете выгрузить результаты, и прикрепить в виде комментария к статье. По возможности будем обновлять таблицу рейтинга.

Давайте плавно перейдем к описанию этой конфигурации.
Сама по себе конфигурация представляет элементарную конфигурацию по торговле.
Она состоит из:

Структура - конфигурация по торговле

Состав конфигурации Торговля

Это сделано специально, чтобы не выдумывать там всякие умные названия и т.д. И позволяет быстро с эмулировать ваш учет. Так как вы понимаете, что регистр штрихкодов – это не периодический регистр сведений, а регистр Остатков товара – имеет вид Остатки, то просто будет проще понять всю идею.

Приступим.

При запуске вас ожидает вот такое окошко:

Окно - Тестирование

Тут выбирайте Тестирование, вас перебросит на следующее окно:

Запуск автотеста

Тут следует выбрать замер, на текущий момент есть несколько предопределенных замеров:

Выбор параметров автотеста

Вы можете создать и свой вариант с разным количеством и также запустить автотест.
Внизу есть еще два поля – Ник и модель телефона. И кнопка Выгрузить замер.

Так как 1С не может определить модель телефона, то, если вы хотите отправить свой результат в общее обозрение – укажите его самостоятельно. Потом нажимаете на кнопку и вам программа сообщит, куда она выгрузила замер. Файл результата – это просто xml с данными.

Еще ниже есть информация, которая так же выгружается в тот файл. Тут стоит отметить, что 1С, как я понял, не видит всю память телефона, а только свободную память.

Перед запуском – обязательно прочитайте информацию на вкладке Сервисный.
После нажатия на кнопку – программа пойдет работать и выводить вам сервисные сообщения о ходе теста.

Давайте рассмотрим, что делает автотест:

  1. Очистим предыдущие данные этого замера
  2. Очистим базу
  3. Запускаем создание номенклатуры
  4. Запускаем создание штрихкодов
  5. Запускаем создание и проведение документов прихода
  6. Запускаем создание и проведение документов установки цен
  7. Запускаем проверку оборотов
  8. Запускаем проверку остатков
  9. Запускаем проверку среза первых цен
  10. Запускаем проверку среза последних цен
  11. Запускаем Отмену проведения, запись и повторное проведение документов прихода
  12. Запускаем Отмену проведения, запись и повторное проведение документов установки цен
  13. Запускаем Отмену проведения и удаление документов прихода
  14. Запускаем Отмену проведения и удаление документов установки цен
  15. Запускаем очистку регистра штрихкодов
  16. Запускаем удаление номенклатуры
  17. Очистим базу

Однако, вы также можете устраивать свои одиночные проверки без автотеста, для этого перейдите на соответствующие вкладки.

Я их не буду тут рассматривать, сами рассмотрите.
Итак, давайте посмотрим на таблицу результатов для нескольких телефонов:

Результаты тестирования для нескольких телефонов
*Некоторые замеры делал не я, так что не могу ручаться за их «правдивость» :)

Ясное дело, что чем меньше – тем лучше.

Что такое конечный бал? Я не стал ничего выдумывать, и просто взял и сложил все время, затраченное на каждую операцию в миллисекундах. Я посчитал это самым удобных коэффициентом.

Опять-таки, не забываем про разные версии ОС, железа (телефон с одной и той же моделью может быть с разным железом).

Теперь давайте посмотрим графики:

График тестирования производительности мобильных приложений на разных устройствах

График тестирования производительности мобильных приложений на разных устройствах

Хочу обратить внимание на возможные ошибки в конфигурации. И то, что у меня на текущий момент не хватает времени заниматься всем и сразу, поэтому если кто-то захочет развить эту тему дальше и заниматься ею – пишите в личку, обсудим.

Отвечу на некоторые вопросы, которые мне задавали.
Имело бы смысл тестировать быстродействие:

  1. записи:
    • записи чего? Справочника? Документа? Регистра сведений?
    • записи куда? На флеш-память устройства? СД-карту? А СД-карта какого поколения? Запись в оперативную память?
  2. чтения:
    • чтения чего?
    • чтение откуда?
    • чтение какое?
  3. выполнения вычислений:
    • каких? Нахождение элемента по коду? Получение остатков? Срез первых?

Т.е. все сводится к одному и тому же – что и для чего вы собрались тестировать? Если вы хотите купить телефон для себя – ну что ж, читайте новости, сравнивайте синтетические тесты и т.д.

А тут – конечная цель получения устройства для работы с мобильной платформой 1С. Где вы можете симулировать вашу ситуацию на фирме и получить результат.

Кроме этого, есть такое понятие, как оптимизация под Андроид библиотек, которые используют разработчики, да и самого Андроида под устройство.

А теперь попробуйте ответить на вопрос, вот у меня сейчас есть клиент, у него в среднем 200 документов прихода в день, 200 000 записей в регистре штрихкодов, около 25 000 единиц товара, + куча цен.

Вопрос – какое оборудование ему купить?

Т.е. я теперь дал ему список устройств и сказал – вот берешь вот это, оно на 100 у.е. дороже, но работает в 2 раза быстрее, или берешь вот это, оно дешевле, на столько то медленнее и в среднем твоя синхронизация будет занимать столько времени. Если вас это устраивает – берите. Если нет, то берите дороже.

Я надеюсь смог объяснить суть этой статьи. Кроме этого, на основе данных, указанных в ней, я могу сказать, на сколько, в среднем, операции на телефоне занимают больше времени чем на компе.

Это и была основная цель.
Еще могу дополнить, давайте зайдем на специальный сайт и найдем две модели и сравним их:

Samsung Galaxy SIII:

Сравнение двух моделей Samsung Galaxy SIII

Samsung Galaxy Note:

Производительность мабильный приложений - сравнение двух моделей Samsung Galaxy Note
*справедливости ради, замечу, что замеры сняты в разных версия тестов, но я сравнил со своим телефоном – цифры приблизительно те же.

Разница внушительная? По всем параметрам почти в 2 раза! А теперь, не смотря дальше, ответьте мне на такой вопрос – а на сколько быстрее 1С будет работать на S3, чем на Note? В два раза? Три? 10?

Ну что ж, а теперь давайте посмотрим на реальный цифры:

Сравнение двух моделей Samsung Galaxy Note и Galaxy S3

Т.е. с 1С они работаю приблизительно на одной и той же скорости. Вопрос – почему? Ожидали ли вы такого?

И приведу несколько скриншотов из программы:
Главное окно вы уже видели, теперь пройдемся по остальным, начнем с окна справочников:

Производительность мобильных приложений - окно справочников

Выберем Создать и 1000 элементов, нажмем Выполнить. Наш результат:

Производительность мобильных приложений - окно справочников тест

В документах:

Производительность мобильных приложений - в документах

В регистрах сведений:

Производительность мобильных приложений - в регистрах сведений

Регистры накоплений (если нет проведенных документов прихода, то запускать смысла нет):

Производительность мобильных приложений - регистры накоплений

Служебная:

Производительность мабильный приложений - служебная

Теперь посмотрим, как проходит автотест:

Производительность мобильных приложений - автотест

Все данные записываются в регистр и выглядят вот так:

Производительность мобильных приложений - замеры

Если еще остались вопросы – пишите.

Конфигурацию для тестирования скачивайте по ссылке (файл .cf): //fs.kursypo1c.ru/free/articles/1cv8-mobile/TestingPlatform.rar

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.


Статья по программированию - в PDF-формате

Статья в PDF-формате

Вы можете скачать эту статью в формате PDF по следующей ссылке: Ссылка доступна для зарегистрированных пользователей)

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.

Комментарии / обсуждение (21):

  1. mrmurom

    >После прохождения тестов вы можете выгрузить результаты, и >прикрепить в виде комментария к статье. По возможности будем >обновлять таблицу рейтинга.

    А где можно посмотреть эту таблицу с тестами? А то в статье про нее написано но нигде её нет. Кроме таблицы с примером.

    • Поддержка курса по EDT

      Вы про результат вашего устройства? Или таблицу с результатами в статье, если в статье, то вот она (ссылка).
      В результаты вашего теста – находятся в регистре.

      • mrmurom

        Я хотел посмотреть на результаты тестирования других телефонов, планшетов. Думал их будет больше :) НО…что есть то есть.
        Кстати apk файл с конфигурацией что в первом модуле полного курса разработки мобильного приложения не устанавливается (на HTC ONE M7 4.4.2). Пишет про ошибку синтаксиса что-то.

        • Поддержка курса по EDT

          Ну у меня нет на руках кучи устройств. Замерьте результаты и кидайте в каменты, так со временем соберем базу :)
          На самом деле суть тестов сводится к тому, что новизна и крутость смартфона – не всегда играют роль в случае 1С.

  2. Andranik

    Доброго времени суток) Не нашел ссылки на конфигурацию с тестами. А на инфостарте не хватает стартмани( Поделитесь ?

  3. MarinaS

    Отличная статья! Все понятно написано! Спасибо!

    И вопрос: где можно скачать данное приложение? :)

  4. wa4

    Из статьи я понял:
    1) что она скопирована с инфорстарта
    2) что Дмитрий молодец и, отвергнув существующие велосипеды по измерению производительности, написал свой, на 1С.
    3) какие картинки выдаёт вилосипед Дмитрия
    4) Дмитрий предлагает считать производительность в милисекундах

    Из статьи я НЕ понял:
    1) Где скачать эту конфигурацию? (или писать свою такую же?)
    2) Следствие из первого: “После прохождения тестов вы можете выгрузить результаты, и прикрепить в виде комментария к статье.” Результаты своего велосипеда ?
    3) Ответы на вопросы:
    Очень много зависит от того, с какими данными работают Или нет?
    А с каким объемом реально работать? Что лучше использовать? Хранить остатки в регистре сведений? Или может в регистре накоплений? А может вообще, как реквизит справочника?
    Многое зависит и от операционной системы, от SD-карты и т.д.
    А влияет ли видеокарта на производительность?
    с 1С они работаю приблизительно на одной и той же скорости. Вопрос – почему? Ожидали ли вы такого?
    4) На какие физические характеристики устройства смотреть? Или производительность в предлагаемых попугаях не зависит от храктеристик устройства и главное, чтобы там было написано Леново или Самсунг?

    И окончательно был запутан сменой векторов с более дорогой -производительнее (утверждение про 100 у е), на -менее дорогой – производительнее (старый флагман, по логике, дешевле нового, а значения времён таблице- меньше)

    Вывод.
    Статья не имеет образовательной направленности и на хабре могла бы быть в разделе “Я пиарюсь”

    • Поддержка курса по EDT

      1.1 Скопирована и дополнена, кроме этого – это моя статья на инфостарте :) Так она не просто “скопирована”
      1.2 Читайте внимательней, и вы получите ответ на вопрос “почему Дмитрий написал свой велосипед” :)
      1.3 Учитесь работать с графиками и делать вывод. Тем более вывод я так же даю.
      1.4 А Вы предлагаете в fps? Или еще в чем то? Когда надо ответить на вопрос – сколько времени будет загружаться 500 элементов справочника – лучше сказать какую то левую цифру, или реальное время?

      2.1 Скоро добавят. Как то случайно упустили. Спасибо что подсказали.
      2.2 Вы абсолютно правы, и я их добавлю в таблицу, таким образом – при выборе устройства, можно будет смотреть какое лучше всего подойдет.
      2.3 Смотрите таблицы. Все зависит от устройства и времени, которое вы можете позволить на загрузку данных.
      2.4 А таблички две не видно разве? Попробуйте обновить страницу. может они не отобразились. Там таблички с производительностью в попугаях от программы синтетических тестов.

      Вывод, ну если вы не смогли сделать вывод, когда вам указали, что на S3 (за 500-600уе) и на Леново (за 200уе) 1С работает с одинаковой скоростью, то я даже не знаю что вам подсказать.

      Надеюсь я смог ответить развернуто на ваш отзыв.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.