← Commit list

0abb72210e

Stefan Eissing
Stefan Eissing
2025-11-14
SUCCESS Duration: 154s

Subject

getinfo: improve perf in debug mode

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/getinfo.c+58 -55
@@ -204,31 +204,31 @@ static CURLcode getinfo_long(struct Curl_easy *data, CURLINFO info,
} lptr;
#ifdef DEBUGBUILD
- const char *timestr = getenv("CURL_TIME");
- if(timestr) {
- curl_off_t val;
- curlx_str_number(&timestr, &val, TIME_T_MAX);
- switch(info) {
- case CURLINFO_LOCAL_PORT:
+ const char *envstr;
+
+ /* use another variable for this to allow different values */
+ switch(info) {
+ case CURLINFO_LOCAL_PORT:
+ envstr = getenv("CURL_TIME");
+ if(envstr) {
+ curl_off_t val;
+ curlx_str_number(&envstr, &val, TIME_T_MAX);
*param_longp = (long)val;
return CURLE_OK;
- default:
- break;
}
- }
- /* use another variable for this to allow different values */
- timestr = getenv("CURL_DEBUG_SIZE");
- if(timestr) {
- curl_off_t val;
- curlx_str_number(&timestr, &val, LONG_MAX);
- switch(info) {
- case CURLINFO_HEADER_SIZE:
- case CURLINFO_REQUEST_SIZE:
+ break;
+ case CURLINFO_HEADER_SIZE:
+ case CURLINFO_REQUEST_SIZE:
+ envstr = getenv("CURL_DEBUG_SIZE");
+ if(envstr) {
+ curl_off_t val;
+ curlx_str_number(&envstr, &val, LONG_MAX);
*param_longp = (long)val;
return CURLE_OK;
- default:
- break;
}
+ break;
+ default:
+ break;
}
#endif
@@ -381,28 +381,29 @@ static CURLcode getinfo_offt(struct Curl_easy *data, CURLINFO info,
curl_off_t *param_offt)
{
#ifdef DEBUGBUILD
- const char *timestr = getenv("CURL_TIME");
- if(timestr) {
- curl_off_t val;
- curlx_str_number(&timestr, &val, CURL_OFF_T_MAX);
-
- switch(info) {
- case CURLINFO_TOTAL_TIME_T:
- case CURLINFO_NAMELOOKUP_TIME_T:
- case CURLINFO_CONNECT_TIME_T:
- case CURLINFO_APPCONNECT_TIME_T:
- case CURLINFO_PRETRANSFER_TIME_T:
- case CURLINFO_POSTTRANSFER_TIME_T:
- case CURLINFO_QUEUE_TIME_T:
- case CURLINFO_STARTTRANSFER_TIME_T:
- case CURLINFO_REDIRECT_TIME_T:
- case CURLINFO_SPEED_DOWNLOAD_T:
- case CURLINFO_SPEED_UPLOAD_T:
+ const char *envstr;
+ switch(info) {
+ case CURLINFO_TOTAL_TIME_T:
+ case CURLINFO_NAMELOOKUP_TIME_T:
+ case CURLINFO_CONNECT_TIME_T:
+ case CURLINFO_APPCONNECT_TIME_T:
+ case CURLINFO_PRETRANSFER_TIME_T:
+ case CURLINFO_POSTTRANSFER_TIME_T:
+ case CURLINFO_QUEUE_TIME_T:
+ case CURLINFO_STARTTRANSFER_TIME_T:
+ case CURLINFO_REDIRECT_TIME_T:
+ case CURLINFO_SPEED_DOWNLOAD_T:
+ case CURLINFO_SPEED_UPLOAD_T:
+ envstr = getenv("CURL_TIME");
+ if(envstr) {
+ curl_off_t val;
+ curlx_str_number(&envstr, &val, CURL_OFF_T_MAX);
*param_offt = (curl_off_t)val;
return CURLE_OK;
- default:
- break;
}
+ break;
+ default:
+ break;
}
#endif
switch(info) {
@@ -480,26 +481,28 @@ static CURLcode getinfo_double(struct Curl_easy *data, CURLINFO info,
double *param_doublep)
{
#ifdef DEBUGBUILD
- const char *timestr = getenv("CURL_TIME");
- if(timestr) {
- curl_off_t val;
- curlx_str_number(&timestr, &val, CURL_OFF_T_MAX);
-
- switch(info) {
- case CURLINFO_TOTAL_TIME:
- case CURLINFO_NAMELOOKUP_TIME:
- case CURLINFO_CONNECT_TIME:
- case CURLINFO_APPCONNECT_TIME:
- case CURLINFO_PRETRANSFER_TIME:
- case CURLINFO_STARTTRANSFER_TIME:
- case CURLINFO_REDIRECT_TIME:
- case CURLINFO_SPEED_DOWNLOAD:
- case CURLINFO_SPEED_UPLOAD:
+ const char *envstr;
+
+ switch(info) {
+ case CURLINFO_TOTAL_TIME:
+ case CURLINFO_NAMELOOKUP_TIME:
+ case CURLINFO_CONNECT_TIME:
+ case CURLINFO_APPCONNECT_TIME:
+ case CURLINFO_PRETRANSFER_TIME:
+ case CURLINFO_STARTTRANSFER_TIME:
+ case CURLINFO_REDIRECT_TIME:
+ case CURLINFO_SPEED_DOWNLOAD:
+ case CURLINFO_SPEED_UPLOAD:
+ envstr = getenv("CURL_TIME");
+ if(envstr) {
+ curl_off_t val;
+ curlx_str_number(&envstr, &val, CURL_OFF_T_MAX);
*param_doublep = (double)val;
return CURLE_OK;
- default:
- break;
}
+ break;
+ default:
+ break;
}
#endif
switch(info) {