Go 1.19改进泛型程序代码性能可达20%

Go官方推出了1.19版本,这个版本因为Go 1.18大改版延后发布的关系,发布的进程显得有些紧凑。该版本的一大重点便是修正Go 1.18所加入的泛型功能,官方根据社群所回应的问题以及边角案例,进行了不少调整,同时也改进了性能表现,部分泛型程序代码的性能提升甚至可高达20%。

文件注解现在支持连接、列表和标题语法,官方提到,这些改进将有助于用户编写更清楚,且易于阅读的文件注解,特别是针对大型API组件,清楚的注解有助于降低组件的采用障碍。另外,Go的内存模型现在也明确定义了sync/atomic组件的行为,修改后的happens-before关系定义,现在与C、C、Java、JavaScript、Rust和Swift等程序语言一致。当前程序不受此修改影响。

Go的垃圾回收器则加入了一个软性的内存限制,该限制对于在专有内存容量的容器中,优化Go程序尽可能提高运行效率特别有用。