V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hopingtop  ›  全部回复第 3 页 / 共 10 页
回复总数  190
1  2  3  4  5  6  7  8  9  10  
@Nazz #16 我确定是我表示不清楚,还是太久了,你忘记了,所以我们说的不是同一个东西,你可以再去看看代码
```go
// NewEncoder returns a new encoder that writes to w.
func NewEncoder(w io.Writer) *Encoder {
return &Encoder{w: w, escapeHTML: true}
}

// Encode writes the JSON encoding of v to the stream,
// followed by a newline character.
//
// See the documentation for Marshal for details about the
// conversion of Go values to JSON.
func (enc *Encoder) Encode(v any) error {
if enc.err != nil {
return enc.err
}

e := newEncodeState()
defer encodeStatePool.Put(e)
```
```go
var encodeStatePool sync.Pool

func newEncodeState() *encodeState {
if v := encodeStatePool.Get(); v != nil {
e := v.(*encodeState)
e.Reset()
if len(e.ptrSeen) > 0 {
panic("ptrEncoder.encode should have emptied ptrSeen via defers")
}
e.ptrLevel = 0
return e
}
return &encodeState{ptrSeen: make(map[any]struct{})}
}
```
核心消耗内存的地方是 encodeState
@Nazz #14 唉,encode/json 底层实现用了 全局 sync.Pool ,包括 json-iterator 也是类似实现,所以包不了。 如果 json-iterator 提供设置 自定义的 pool 就好了,可惜也没有
@Trim21 #11 场景比较特殊,当前绑定了 json 序列化,后期准备改成 pb 一劳永逸
我才看了 op 的代码,如果你真的想实现 mem 的高效利用,可以参考上面的链接实现或许会更好!

目前 mempool 有点问题就是,限制了上限,但是释放不了下限,没有考虑到 release 机制, 最终还是可能会把所有 buffer 都撑大!
我们也遇到 op 一样的问题,json 序列化会撑爆内存,就是因为 sync.Pool + json.Buffer 导致的。
当 99%的数据是小包 1%的数据突然来一个几十 MB 的大包,那么有可能后面 sync.Pool 里面的 buffer 都会变成几十 MB ,就会导致内存爆掉。

这个问题,Golang 有最新的提案和实现, 就是动态优化 buffer 的大小。 但是还没有合并!

相关 code 链接 https://go-review.googlesource.com/c/go/+/471200
@ttentau1 #288 感谢,脚本很好用!!!
@hopingtop #284 我发现是,如果我回复后,不刷新,那么
当前显示,换行就是失效的!

然后刷新后,就是正常的!
@hopingtop #283 看来换行还是失败了, 难道要加 \n
加入\n 测试


换行\n
我想知道,为什么我回车换行 失效了!

是我使用问题,还是本地环境问题?

这是一个我期望换行的语句!

换行!


3 个回车换行!
先个体吧,等你做大再开公司也不迟,只要有收入了,开公司是分分钟的事情!
公司平时维护成本还是比较费精力或者费钱,没必要。 对于大多数场景,特别是一些平台的 API 权限, 个体与小微差不了什么!
非常感谢,脚本很好用!你很酷 https://i.imgur.com/IPG5yJO.png https://i.imgur.com/IPG5yJO.png
@Saturn72 有绿茵,微微出汗,达到的目的刚刚好! 5 公里约 50 分钟。 关于出汗这个问题,就要看抉择了,有些朋友觉得出汗不能忍, 但是夏天在所难免
我觉得你有必要系统性检查一下,然后找医生出一套整体的 方案了,怎么感觉哪儿哪儿就有点小毛病!

我现在每天中午,饶楼走 5 公里, 坚持了一个月,感觉挺好的!
297 天前
回复了 jonathanchoo 创建的主题 问与答 纯电相较于 DM-i 有什么优势?
dmi 用户!现在感受!
如果没有续航焦虑,没有长期高速,果断纯电!
毕竟 dmi ,要是电池异常了,大概率也开不动!
最近唐 DMI 群里,好多都出现 ev 模式下 发动机自启动,关就关不掉!包括我自己也出现了

就好比写代码,少一个模块,终究负担少很多!
我真是因为小孩看电视的广告问题, 换了 索尼+腾讯超级 VIP 无法忍受小孩看各种乱七八糟的广告。

索尼这电视我自己就没好好享受过,看的时间不超过 50 小时, 而小孩每天雷打不动的 1.5 小时。。。
304 天前
回复了 Pin 创建的主题 Windows WSL 2 太好用了啊
@maxssy @bjfane 如果你使用的 win10 可以试试

https://zhuanlan.zhihu.com/p/588329608

原理就是通过 脚本修改本地的 hosts 文件, 也能解决网络互通问题
虽然和程序员关系不大,但是可以看看 『灯光画』
324 天前
回复了 mie 创建的主题 生活 生娃还是需要冷静点想一想
很多人再说车贷的问题
1.这个车应该是 1 年多钱买的,那个时候 OP 也说了,男的有 8000 ,女的 4000 ,这在平均 3000 工资的城市里面买车不成问题吧,车贷感觉是 2 年,差不多就是 7W 多,也就是说这个车可能就 10W 出头,这在当时也符合 1 年收入买车吧?
2.社保这个问题,真还是因城的风气问题,如果一个城市大多数不买,那估计都不买,就如同 曹旺所说
3.关于有娃,这个问题,猜测大概率是未准备之事, 然后又叠加男的 降薪+车贷+无社保 这种问题,搞得此时就很困难。

所以在说问题不要只看现在,在 2 年前,我想他们小两口也是 这个城市中等偏上的夫妻
1  2  3  4  5  6  7  8  9  10  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1240 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 23:51 · PVG 07:51 · LAX 16:51 · JFK 19:51
Developed with CodeLauncher
♥ Do have faith in what you're doing.