BrettMayson / HEMTT

Build System for Arma 3
http://hemtt.dev/
GNU General Public License v2.0
113 stars 40 forks source link

Value command too slow #650

Closed Timi007 closed 8 months ago

Timi007 commented 9 months ago

Versions: HEMTT: 1.11.1

Description:

The hemtt value command takes too long (>1 second) to process.

I executed following code in Powershell three times and taken the last value as the result. I've done this to ensure HEMTT doesn't start cold. However, I saw that it doesn't matter either way.

Measure-Command { hemtt value project.name | Out-Default }

Measured on an i5-8600K@4.80GHz.

Results:

My guess is that the VFS takes too long to build. Metis Marker only has one PBO but many files which need to be added. Hence the long setup time of the VFS.

Does the value command need to rely on the VFS?

BrettMayson commented 8 months ago

~After cloning Metis Marker, the value command runs consistently in about 100ms for me, possibly the VFS, but that is quite a difference in speeds to attribute it to that right away~

~Do you happen to be running it on a hard drive or SSD?~

Seems to specifically be a Windows issue

BrettMayson commented 8 months ago

Fixed in 8159b471537fd7022e601d6891aeb842da5b5d8d

Windows was taking its sweet time opening file handles for some reason, up to 0.73 seconds on my machine.

The VFS is "required", hemtt value could have it's own dedicated code to avoid using the VFS, but I don't really want to go that route. The slowest part of the code has been disabled during the hemtt value command.