Вести с полей
Всех с бодрым началом лета.
В 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) будет выложено на этой неделе.