目前写 Go/C#,喜欢定义各种结构,看到 StackOverflow 上有人说“你当然可以将 Request / Response 都定义出来,但定义太多结构,会占用部分内存”。
我是从弱类型语言转过来的( PHP/Python/JavaScript 都写过),转的核心原因就是强类型方便的定义结构和类型。
特别喜欢把类型结构定义好——结构标准,类型固定,运算省心,IDE 能提示,心里会很舒服,算是代码洁癖之一。
所以现在自己的项目有 30+ 个接口,每个接口都有声明好的请求、响应结构,再加上自己的习惯,就变成了:
按照自己的需求规划,目前的结构数量翻个倍没问题,所以有点心慌,想问一下大佬们,这会占用很多内存吗?有啥办法衡量没有?
如果结构真的很多、且真的会占用内存,怎么办,拆成微服务 + gRPC ?
1
nightwitch 2022-11-28 12:22:53 +08:00 via Android
😢30+个接口就在操心这事了。。3000 个再说吧
|
2
uiosun OP @nightwitch 那我就放心了,主要是有点摸不着底,毕竟没考虑过这玩意怎么加载、卸载的😂
|
3
CEBBCAT 2022-11-28 13:02:37 +08:00 via iPhone 1
第一点是要深深地记住,计算机界有很多人不是很懂回答问题。我当时初学 C 的时候搜怎么定义动态数组,百度知道一个回答说要 malloc 申请内存,很危险,建议别这么做,我居然信了,干,真是误人子弟
第二点是可以学学 Linux 的 loader 、Go 的汇编生成(含逃逸分析)方面的东西,你就会知道到底什么在占内存。你想想你引用到的底层库又得有多少类型声明,九牛一毛而已 最后……不要过早优化,在那之前学习好的编程风格就可以了 |
5
Kilerd 2022-11-28 13:54:46 +08:00 via iPhone
首先 python 是强类型语言
|