Go GC的写屏障

Go 的写屏障(write barrier)是一种机制,用于在垃圾回收期间追踪对堆上对象的写操作。它是 Go 垃圾回收器的一部分,确保垃圾回收器能够准确地追踪对象的引用关系。

写屏障的主要目标是在并发环境中,当一个 goroutine 修改了指向堆上对象的指针时,确保垃圾回收器能够感知这个修改,并更新相应的引用信息。

Go 的写屏障有两种类型:

gin的c.Next()

https://www.google.com/search?q=gin+c.next&newwindow=1&sxsrf=APwXEdejumVYcBIdc4hE7AbLix-xWRsqsw%3A1680274517853&ei=VfQmZIDAM5ak2roP9vyQ2Ac&ved=0ahUKEwjAvouutob-AhUWklYBHXY-BHsQ4dUDCA8&uact=5&oq=gin+c.next&gs_lcp=Cgxnd3Mtd2l6LXNlcnAQAzIICAAQgAQQywEyCAgAEIAEEMsBMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQ6BAgjECc6BwgjEOoCECc6EwguEIoFELEDEIMBEMcBENEDEEM6CwgAEIAEELEDEIMBOgcILhCKBRBDOhEILhCABBCxAxCDARDHARDRAzoNCAAQigUQsQMQgwEQQzoNCC4QigUQsQMQgwEQQzoKCC4QigUQ1AIQQzoHCAAQigUQQzoKCC4Q1AIQigUQQzoICC4QgAQQ1AI6BQguEIAEOggILhCABBDLAToECAAQHjoHCAAQgAQQCjoOCC4QrwEQxwEQgAQQywFKBAhBGABQAFi5TGD5TmgEcAB4BIAB6BaIAaBokgEPMy00LjEuMS4zLjEuMS4ymAEAoAEBsAEKwAEB&sclient=gws-wiz-serp

https://segmentfault.com/q/1010000020256918

https://blog.dianduidian.com/post/gin-%E4%B8%AD%E9%97%B4%E4%BB%B6next%E6%96%B9%E6%B3%95%E5%8E%9F%E7%90%86%E8%A7%A3%E6%9E%90/

pdqsort快速排序算法

排序算法为啥还一直在更新呢?不应该都已经探索出来了吗

基础的没啥变化,像希尔排序,快速排序,都是好几十年前定型了。但是实际工业界都是混用,不同case(比如待排数组的长度等)用不同的排序算法; 但是最common的主体都是快排。快排就牵扯到一个枢轴值的选取,怎么样选尽可能中间的,就又能玩出花来。 pdq的q也是指快排,但对一些特定情况做了处理和优化

Rust的排序比C++快了一倍