Здравствуйте, недавно закончил писать библиотеку по работе с JSON API одной игрушки. Сначала я написал клиент, осуществляющий запросы посредствам net/http. В поле структуры моего клиента был стандартный http.Client. Я получал запрос с помощью NewRequestWithContext, настраивал его и спокойно после прочтения тела иоутилом выгружал в структуру. Сегодня отрефакторил код, заменив стандартный encoding/json на json-iterator. Вместо пакета net/http подключил fasthttp. Кода стало меньше, он стал выглядеть изящнее. Попробовал на деле - ускорился. Вот, что меня волнует:
- Я вырезал context, а он напрямую предназначен для работы с API(по словам одной статьи с соответствующим названием)
- Многие советуют ограничиться стандартным пакетом, если не намечается хайлоад. Некоторые заявляют, что если уж пишешь либу, то делай ее производительной.
1. Стоит ли так заморачиваться по поводу контекста?Действительно ли он так необходим в моей ситуации?
2. Кого слушать? У меня установлен лимитировщик запросов, который пользователь библиотеки сам может настраивать в зависимости от изменений в количествах запросов в определенный промежуток времени от API, а следовательно, что у меня не будет увеличиваться количество запросов в секунду, у меня будет увеличиваться скорость выполнения запроса(одного).
Если честно, то мне нравится, что код преобразовался и что библиотека стала быстрее, но все же хочу поступить правильно.