{"id":703,"date":"2023-11-02T14:26:02","date_gmt":"2023-11-02T21:26:02","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/?p=703"},"modified":"2024-05-14T13:50:05","modified_gmt":"2024-05-14T20:50:05","slug":"copy-on-write-in-win32-api-early-access","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/copy-on-write-in-win32-api-early-access\/","title":{"rendered":"Copy-on-Write in Win32 API Early Access"},"content":{"rendered":"<p>(Updated Apr 4 and 26, 2024 with some release news. Also see the <a href=\"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/copy-on-write-performance-and-debugging\/\">next post<\/a>)<\/p>\n<p>On October 25, 2023, the Windows filesystem team released an early preview of copy-on-write (CoW) linking in the Windows 11 Insider Canary channel. This builds automatic CoW linking into the Win32 <code>CopyFile<\/code> APIs when using Dev Drive or ReFS. If released next year, this will eliminate the need to update build engines, tools, and runtime frameworks to support CoW. Related release information is <a href=\"https:\/\/blogs.windows.com\/windows-insider\/2023\/10\/25\/announcing-windows-11-insider-preview-build-25982-canary-channel\/\">here<\/a>.<\/p>\n<p>We released some <a href=\"https:\/\/github.com\/microsoft\/CopyOnWrite\/blob\/main\/BenchmarkData\/BenchmarkData.md\">early benchmarks<\/a> showing the automatic gain for .NET <code>File.Copy()<\/code> without the need for explicitly updating tools to use CoW. In testing a large C# repo under this new configuration, we saw a 32% reduction in build time just moving to Dev Drive, then CoW linking increased that win to 42%.<\/p>\n<p>See our previous CoW and Dev Drive coverage <a href=\"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/dev-drive-and-copy-on-write-for-developer-performance\/\">here<\/a> and <a href=\"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/dev-drive-is-now-available\/\">here<\/a>.<\/p>\n<p>If you have builds or other workloads that do a lot of copying, join a machine to the Canary Insider release and run benchmarks on a Dev Drive to discover the gains you can achieve.<\/p>\n<p>CoW-in-Win32 will ship as part of Windows Server 2025 as well as in Windows 11 in the second half of 2024. Dev Drive was not backported to Windows Server 2022. Preview versions of both operating systems have CoW-in-Win32 turned on by default, so you can perform early testing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(Updated Apr 4 and 26, 2024 with some release news. Also see the next post) On October 25, 2023, the Windows filesystem team released an early preview of copy-on-write (CoW) linking in the Windows 11 Insider Canary channel. This builds automatic CoW linking into the Win32 CopyFile APIs when using Dev Drive or ReFS. If [&hellip;]<\/p>\n","protected":false},"author":119305,"featured_media":725,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[37],"class_list":["post-703","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering-at-microsoft","tag-performance"],"acf":[],"blog_post_summary":"<p>(Updated Apr 4 and 26, 2024 with some release news. Also see the next post) On October 25, 2023, the Windows filesystem team released an early preview of copy-on-write (CoW) linking in the Windows 11 Insider Canary channel. This builds automatic CoW linking into the Win32 CopyFile APIs when using Dev Drive or ReFS. If [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/wp-json\/wp\/v2\/posts\/703","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/wp-json\/wp\/v2\/users\/119305"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/wp-json\/wp\/v2\/comments?post=703"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/wp-json\/wp\/v2\/posts\/703\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/wp-json\/wp\/v2\/media\/725"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/wp-json\/wp\/v2\/media?parent=703"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/wp-json\/wp\/v2\/categories?post=703"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/engineering-at-microsoft\/wp-json\/wp\/v2\/tags?post=703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}