Add profile to generate a small final binary
adds `profile.small`, which optimizes for binary size instead of runtime performance
@@ -10,3 +10,11 @@ debug = true
panic = "abort"
lto = true
codegen-units = 1
+
+[profile.small]
+inherits = 'release'
+opt-level = 'z' # Optimize for size
+lto = true # Enable link-time optimization
+codegen-units = 1 # Reduce number of codegen units to increase optimizations
+panic = 'abort' # Abort on panic
+strip = true # Strip symbols from binary*
