From 0923119215a25762436246b8a028eec129119a32 Mon Sep 17 00:00:00 2001 From: fuatto Date: Fri, 6 Dec 2024 16:07:17 +0700 Subject: [PATCH] engineering: go commentary in dec 06 --- go/weekly/assets/weak-pointer-gc-reclaim.webp | Bin 0 -> 53052 bytes .../weak-pointer-indirection-reference.webp | Bin 0 -> 50462 bytes go/weekly/dec-06.md | 157 ++++++++++++++++++ 3 files changed, 157 insertions(+) create mode 100644 go/weekly/assets/weak-pointer-gc-reclaim.webp create mode 100644 go/weekly/assets/weak-pointer-indirection-reference.webp create mode 100644 go/weekly/dec-06.md diff --git a/go/weekly/assets/weak-pointer-gc-reclaim.webp b/go/weekly/assets/weak-pointer-gc-reclaim.webp new file mode 100644 index 0000000000000000000000000000000000000000..c60de19104207f94af3575ed984aeca5867fc2e8 GIT binary patch literal 53052 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�jGJ8FM4jQ6nb3@I$F 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 literal 0 HcmV?d00001 diff --git a/go/weekly/assets/weak-pointer-indirection-reference.webp b/go/weekly/assets/weak-pointer-indirection-reference.webp new file mode 100644 index 0000000000000000000000000000000000000000..f4bc45a356aa2c64d2e5c63d0e064853231e0edc GIT binary patch literal 50462 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%0DQW=7G_1)vf_i=i?-;MUrV?8vWTG4 z+2KFiPUUIc9ok6To>r@)&bqRCTtzzKO3&`NJ`8Wh5s)Ud9bJzQlC|W15T)pEYHwHS zbTEa{`A@N)r7RC49TJ4NBz#ByS)7QeS}0|1y)B3jdsu}z(Y#+^yTw= z&6JwxHm;QBLAvrUUE?{gps~91%us{H@uK66Zgoa4uO0M4^zk_`LH5E94FP;tbh+On z`yt=++~e#V&BvExGFU(`4sSc*tE#GzFMJ3tUz-u<#7RvJe>2(H7Xr62sem8ZI%M?$ zM7{#-vKB-F7%>pu40nMFX*zZaWrM6^;T>^1;(Q1#e?MnQxF$fjOEB=dhnSsu#~`U< zC|M)^H6;SH#zN209d^$_SJD9E+(kq}KzA`+TpIW;DIyKvYHV*4wsz?Q1(!Qi0Am9o z7DdJW-OFY)0_5*7dOcv+9n<9tR*u$r2l+kEebQ%t$+k#iW$0cfyqSN!kw8}YhwEY} zAm|yjU_BQ)oaFBdGZQI&>jraaxGU<6Yhn@E;^qvO-p;M%kwLqPxSt_*!<@0n=p6Uj ztFX=9<2-505A-F0c<;Npj!@%wR_pGGWuJ*DOg|ygg(`t`w#%}WEO)kF**2*Pqd;_} zYx$0*7A!maJv>cA1CN!s%l;99#Nu&sTGBR5xN{YF3Q>lqS<7gbYo><^%k}TMgGvNGE@6^kjEZN#=a9nruKuwvSR+blrd0k^hHdKrK9lO zw0Lt7CSiLp5Co5au^RfR1i@;ugyiy2u+5pr7kypW5*{n(v8#cB4h6Azaf^`6XzJmI zzXwV5M0M7f3|LP9Y`HG4kHyfhq#FnAk+28NE_{uE&_B0F>D*2l%D?!J*q~;HTLHfT zL#{P8K3YKqA`a4AOeCSaZU=B67SWsKJ}}L2FK9`h&HC(0kj{_l*#Tjy8Wv}asj|?s zZmyv2Qiu4n6S_5OIOLC@P;)Eb+s3mDQD6>M2vG)afDtwa8sP2HGC~SNW0tT3xPu=# z7y3f~fJvDwEK0Ov?{N&Gn`Sy^KI@@h{CA1!$>fJ?2uu_u zp<)azt6mM% zKI|8cqyokxGi8viMAB+1E=QSJ$}5f*_XaqC$|->Jj_VJfg>NwAc;w@w;tkeMMBrwxv@k7^S)$jHYokp|XFLKNMG zk=(gP_jpt9<7^F08Jaj_lHvw~E0W9BGUFuZXphXV5JE5oGner<-hdbbmv~DO99k_; z)K5;nXRw$k214^TkOYLe%RgApq%Q-L4i8j~V%1vp%XGi|;LF)3mgLtT$ig%Sb#|_C zofYy_?V~I637 zfhrVjD#cQH$3$j{Zeb?}X5m^mcaIN+{j0gX@+yB^;%Lj9WpYh-Tz9PVG_<|l1pqZ< zm?EYRzacC?ijWh_RgI#NXq$JhL|b7vTI>M3?zTH%cyOzGo?e0NX4x0kG2FcD zd-4>9BbZz7)F>Z<=3|D)7!_N4_JtIj4-U)HHXtUXz#L)GF>Sb63}!2z0RW~sE@OER zDwZj3iC>@s=2s~11dHexPA{6xg68Yev83N2vm}V{$%C4Sfpmc6n%-G@l<8*AvrHl{ zWCKO`n%0)}joV4J?!HLA=iF@xW`)QJogsKI4t#1%nuDqwlu#A{e9AO#6Tm%p0y6X6 z#&VBx7}KEED1lZfj~e8A|?AA^+2iL*rN`RS*Cv-jpX>|Nz!k%}|_ zW@m~9KSa6GB(RU(Z?ezn4!QQ^yjyKR4;al$H7;)$v7(pUhm!6#Y=>>>r73yH4iFCX$3O=P{LA>3A)nJt$ybokXLf_ zF>U;S{3kpCfSpjgCtxN`;02s>`Fch?W`f}7`W(?z6d$%R!$3wEOr$K`D$iVPzq+WG z3w14Zdu~TSoj8?_M&sl66$<{vela7{_cE5HGqf6+ z6X98-!FZ!xww^T6C!+4^%s?|L! z#+I2Zsso;`@u}&%#DX))5K1M;G z>?u{%5F%b+5`#ELjVVBd-j#ETFM%#cYsCoNaDlL{&oH`-kBy9w?6AK5B(r=ZT1Fuc zbJ%>o#NK*bLJKm@fPrtBVN~?%Y>OSRRG!(vyl1{&3E{1Ihh3;2pyh0RI;u#9mO>kc z>5q8vdq03d16Jl+n!Q-GH3(H=kzf4CLz820{!{;_{Grr1cHW~5f@zllR2CjJ>@O_+MG)_Z zwh#stXKyW`d8#>9ynl=csL;SLsMYr#sOBdKg{s`_@8SN8G@Kl?6f5lj`1=a%1*2QU ziXoAl{>`zt3v{Uf{v(Wn#?$PbqUI21J$vR?QLYLr^?2A1LrK?emwHbWhe*p<>rcHGyY zSI1v;Hd48A5*~X?B_#J+cGLhY@ra~MpPwo

RvlU6B6diF%c5qN6L?%Hwa2fx>$l zV{SlWY^OF$A9|5U{zbH?G(XbU@OY!jS9>2Mg0ClpsJSK-77}yh0{O+m_rE|zw4x1@ zhYtrjGZ34c8G4R+Ns__3Eu64I+F(f!lV^CvG7#7!-%6F1aHW|}Lu(|L7J-i2p_f1) z_jA9fHCY7FBuiam#CUhsUIB+=doiMM7qb?WWjn}n1JJRwey?g|CWwXb33J@3nK3F< zkRBx(*7cPnWzCOZe}7x+Yh>^Y=sXFYD~W;|;|yDtgOfxzQn&&f>D{)vj{$wP$3_e7 zR^mOuG&yxNaRG8*?klQJvrb=xWuheD^_i}RdYctcp)(LVN_Tmr_r<-{YKl@9Nyd6V z1+G`Mzld`>rmKNqjM4W<$7zZ%@mXxJKOfE06@j&NYm*{SR#rPT0?MC{eqHU!_iVrf z{y!m}5<;5(f$CZ8SfE$ftVRT!%3L_4>H3=U-FER?D;uxUH*x1p9`GhN0cy<7>Y-8k zpGZ+5nUQo#1W6tQXlp+rFxg>AI*@!PijNMmk9xjKIg7875R8798v1Xd5jTm)wfMD` zi|TG6ZI2nxsT4r-PKho({1*S%vgGZ8?32iB7!sMT9p`-zI361T~<8{aq9 z`|=}?Vwxz{$f@`YT4S6sa39T5v^=;igxy0z*Jql=3$2=fMH!|-Y`eBjUjLKtphqQU zyKgR*XugEf1W?QTDTobl6Vv?Acyd^8$3RPK0B2)zw54$Sfx=oVolgZziXaJEyvoOB zm|Hk$y#7hb1OYs8q4mtg}PBCC``-50pp&j5|Zh+ z{c90hxkI4rj5)*N2ACSgBQi*H&x*Onh3+a|sctg?g1YljAmphs?q1MiIwao-LoDb$qO z4%l$-WsO5R6Sc2EHTTTBS#zl=?~(>hI0TOU^!_sr0B8|NK)LuZT~B+tiTE6_EM#$N*8|MrKWwSbnl@<}TwOa7N?9;PlkVd5=TK^rj7Kz&9G7k^PPyk80aPLHlet{54{G-2f; zRRa|VlmRICGLUVD4vPno>f4Yx1X~0WB_vq2r zS_TLY)FW5e{TO|$!|0lUz-N>Gbc-fKeh{`e3JKC!L$y7s3gBkkDSQcnYiAQg0Lc?}Lcj?XzILi)I`28VGxCzbW<>qf4Q>NBLD+1*^R_*U5l`nvXjyv3teI^gs1?{oC1 z2cbSNf6eX1EDB5K26-H&w!#Il&B&JqTCs(xUWc7KEi5>k{W?uozX6CfUy*p96TqbcA4=>i#RC4O` z|M&(5VYB-6i8(}rGfT|6<9wMU&cf8Dio@-rzhy|BJyJVOmNvS6f?A4%Bw}fe>tB<> zFddpjAD&ZYw1et(iUrgU5kC=UkX*?w8?U~5=W|{RKQjLiagZ5UHOmv)U>H3-m~{~f zOB~s5i;r=xa_8flA%*x!Cdf)oR3H{HJf5kYwC}B!j!SKHe(b$NNBiyZoyNLG3MJof zRSj_MnEm8kF^MnW!)32ST~ihmf6z|9;q9$PoFTBp@x(S z-v87xJzi8d!HI-zM#qCrz9LU7Vb$N|zToAeE}7a|HpFZ>ch?(<@LeAU#KfeyP?sL}bgA^B&ODQ@iFH&?}o z97W__`8i+f?E*H6nJlEyQ)^#p2!RQKmJ?Jl!VDcolk<(wp7ojBd?8etRX4GmVpcs{ zPGh(GB~AQ8l@yR~3ec|fZchC|q^D`uF7>h6WG1t~bZ-jU*De+pVx(l)nRv95&A6)j|?^<64crN~aZqX3WgxF>FX{ z7jGra8pD5KR8Dq{Ol}a90p5{CzJk_RnRR6R4;4JwZ%T@xU6Oyz2fN$kkboV6U-iaI zNLEf$3DYWn{_L8aSY;|P8!a(*Zlfr1-GA^1rwp>BCh;0gKI}tH;&xbOQk0FWQCm9( zl1wZ0ckW!HmQMVn*Lm+}V?sH@r~4A!u)^@qHgM&g-qq2I?f)1Iv|XVoi%O7#ima@0 z{Qpi6GgudaLXYd_;N`&bv8RIns|S$lc{IouWPdTFe=^C{YiK78Lw+v^hj`LkY=!8` z|K!O#Yav2>l1v_4=e7lSHl#=jm;bJQd)EooYn zkQaHF=N;V|Js`)(vlKuhP~scJUzbBJ?l5EHTr8Brak==H|Fd|w{)919=Kk5D&4E6Y zn#b}K)g0uL|7F2PM=dHIlw_eLsI3xUv3{r~jbaEa>p8v@Bhu2Wo$ zYs&sLz;w&l`BM878hjK^%Gq=n7&2>0FCgFU);Oxl+KrqexQHJ-iBvM_jG~ktsccaa zpN}$GDfAl}m#}D~=THda`&S1KSUWC`JyM1xxK4bTo3v(jzh+AbE%@auqh&=GXCgpY zQTltc2RokZ9*v8v26NCXrY6M1&GJpaLDZ4i!dndC(uhlQ6ofu8R;=@JXb6 Specs: + +```go +type set[P comparable] = map[P]bool +type A[P any] = P // illegal: P is a type parameter +``` + + => the feature can be disabled by setting `GOEXPERIMENT=noaliastypeparams`; but the `aliastypeparams` setting will be removed for Go 1.25. + +- Some updates for tools `go tool` or `-tool` flag, new `tests` analyzer for `go vet` + +- Some updates for Cgo, Runtime, Compiler, Linker, Bootstrap + +- Some updates for stdlibs: + + - The new `os.Root` type provides the ability to perform filesystem operations within a specific directory. + + - The `os.OpenRoot` function opens a directory and returns an `os.Root`. Methods on `os.Root` operate within the directory and do not permit paths that refer to locations outside the directory, including ones that follow symbolic links out of the directory. + + `os.Root.Open` opens a file for reading. + + `os.Root.Create` creates a file. + + `os.Root.OpenFile` is the generalized open call. + + `os.Root.Mkdir` creates a directory. + + - Some updates for `crypto`, `hash` package + + - Some updates for `net/http` including support for HTTP/2 protocol settings in `Transport` and `Server` + + - New implementation for `sync.Map` that will improve overall performance and resolve some long-standing issues + + +## [Weak Pointers in Go: Why They Matter Now](https://victoriametrics.com/blog/go-weak-pointer/) + +### Definition: + +A type of reference to an object that does not prevent the object from being garbage collected + +=> `weak` package: + +```go +type Pointer[T any] struct { + u unsafe.Pointer +} + +// Make creates a weak pointer from a strong pointer to some value of type T. +func Make[T any](ptr *T) Pointer[T] { + //... +} +``` + +- If the memory they’re pointing to gets cleaned up, the weak pointer automatically becomes `nil` — so there’s no risk of accidentally pointing to freed memory => they are safe + +```go +type T struct { + a int + b int +} + +func main() { + a := new(string) + println("original:", a) + + // make a weak pointer + weakA := weak.Make(a) + + runtime.GC() + + // use weakA + strongA := weakA.Strong() + println("strong:", strongA, a) + + runtime.GC() + + // use weakA again + strongA = weakA.Strong() + println("strong:", strongA) +} + +// Output: +// original: 0x1400010c670 +// strong: 0x1400010c670 0x1400010c670 +// strong: 0x0 +``` + +- After the first garbage collection `runtime.GC()`, the weak pointer weakA still points to the memory because we’re still using the variable a in the `println("strong:", strongA, a)` line. The memory can’t be cleaned up yet since it’s in use. +- But when the second garbage collection runs, the strong reference (a) isn’t used anymore. That means the garbage collector can safely clean up the memory, leaving `weakA.Strong()` to return `nil`. + +### Use case + +- Canonicalization maps, where you only want to keep one copy of a piece of data around +- Initial purpose is in internal packages, e.g: `unique` + +```go +func main() { + h1 := unique.Make("Hello") + h2 := unique.Make("Hello") + w1 := unique.Make("World") + + fmt.Println("h1:", h1) + fmt.Println("h2:", h2) + fmt.Println("w1:", w1) + fmt.Println("h1 == h2:", h1 == h2) + fmt.Println("h1 == w1:", h1 == w1) +} + +// Output: +// h1: {0x14000090270} +// h2: {0x14000090270} +// w1: {0x14000090280} +// h1 == h2: true +// h1 == w1: false +``` + +### How does it work + +- Having a in-between tiny object (8bytes) + +![](assets/weak-pointer-indirection-reference.webp) + +- This setup lets the garbage collector clean up weak pointers to a specific object all at once, efficiently: + - the collector only needs to set the pointer in the indirection object to nil (or 0x0). No need to go around updating each weak pointer individually. + +![](assets/weak-pointer-gc-reclaim.webp) + +--- + +https://tip.golang.org/doc/go1.24 + +https://victoriametrics.com/blog/go-weak-pointer/ \ No newline at end of file