- Ofrecer versión del script con xh y jtc - Explicación de porque usar la nueva version del script es mejor - + Ejecutable jtc - ppL
1.4 KiB
1.4 KiB
cURL/jq o xh/jtc?
Bueno, quise hacer otra version del script usando diferentes programas, me di cuenta que jq usaba mucho CPU para sortear (del ingles sort) el archivo .json necesario para detectar si el streamer esta en vivo o no.
Entonces busque por alternativas y encontré xh (Alternativa a cURL hecha en Rust 🏳⚧️) y jtc (Alternativa a jq hecha en C++).
Luego me hice a hacer unos benchmarks usando hyperfine y los tiempos y el uso de CPU fueron menores a las herramientas que generalmente se usan por defecto (cURL y jq).
⚙ Benchmarks
cURL y jq
curl -sS -X GET "https://api.twitch.tv/helix/streams?user_login=Suwie" -H "Authorization: Bearer $twitchauth" -H "Client-Id: $clientid" | jq -r '.data[].type'
xh y jtc
xh GET "https://api.twitch.tv/helix/streams?user_login=Suwie" "Authorization: Bearer $twitchauth" "Client-Id: $clientid" -b | ./jtc -w '[data][:][type]'
Los tiempos de ejecución y uso de CPU son exponencialmente menores a curl y jq con una diferencia de ~150ms.
Entonces si vas a usar este script, es mejor usar la nueva version por ser exponencialmente mas efectiva.