Другие статьи по программированию:
«Принципы синхронизации данных»
«Как ускорить 1С – Многопоточная обработка данных»
«Мобильная платформа 1С:Предприятие 8 — первые шаги»
Производительность мобильной платформы
Текущая версии статьи модифицирована и актуализирована под новые версии (на март 2014 года).
Сегодня поговорим о производительности мобильной платформы на мобильном устройстве. Меня не раз спрашивали про это, и что самое интересное – люди не могли сформулировать вопрос четко. То есть, что значит производительность? Создание документов? Проведение? Удаление? Получение остатков?
Согласитесь, эта задача довольно-таки нетривиальная. Попробую объяснить почему:
- Мы не можем взять и сослаться на всякие там программы для тестирования, типа AnTuTu и т.д., так как они считают и те коэффициенты, которые не влияют на работу платформы;
- Очень много зависит от того, с какими данными работают. Например, если используется 5 элементов справочника и 200 документов – это одна цифра, если же используют 200 элементов справочника и 2 документа – это другая. Или нет?
- А с каким объемом реально работать? Что лучше использовать? Хранить остатки в регистре сведений? Или может в регистре накоплений? А может вообще, как реквизит справочника?
- Многое зависит и от операционной системы, от SD-карты и т.д.
- А влияет ли видеокарта на производительность?
Ну и так далее…
Я решил написать свою конфигурацию, которая нацелена именно на то, что бы понять, что подходит для нас.
Конфигурация сконструирована таким образом, что позволяет запускать автотесты с определенными данными, заданными изначально.
Есть предопределенные тесты, по которым я тестирую свое оборудование и рекомендую вам тоже их запускать, они позволят нам найти самые оптимальные устройства.
ВНИМАНИЕ! Не стоит сравнивать тесты, полученные в разных версиях мобильной платформы и разных версиях конфигурации. В конфигурации могут быть ошибки, и если вы их найдете – пишите, будем исправлять.
После прохождения тестов вы можете выгрузить результаты, и прикрепить в виде комментария к статье. По возможности будем обновлять таблицу рейтинга.
Давайте плавно перейдем к описанию этой конфигурации.
Сама по себе конфигурация представляет элементарную конфигурацию по торговле.
Она состоит из:
Это сделано специально, чтобы не выдумывать там всякие умные названия и т.д. И позволяет быстро с эмулировать ваш учет. Так как вы понимаете, что регистр штрихкодов – это не периодический регистр сведений, а регистр Остатков товара – имеет вид Остатки, то просто будет проще понять всю идею.
Приступим.
При запуске вас ожидает вот такое окошко:
Тут выбирайте Тестирование, вас перебросит на следующее окно:
Тут следует выбрать замер, на текущий момент есть несколько предопределенных замеров:
Вы можете создать и свой вариант с разным количеством и также запустить автотест.
Внизу есть еще два поля – Ник и модель телефона. И кнопка Выгрузить замер.
Так как 1С не может определить модель телефона, то, если вы хотите отправить свой результат в общее обозрение – укажите его самостоятельно. Потом нажимаете на кнопку и вам программа сообщит, куда она выгрузила замер. Файл результата – это просто xml с данными.
Еще ниже есть информация, которая так же выгружается в тот файл. Тут стоит отметить, что 1С, как я понял, не видит всю память телефона, а только свободную память.
Перед запуском – обязательно прочитайте информацию на вкладке Сервисный.
После нажатия на кнопку – программа пойдет работать и выводить вам сервисные сообщения о ходе теста.
Давайте рассмотрим, что делает автотест:
- Очистим предыдущие данные этого замера
- Очистим базу
- Запускаем создание номенклатуры
- Запускаем создание штрихкодов
- Запускаем создание и проведение документов прихода
- Запускаем создание и проведение документов установки цен
- Запускаем проверку оборотов
- Запускаем проверку остатков
- Запускаем проверку среза первых цен
- Запускаем проверку среза последних цен
- Запускаем Отмену проведения, запись и повторное проведение документов прихода
- Запускаем Отмену проведения, запись и повторное проведение документов установки цен
- Запускаем Отмену проведения и удаление документов прихода
- Запускаем Отмену проведения и удаление документов установки цен
- Запускаем очистку регистра штрихкодов
- Запускаем удаление номенклатуры
- Очистим базу
Однако, вы также можете устраивать свои одиночные проверки без автотеста, для этого перейдите на соответствующие вкладки.
Я их не буду тут рассматривать, сами рассмотрите.
Итак, давайте посмотрим на таблицу результатов для нескольких телефонов:
*Некоторые замеры делал не я, так что не могу ручаться за их «правдивость» :)
Ясное дело, что чем меньше – тем лучше.
Что такое конечный бал? Я не стал ничего выдумывать, и просто взял и сложил все время, затраченное на каждую операцию в миллисекундах. Я посчитал это самым удобных коэффициентом.
Опять-таки, не забываем про разные версии ОС, железа (телефон с одной и той же моделью может быть с разным железом).
Теперь давайте посмотрим графики:
Хочу обратить внимание на возможные ошибки в конфигурации. И то, что у меня на текущий момент не хватает времени заниматься всем и сразу, поэтому если кто-то захочет развить эту тему дальше и заниматься ею – пишите в личку, обсудим.
Отвечу на некоторые вопросы, которые мне задавали.
Имело бы смысл тестировать быстродействие:
- записи:
- записи чего? Справочника? Документа? Регистра сведений?
- записи куда? На флеш-память устройства? СД-карту? А СД-карта какого поколения? Запись в оперативную память?
- чтения:
- чтения чего?
- чтение откуда?
- чтение какое?
- выполнения вычислений:
- каких? Нахождение элемента по коду? Получение остатков? Срез первых?
Т.е. все сводится к одному и тому же – что и для чего вы собрались тестировать? Если вы хотите купить телефон для себя – ну что ж, читайте новости, сравнивайте синтетические тесты и т.д.
А тут – конечная цель получения устройства для работы с мобильной платформой 1С. Где вы можете симулировать вашу ситуацию на фирме и получить результат.
Кроме этого, есть такое понятие, как оптимизация под Андроид библиотек, которые используют разработчики, да и самого Андроида под устройство.
А теперь попробуйте ответить на вопрос, вот у меня сейчас есть клиент, у него в среднем 200 документов прихода в день, 200 000 записей в регистре штрихкодов, около 25 000 единиц товара, + куча цен.
Вопрос – какое оборудование ему купить?
Т.е. я теперь дал ему список устройств и сказал – вот берешь вот это, оно на 100 у.е. дороже, но работает в 2 раза быстрее, или берешь вот это, оно дешевле, на столько то медленнее и в среднем твоя синхронизация будет занимать столько времени. Если вас это устраивает – берите. Если нет, то берите дороже.
Я надеюсь смог объяснить суть этой статьи. Кроме этого, на основе данных, указанных в ней, я могу сказать, на сколько, в среднем, операции на телефоне занимают больше времени чем на компе.
Это и была основная цель.
Еще могу дополнить, давайте зайдем на специальный сайт и найдем две модели и сравним их:
Samsung Galaxy SIII:
Samsung Galaxy Note:
*справедливости ради, замечу, что замеры сняты в разных версия тестов, но я сравнил со своим телефоном – цифры приблизительно те же.
Разница внушительная? По всем параметрам почти в 2 раза! А теперь, не смотря дальше, ответьте мне на такой вопрос – а на сколько быстрее 1С будет работать на S3, чем на Note? В два раза? Три? 10?
Ну что ж, а теперь давайте посмотрим на реальный цифры:
Т.е. с 1С они работаю приблизительно на одной и той же скорости. Вопрос – почему? Ожидали ли вы такого?
И приведу несколько скриншотов из программы:
Главное окно вы уже видели, теперь пройдемся по остальным, начнем с окна справочников:
Выберем Создать и 1000 элементов, нажмем Выполнить. Наш результат:
В регистрах сведений:
Регистры накоплений (если нет проведенных документов прихода, то запускать смысла нет):
Служебная:
Теперь посмотрим, как проходит автотест:
Все данные записываются в регистр и выглядят вот так:
Если еще остались вопросы – пишите.
Конфигурацию для тестирования скачивайте по ссылке (файл .cf): //fs.kursypo1c.ru/free/articles/1cv8-mobile/TestingPlatform.rar
PDF-версия статьи для участников группы ВКонтакте
Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Статья в PDF-формате
Вы можете скачать эту статью в формате PDF по следующей ссылке: Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
>После прохождения тестов вы можете выгрузить результаты, и >прикрепить в виде комментария к статье. По возможности будем >обновлять таблицу рейтинга.
А где можно посмотреть эту таблицу с тестами? А то в статье про нее написано но нигде её нет. Кроме таблицы с примером.
Вы про результат вашего устройства? Или таблицу с результатами в статье, если в статье, то вот она (ссылка).
В результаты вашего теста – находятся в регистре.
Я хотел посмотреть на результаты тестирования других телефонов, планшетов. Думал их будет больше :) НО…что есть то есть.
Кстати apk файл с конфигурацией что в первом модуле полного курса разработки мобильного приложения не устанавливается (на HTC ONE M7 4.4.2). Пишет про ошибку синтаксиса что-то.
Ну у меня нет на руках кучи устройств. Замерьте результаты и кидайте в каменты, так со временем соберем базу :)
На самом деле суть тестов сводится к тому, что новизна и крутость смартфона – не всегда играют роль в случае 1С.
Спасибо.
Большое спасибо!
Вот это работа! Спасибо
А где данную конфигурацию можно взять?
Скоро добавим
Добавили ссылку внизу статьи.
Очень интересно!
Добрый день, а где можно конфигурацию для тестирования взять ?
Скоро добавим
Доброго времени суток) Не нашел ссылки на конфигурацию с тестами. А на инфостарте не хватает стартмани( Поделитесь ?
Скоро добавим
А где можно взять конфигурацию для тестирования то?
Скоро добавим
Отличная статья! Все понятно написано! Спасибо!
И вопрос: где можно скачать данное приложение? :)
Скоро добавим
Из статьи я понял:
1) что она скопирована с инфорстарта
2) что Дмитрий молодец и, отвергнув существующие велосипеды по измерению производительности, написал свой, на 1С.
3) какие картинки выдаёт вилосипед Дмитрия
4) Дмитрий предлагает считать производительность в милисекундах
Из статьи я НЕ понял:
1) Где скачать эту конфигурацию? (или писать свою такую же?)
2) Следствие из первого: “После прохождения тестов вы можете выгрузить результаты, и прикрепить в виде комментария к статье.” Результаты своего велосипеда ?
3) Ответы на вопросы:
Очень много зависит от того, с какими данными работают Или нет?
А с каким объемом реально работать? Что лучше использовать? Хранить остатки в регистре сведений? Или может в регистре накоплений? А может вообще, как реквизит справочника?
Многое зависит и от операционной системы, от SD-карты и т.д.
А влияет ли видеокарта на производительность?
с 1С они работаю приблизительно на одной и той же скорости. Вопрос – почему? Ожидали ли вы такого?
4) На какие физические характеристики устройства смотреть? Или производительность в предлагаемых попугаях не зависит от храктеристик устройства и главное, чтобы там было написано Леново или Самсунг?
И окончательно был запутан сменой векторов с более дорогой -производительнее (утверждение про 100 у е), на -менее дорогой – производительнее (старый флагман, по логике, дешевле нового, а значения времён таблице- меньше)
Вывод.
Статья не имеет образовательной направленности и на хабре могла бы быть в разделе “Я пиарюсь”
1.1 Скопирована и дополнена, кроме этого – это моя статья на инфостарте :) Так она не просто “скопирована”
1.2 Читайте внимательней, и вы получите ответ на вопрос “почему Дмитрий написал свой велосипед” :)
1.3 Учитесь работать с графиками и делать вывод. Тем более вывод я так же даю.
1.4 А Вы предлагаете в fps? Или еще в чем то? Когда надо ответить на вопрос – сколько времени будет загружаться 500 элементов справочника – лучше сказать какую то левую цифру, или реальное время?
2.1 Скоро добавят. Как то случайно упустили. Спасибо что подсказали.
2.2 Вы абсолютно правы, и я их добавлю в таблицу, таким образом – при выборе устройства, можно будет смотреть какое лучше всего подойдет.
2.3 Смотрите таблицы. Все зависит от устройства и времени, которое вы можете позволить на загрузку данных.
2.4 А таблички две не видно разве? Попробуйте обновить страницу. может они не отобразились. Там таблички с производительностью в попугаях от программы синтетических тестов.
Вывод, ну если вы не смогли сделать вывод, когда вам указали, что на S3 (за 500-600уе) и на Леново (за 200уе) 1С работает с одинаковой скоростью, то я даже не знаю что вам подсказать.
Надеюсь я смог ответить развернуто на ваш отзыв.