Win10 C6 Directory() 8min 40 secs, C11 Directory() 31mins 47 seconds

I will know shortly if its the difference between api’s. I suspect the Clarion Directory() is using FindFirstFile and not FindFirstFileExA

Namely
FindFirstFileExA function (fileapi.h) - Win32 apps | Microsoft Learn
has these options
FINDEX_INFO_LEVELS (minwinbase.h) - Win32 apps | Microsoft Learn

This one caught my eye.

FindExInfoBasic
The FindFirstFileEx function does not query the short file name, improving overall enumeration speed. The data is returned in a
WIN32_FIND_DATA structure, and the cAlternateFileName
member is always a NULL string.

Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported until Windows Server 2008 R2 and Windows 7.

You see even though the clarion Directory() function help doc suggests I should be able to use the ff_:Directory equate to filter the results, that doesnt work. I have to specify a wildcard at the end of the path and include ff_:Directory to get it to include the subfolders. I then have to loop through the queue and ignore all entries ie files which are not subfolders.

Anyway just finishing off a class to use the various apis related to FindFirstFileA and FindFirstFileExA etc as I can get more info from these api’s which will be useful.