diff -durN node-v22.14.0_orig/common.gypi node-v22.14.0/common.gypi
--- node-v22.14.0_orig/common.gypi	2025-05-01 13:48:27.848717779 +0000
+++ node-v22.14.0/common.gypi	2025-05-01 13:52:54.656717620 +0000
@@ -191,7 +191,7 @@
             }],
           ],
         },
-        'cflags': [ '-O3' ],
+        'cflags': [ '-Os' ],
         'conditions': [
           ['enable_lto=="true"', {
             'cflags': ['<(lto)'],
@@ -257,16 +257,16 @@
             ],
             'EnableFunctionLevelLinking': 'true',
             'EnableIntrinsicFunctions': 'true',
-            'FavorSizeOrSpeed': 1,          # /Ot, favor speed over size
+            'FavorSizeOrSpeed': 2,          # Favor size over speed
             'InlineFunctionExpansion': 2,   # /Ob2, inline anything eligible
             'OmitFramePointers': 'true',
-            'Optimization': 3,              # /Ox, full optimization
+            'Optimization': 's',              # optimize for size
             'RuntimeLibrary': '<(MSVC_runtimeType)',
             'RuntimeTypeInfo': 'false',
           }
         },
         'xcode_settings': {
-          'GCC_OPTIMIZATION_LEVEL': '3', # stop gyp from defaulting to -Os
+          'GCC_OPTIMIZATION_LEVEL': 's', # set gyp default to -Os
         },
       }
     },
diff -durN node-v22.14.0_orig/deps/llhttp/common.gypi node-v22.14.0/deps/llhttp/common.gypi
--- node-v22.14.0_orig/deps/llhttp/common.gypi	2025-05-01 13:48:27.976717779 +0000
+++ node-v22.14.0/deps/llhttp/common.gypi	2025-05-01 13:56:30.652717491 +0000
@@ -1,6 +1,6 @@
 {
   'target_defaults': {
-    'default_configuration': 'Debug',
+    'default_configuration': 'Release',
     'configurations': {
       # TODO: hoist these out and put them somewhere common, because
       #       RuntimeLibrary MUST MATCH across the entire project
@@ -15,7 +15,7 @@
       },
       'Release': {
         'defines': [ 'NDEBUG' ],
-        'cflags': [ '-Wall', '-Wextra', '-O3' ],
+        'cflags': [ '-Wall', '-Wextra', '-Os' ],
         'msvs_settings': {
           'VCCLCompilerTool': {
             'RuntimeLibrary': 0, # static release
@@ -32,7 +32,7 @@
       'VCLibrarianTool': {
       },
       'VCLinkerTool': {
-        'GenerateDebugInformation': 'true',
+        'GenerateDebugInformation': 'false',
       },
     },
     'conditions': [
diff -durN node-v22.14.0_orig/deps/uv/common.gypi node-v22.14.0/deps/uv/common.gypi
--- node-v22.14.0_orig/deps/uv/common.gypi	2025-05-01 13:48:27.964717779 +0000
+++ node-v22.14.0/deps/uv/common.gypi	2025-05-01 14:00:56.536717333 +0000
@@ -7,7 +7,7 @@
   },
 
   'target_defaults': {
-    'default_configuration': 'Debug',
+    'default_configuration': 'Release',
     'configurations': {
       'Debug': {
         'defines': [ 'DEBUG', '_DEBUG' ],
@@ -46,7 +46,7 @@
       'Release': {
         'defines': [ 'NDEBUG' ],
         'cflags': [
-          '-O3',
+          '-Os',
         ],
         'msvs_settings': {
           'VCCLCompilerTool': {
@@ -57,8 +57,8 @@
                 'RuntimeLibrary': 2, # /MD DLL release
               }],
             ],
-            'Optimization': 3, # /Ox, full optimization
-            'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
+            'Optimization': 's', # optimize for size
+            'FavorSizeOrSpeed': 2, # Favor size over speed
             'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
             'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
             'OmitFramePointers': 'true',
diff -durN node-v22.14.0_orig/tools/msvs/msi/custom_actions/custom_actions.vcxproj node-v22.14.0/tools/msvs/msi/custom_actions/custom_actions.vcxproj
--- node-v22.14.0_orig/tools/msvs/msi/custom_actions/custom_actions.vcxproj	2025-05-01 13:48:27.856717779 +0000
+++ node-v22.14.0/tools/msvs/msi/custom_actions/custom_actions.vcxproj	2025-05-01 14:06:46.280717124 +0000
@@ -124,7 +124,7 @@
       <AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x86;$(PkgWixToolset_DUtil)\build\native\v14\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
     </Link>
   </ItemDefinitionGroup>
@@ -143,7 +143,7 @@
       <AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\ARM64;$(PkgWixToolset_DUtil)\build\native\v14\ARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
     </Link>
   </ItemDefinitionGroup>
@@ -162,7 +162,7 @@
       <AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x64;$(PkgWixToolset_DUtil)\build\native\v14\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
     </Link>
   </ItemDefinitionGroup>
@@ -186,7 +186,7 @@
       <AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x86;$(PkgWixToolset_DUtil)\build\native\v14\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -212,7 +212,7 @@
       <AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\ARM64;$(PkgWixToolset_DUtil)\build\native\v14\ARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -238,7 +238,7 @@
       <AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x64;$(PkgWixToolset_DUtil)\build\native\v14\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
diff -durN node-v22.14.0_orig/tools/v8_gypfiles/toolchain.gypi node-v22.14.0/tools/v8_gypfiles/toolchain.gypi
--- node-v22.14.0_orig/tools/v8_gypfiles/toolchain.gypi	2025-05-01 13:48:27.860717779 +0000
+++ node-v22.14.0/tools/v8_gypfiles/toolchain.gypi	2025-05-01 14:23:16.588716534 +0000
@@ -853,11 +853,15 @@
           ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" \
             or OS=="aix" or OS=="os400"', {
             'cflags!': [
-              '-Os',
+              '-O3',
+              '-O2',
+              '-O1',
+              '-O0',
             ],
             'cflags': [
               '-fdata-sections',
               '-ffunction-sections',
+              '-Os',
             ],
             'conditions': [
               # Don't use -O3 with sanitizers.
