Вести с полей

Всех с бодрым началом лета.

В IBProvider проведена очередная серия обновлений исходного кода. Устранил вещи, об которые начал спотыкаться мозг.

Основная суть — зачистка и переработка интерфейсов принимающих строковые значения. Если совсем просто, то вместо «const char*» и «const std::string&» теперь используется structure::t_const_str_box (аналог std::string_view).

В процессе переработки чуть было не наступил на грабли. Так что, в некоторых случаях, методы, принимающие указатели вида «const char*», пришлось сохранить.

После всех этих изменений, бинарник провайдера (x64) потяжелел приблизительно на 40KB. Это было ожидаемо, но все равно неприятно. Назад откатывать не стал — оптимизировал другие конструкции (-10KB).

Судя по результатам тестирования, функциональность не поломалась. Общая производительность тоже не просела. Даже стало немного быстрее:

Было

[16.05.2020 15:51:13] [summary] [TESTS]
[16.05.2020 15:51:13] [summary] EXECUTED      : 703686
[16.05.2020 15:51:13] [summary] SUCCEEDED     : 703630
[16.05.2020 15:51:13] [summary] FAILED        : 0
[16.05.2020 15:51:13] [summary] WITH WARNINGS : 56 [ 82 warning(s) ]
[16.05.2020 15:51:13] [summary] 
[16.05.2020 15:51:13] [summary] - - - - - - - - - - - - - - - - - - - - - -
[16.05.2020 15:51:13] [summary] [TEST TIMES]
[16.05.2020 15:51:13] [summary] REAL          : 4191257823522 [4 day(s)20:25:25.7823522]
[16.05.2020 15:51:13] [summary] USER          : 822947500000  [22:51:34.7500000]
[16.05.2020 15:51:13] [summary] KERNEL        : 337996562500  [09:23:19.6562500]
[16.05.2020 15:51:13] [summary] TOTAL         : 1160944062500 [1 day(s)08:14:54.4062500]

Стало

[02.06.2020 06:05:50] [summary] [TESTS]
[02.06.2020 06:05:50] [summary] EXECUTED      : 703686
[02.06.2020 06:05:50] [summary] SUCCEEDED     : 703628
[02.06.2020 06:05:50] [summary] FAILED        : 1 [ 2 error(s) ] <--- привет от FB.
[02.06.2020 06:05:50] [summary] WITH WARNINGS : 57 [ 75 warning(s) ]
[02.06.2020 06:05:50] [summary] 
[02.06.2020 06:05:50] [summary] - - - - - - - - - - - - - - - - - - - - - -
[02.06.2020 06:05:50] [summary] [TEST TIMES]
[02.06.2020 06:05:50] [summary] REAL          : 3935194767393 [4 day(s)13:18:39.4767393]
[02.06.2020 06:05:50] [summary] USER          : 800231406250  [22:13:43.1406250]
[02.06.2020 06:05:50] [summary] KERNEL        : 325012343750  [09:01:41.2343750]
[02.06.2020 06:05:50] [summary] TOTAL         : 1125243750000 [1 day(s)07:15:24.3750000]

Все это ускорение, конечно, условно. Но все равно приятно.

Если все сложится благоприятно (основное тестирование закончится только завтра), то новое обновление провайдера (v5.18) будет выложено на этой неделе.

Leave a Comment