4 ms·
> Moving %TEMP% to a RAM drive made the builds noticeably faster and also left the system responsive, even during two concurrent 20-way parallel builds (40 comp
by NullPrefix 7y ago
> Moving %TEMP% to a RAM drive made the builds noticeably faster and also left the system responsive, even during two concurrent 20-way parallel builds (40 compile jobs in parallel, no loss of system responsiveness).
This matters more than anything else. You can play all you want with FILE_ATTRIBUTE_TEMPORARY or whatever else markings but the OS will just not care about them enough.
- MuffinFlavored 7y agoDoes creating a RAM drive in Windows still require third-party software/drivers or is it natively supported by Microsoft these days? I haven't tried to do it since Windows 7 I believe.
- pdimitar 7y agoAFAIK, it still requires 3rd party software. However, having a Samsung SSD and enabling RAPID mode in Samsung Magician (SSD management software) which effectively uses an invisible RAM disk accelerated my games' startup times by a factor of at least 3x. Some games even start 5x times faster. I do recognise that games have a much different workload than compiler jobs of course; but invisibly utilising a RAM disk might help a lot regardless.
- NullPrefix 7y agoThat whole Linux integration into Windows marketing campaign could have you believe that Linux things just work on Windows now and you can just "mount -t tmpfs none /path/to/my/mount -o size=64G". I doubt that is going to happen. File system mounts do not run on marketing fuel.
- jrockway 7y agoThe latest variant of WSL uses a VM. So that will work, but you won't be seeing that mount inside Windows.
- Dylan16807 7y agoWell, you can access it over the \\wsl$ shared drive. But that share can only do about 4k IOps.
- the8472 7y ago> still require third-party software/drivers Back in the 3.1 and 9x days it didn't require 3rd party drivers, thanks to ramdrive.sys
- zamadatix 7y agoIsn't FILE_ATTRIBUTE_TEMPORARY the same thing as putting it in the RAM drive (minus needing a special mount and what part of the disk gets written when you run out of RAM)?
- anon73044 7y agoI've often wondered about the viability of putting all my build agent's folders in a ram disk to speed up build times. Granted, IT won't be thrilled that I'll need ~4-8x the RAM, but the devs would certainly love the speed. ....now if only I could make fastlane take less than 2 hours....
- BeeOnRope 7y agoAs long as you have the RAM available and your OS has reasonable file system caching behavior - you should already get that effect. On Linux, I can run a build repeatedly that touches several GB of files and there is basically zero IO during the build, because everything is in the page cache. There is some IO at some point after the build as the dirty files (e.g., .o files) get written out, but if if you delete them fast enough, even that doesn't happen.