mirror of
https://github.com/curl/curl.git
synced 2026-07-16 00:47:17 +03:00
lib3026: drop DLL pre-load perf mitigation for old mingw
curl no longer supports old/legacy/classic mingw. This mitigation was addressing slow perf seen in CI with old mingw. The slow perf is not seen in current CI with supported compilers. Remove the duplicate DLL load function from libtest. It's no longer used after this patch. Current CI run times for test3026 on GHA/windows: ``` test 3026...[curl_global_init thread-safety] # mingw, CM clang-x86_64 gnutls libssh -------e--- OK (1715 out of 1738, remaining: 00:02, took 0.196s, duration: 02:55) # dl-mingw, CM 9.5.0-x86_64 schannel -------e--- OK (1554 out of 1577, remaining: 00:02, took 0.217s, duration: 02:29) # msvc, CM x64-windows schannel +examples -------e--- OK (1578 out of 1601, remaining: 00:02, took 0.205s, duration: 02:50) ``` Follow-up to38029101e2#11625 Follow-up to856b133f5d#9412 Ref: #17413 Closes #17414
This commit is contained in:
parent
76ab38d3b8
commit
a0a1df5af9
3 changed files with 0 additions and 55 deletions
|
|
@ -67,14 +67,6 @@ CURLcode test(char *URL)
|
|||
return TEST_ERR_MAJOR_BAD;
|
||||
}
|
||||
|
||||
/* On Windows libcurl global init/cleanup calls LoadLibrary/FreeLibrary for
|
||||
secur32.dll and iphlpapi.dll. Here we load them beforehand so that when
|
||||
libcurl calls LoadLibrary/FreeLibrary it only increases/decreases the
|
||||
library's refcount rather than actually loading/unloading the library,
|
||||
which would affect the test runtime. */
|
||||
(void)win32_load_system_library(TEXT("secur32.dll"));
|
||||
(void)win32_load_system_library(TEXT("iphlpapi.dll"));
|
||||
|
||||
for(i = 0; i < tid_count; i++) {
|
||||
curl_win_thread_handle_t th;
|
||||
results[i] = CURL_LAST; /* initialize with invalid value */
|
||||
|
|
|
|||
|
|
@ -129,46 +129,3 @@ double tutil_tvdiff_secs(struct timeval newer, struct timeval older)
|
|||
(double)(newer.tv_usec-older.tv_usec)/1000000.0;
|
||||
return (double)(newer.tv_usec-older.tv_usec)/1000000.0;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
HMODULE win32_load_system_library(const TCHAR *filename)
|
||||
{
|
||||
#if defined(CURL_WINDOWS_UWP) || defined(UNDER_CE)
|
||||
(void)filename;
|
||||
return NULL;
|
||||
#else
|
||||
size_t filenamelen = _tcslen(filename);
|
||||
size_t systemdirlen = GetSystemDirectory(NULL, 0);
|
||||
size_t written;
|
||||
TCHAR *path;
|
||||
HMODULE module;
|
||||
|
||||
if(!filenamelen || filenamelen > 32768 ||
|
||||
!systemdirlen || systemdirlen > 32768)
|
||||
return NULL;
|
||||
|
||||
/* systemdirlen includes null character */
|
||||
path = malloc(sizeof(TCHAR) * (systemdirlen + 1 + filenamelen));
|
||||
if(!path)
|
||||
return NULL;
|
||||
|
||||
/* if written >= systemdirlen then nothing was written */
|
||||
written = GetSystemDirectory(path, (unsigned int)systemdirlen);
|
||||
if(!written || written >= systemdirlen) {
|
||||
free(path);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if(path[written - 1] != _T('\\'))
|
||||
path[written++] = _T('\\');
|
||||
|
||||
_tcscpy(path + written, filename);
|
||||
|
||||
module = LoadLibrary(path);
|
||||
|
||||
free(path);
|
||||
|
||||
return module;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -42,8 +42,4 @@ long tutil_tvdiff(struct timeval t1, struct timeval t2);
|
|||
*/
|
||||
double tutil_tvdiff_secs(struct timeval t1, struct timeval t2);
|
||||
|
||||
#ifdef _WIN32
|
||||
HMODULE win32_load_system_library(const TCHAR *filename);
|
||||
#endif
|
||||
|
||||
#endif /* HEADER_CURL_LIBTEST_TESTUTIL_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue