Dev Drive: Performance, Security and Control for Developers
We are excited to introduce Dev Drive! A new storage volume optimized for developer workloads that delivers performance, security, and control. Dev Drive is built on the Resilient File System (ReFS) and combined with the new performance mode capability of Microsoft Defender Antivirus, provides up to 30% better performance for overall build times compared to current, in-market Windows 11 (22H2).
Performance and Security
We received feedback from developers that slow file io performance was disruptive to their workflow. In response, we analyzed the file system to understand where the bottlenecks were. Benchmarks were created across multiple end-to-end developer scenarios and across multiple languages. We then made optimizations to the file system and introduced a new performance capability for Microsoft Defender Antivirus. Now available in public preview, this new capability provides asynchronous scanning on a Dev Drive and does not change the security posture of your system drive or other drives Asynchronous scanning provides improved security compared to traditional folder and process exclusions which are often used by developers. As a result, Dev Drive improves overall build performance, most notably in heavy file io based scenarios. For more information, see Protecting Dev Drive using performance mode.
Beyond simply providing faster performance, the purpose of Dev Drive is to give control back to you, the developer. While there are specific configurations that Microsoft generally recommends, and have used as defaults, we have also created tools for you to further customize it. For example, administrators on the device can modify the behavior of filter manager to allow which filters are attached. You may wish to use additional filter drivers for app compat reasons, or if you have a different security posture, you can gain more performance by removing filters.
Including new, easier UX
Previously the “Disk Management” tool was used to set up and maintain disks. Now we have the same functionality with the modern Settings app. You can do everything you need to do to create a Dev Drive, including creating a new volume, creating & attaching a VHD, shrinking or expanding disk sizes, and creating partitions, all in one place.
Here is the new Disks & Volumes UI to support creating a Dev Drive and VHD scenarios.
We recommend placing your working directories, repositories, and package caches on a Dev Drive. We are working with partners to fully take advantage of Dev Drive by default, see our partner blogs for Visual Studio and Dev Box along with other features such as Copy on Write. And our own documentation at aka.ms/devdrive for full configuration guidance.
Since Dev Drive only enables a minimal set of filter drivers, any applications or features that depend on those filters will not work on a Dev Drive. For that reason we do not support all apps being installed on a Dev Drive. Developers should test their scenarios, and if needed, enable additional filters or keep their tools installed on another drive.
How we tested
Our testing plan while creating Dev Drive was two-fold:
- Build out automatic performance tests that would run on a build-by-build cadence
- Test and profile our end-to-end scenarios regularly
We added automatic performance tests to our build labs to ensure that we had measurements tracking our performance for each build. We used the full git suite (clone, commit, etc.) in the lab. These tests enabled us to watch the progression of git clone performance, for example, build over build. Not only were we watching to ensure the speed of a single git clone operation was trending down, but we were also watching to see if any regressions were checked in by the development team for Dev Drive, or other feature teams working on similar components of the Windows OS.
Validation and investigation testing
To further test, validate and profile key developer workloads we’ve built a set of synthetic benchmarks which cover various workloads like Python, Node, .NET, and Java. We’ve worked with the Storage & File Systems and Defender teams to take traces, validate the improvements and find opportunities for further refinement to the file system and Defender.
For these tests we created a consistent hardware setup using a Surface Laptop 4 to compare the default Windows 11 22H2 configuration with Defender enabled, against the latest builds with Dev Drive. We used common public repos and basic scenarios, a few of which are:
- Build Orchard Core project using .NET
- Run django tests
- Build Spring Framework project using Gradle
- Clone Node repo using Git
As you can see, every scenario benefits differently from the optimizations. Scenarios that are more file io heavy benefit the most from Dev Drive.
Welcome to the Journey!
This is just the start of improvements to come. The Windows ecosystem consists of a wide variety of hardware configurations, with each configuration comes varied performance results. We invite you to help us test Dev Drive to ensure the product is impactful for the scenarios that matter most to you. Your feedback is incredibly valuable to us. We are excited for you to try out your developer scenarios on your hardware configuration and leave us feedback through Feedback Hub under the Dev Drive context. For more information visit: aka.ms/devdrive