commit f657937e94d32956bec85ee41059939a992f82ce parent e22db7bfbaa268c9abd78fc1b803d82ca8691da6 Author: Jack Mordaunt <jackmordaunt.dev@gmail.com> Date: Mon, 12 Feb 2024 19:07:48 +0800 README: explain secondary goal Signed-off-by: Jack Mordaunt <jackmordaunt.dev@gmail.com> Diffstat:
| M | README.md | | | 11 | +++++++++++ |
1 file changed, 11 insertions(+), 0 deletions(-)
diff --git a/README.md b/README.md @@ -11,4 +11,15 @@ It is not a goal to support all possible http features. | macOS | tbd | | Linux | tbd | +## TinyGo +A secondary goal is to support small binary sizes. + +Compile with TinyGo to achieve (at the moment) an ~800KB binary. + +Use [go-bindsize-treemap](https://github.com/nikolaydubina/go-binsize-treemap) to visualize the binary. + +This package still makes use of some "heavy" packages, such as "net/url", "strconv", "strings", "reflect" and "fmt". + +Through some effort those packages can be removed to result in a smaller binary. +That effort involves copying functions and sometimes re-writing chunks of logic in a light-weight fashion to avoid taking on large dependencies.