Сравнение производительности FBA Toolkit c мобильной платформой 1С 8.3

Вариант В

Наименование теста

Количественный показатель

Оптимизация выкл
чч:мм:сс.мс

Оптимизация вкл
чч:мм:сс.мс

Очистка базы

-

743

8.362

Создание номенклатуры

1000

8.797

189

Создание штрихкодов

6000

1:09.351

1.516

Создание документов “Приход”

100, в ТЧ – 500

9:39.304

8.120

Создание документов “Установка цен”

10, в ТЧ – 500

57.181

871

Заполнение регистра “Цены номенклатуры”

1000

14.382

234

Срез первых по 1 номенклатуре

-

10

10

Срез последних по 1 номенклатуре

-

7

9

Пометка на удаление всех док “Приход” курсором

100

1.080

835

Пометка на удаление всех док “Установка цен” (выборка)

10

78

5

Удаление всей номенклатуры

65

49

Очистка регистра штрихкодов

325

268

Общее время

-

00:12:11:323 (731323)

00:00:20.468

Вариант С

Наименование теста

Количественный показатель

Оптимизация выкл
чч:мм:сс.мс

Оптимизация вкл
чч:мм:сс.мс

Очистка базы

-

46.225

45.432

Создание номенклатуры

10000

1:42.626

1.924

Создание штрихкодов

60000

17:36.336

59.918

Создание документов “Приход”

200, в ТЧ – 500

17:43.866

19.353

Создание документов “Установка цен”

20, в ТЧ – 1000

3:28.033

3.695

Заполнение регистра “Цены номенклатуры”

10000

2:42.276

2.209

Срез первых по 1 номенклатуре

-

64

77

Срез последних по 1 номенклатуре

-

61

73

Пометка на удаление всех док “Приход” курсором

200

1.753

511

Пометка на удаление всех док “Установка цен” (выборка)

20

189

006

Удаление всей номенклатуры

303

235

Очистка регистра штрихкодов

3.112

2.533

Общее время

-

00:44:04.844 (2644844)

2:15:966

Вариант D

Наименование теста

Количественный показатель

Оптимизация выкл
чч:мм:сс.мс

Оптимизация вкл
чч:мм:сс.мс

Очистка базы

-

1:51.031

44.325

Создание номенклатуры

10000

1:31:022

1.787

Создание штрихкодов

120000

30:22:738

1:11.579

Создание документов “Приход”

200, в ТЧ – 1000

34:31:577

41.862

Создание документов “Установка цен”

100, в ТЧ – 1000

16:49.515

19.287

Заполнение регистра “Цены номенклатуры”

10000

2:25.624

2.651

Срез первых по 1 номенклатуре

-

59

85

Срез последних по 1 номенклатуре

-

76

68

Пометка на удаление всех док “Приход” курсором

200

1.700

310

Пометка на удаление всех док “Установка цен” (выборка)

100

727

10

Удаление всей номенклатуры

290

273

Очистка регистра штрихкодов

6.809

5.608

Общее время

-

1:27:41.168 (5261168)

00:03:07.845 (187845)

Примечания по операциям

  • “Очистка базы” – очищается объем заполненный предыдущим тестом
  • “Срез первых/последних” – оптимизация SQL не применяется (т.к это сделано изначально)

Бонус

Замер выборки всех данных и конвертация в JSON для последующей отправки на сервер

Вариант А

00:00:28.204 (28204)

Вариант D

00:29:34.206 (1774206)

Выводы

При использовании движка FBA Toolkit в штатном режиме (через OrmLite) он немного проигрывает мобильной платформе 1С по производительности. При увеличении объема обрабатываемых данных этот проигрыш увеличивается. Впрочем, если для вариантов A и B результаты вполне приемлемые, то для C и D уже нет.

Хотя и сложно представить реальный сценарий использования аналогичный тестам C и D, но если это потребуется, то с помощью FBA эту задачу можно решить. Здесь на помощь приходят прямые запросы к базе данных. Если планируете массовую запись/чтение больших объемов данных лучше сразу использовать этот вариант, производительность увеличивается в десятки, а то и в сотни раз.

Для мобильной платформы 1С аналогичной возможности нет.

Желающие могут принять участие в тестировании, для этого достаточно скачать и установить на свой android приложение fba_sample6_perfomance-debug.apk (или собрать самостоятельно из исходников).

Похожие записи: