Go 从版本 1.0 到 1.22的性能变化
两年前,我在 1.2 到 1.18 的所有 Go 版本上比较了 GoAWK 解释器的两个不同基准。在本文中,我重新运行这些基准测试,添加缺少的 Go 版本(1.0 和 1.1)以及新版本(1.19 到 1.22)。我还包含了 Go 1.20 中添加的配置文件引导优化 (PGO) 的结果。我将引用我原
GoCN
10
Go Tips #001 一行代码测量函数的执行时间
“Golang Tips 是翻译的 Phuong Le @func25[1] 陆陆续续的发表的推文,目前已经发表 70+了。我征得 Phuong Le 的同意后,会逐步把这些推翻翻译过来,发布到公众号上。因为是推文,可能原作者的内容比较简单,比如第一个 tip 就一张图片,我会相应的进行扩充,丰富其
GoCN
1209
K8s蓝绿部署:优雅应对应用程序更新挑战
Kubernetes 是一个开源容器编排系统,可简化软件部署、扩展和管理。蓝绿部署是一种部署模式,通过同时运行两个相同的生产环境来最大限度地减少停机时间。通过创建蓝色和绿色部署,设置服务和路由规则,以及执行蓝绿...
GoCN
0
《从慢速到SIMD》聊Go边界检查消除
在翻译的从慢速到 SIMD一文中, SourceGraph 工程师其中的一个优化就是边界检查消除(BCE,bounds check elimination)技术,同时他也抛给了读者一个问题: “ 为啥在使用 a[i:i+4:i+4] 而不是 a[i:i+4]? 本文第一部分先...
GoCN
0
元老与新秀:Go sort.Search()和sort.Find()
sort.Search() sort.Search() 提交于遥远的2010年11月11日,提交者是Go三位创始人之一的Robert Griesemer[1], 随Go第一个正式版本一起发布 从这个意义上说,是标准库元老级的函数了~ sort.Search()[2] 用于在排序的切...
GoCN
0
优化AI生命周期:k8s下大模型部署的新选择!
前言 AI 商业化的时代,大模型推理训练会被更加广泛的使用。比较理性的看待大模型的话,一个大模型被训练出来后,无外乎两个结果,第一个就是这个大模型没用,那就没有后续了;另一个结果就是发现这个模型很有用,那...
GoCN
0
Go语言进入Tiobe指数前10名
谷歌的 Go 语言(即 golang)在 Tiobe 语言流行度指数中达到了历史最高位置。该语言目前在语言流行度排名中排名第八,并且多年来一直在上升。 Go 可能最出名的是用于开发 Docker 和 Kubernetes 的语言, 一年前在 Ti...
GoCN
0
从慢速到SIMG: 一个Go优化的故事
SourceGraph 的工程师 Camden Cheek 提供的一个利用 SIMD 进行 Go 性能优化的故事: From slow to SIMD: A Go optimization story [1]。 这是一个关于某函数的故事,这个函数被大量调用,而且这些调用都在关键路径上...
GoCN
0
极限挑战:使用 Go 打造百亿级文件系统的实践之旅
JuiceFS 企业版是一款为云环境设计的分布式文件系统,单命名空间内可稳定管理高达百亿级数量的文件。 构建这个大规模、高性能的文件系统面临众多复杂性挑战,其中最为关键的环节之一就是元数据引擎的设计。JuiceFS...
GoCN
0
K8Studio登场!全新K8S IDE助力轻松管理集群
K8Studio 是一个新的 Kubernetes 工具,可轻松管理云端或裸机上的 Kubernetes 集群。它提供直观界面,支持在云环境或裸机上管理集群。 K8Studio 致力于创建一个全面的图形界面,使用户能够轻松管理他们的 Kubernetes...
GoCN
0
探索Kubernetes v1.30:激动人心的新功能和升级!
兴奋不?我们不都是吗?Kubernetes v1.30 版本带来了一系列令人期待的更新,包括动态资源分配(DRA)的结构化参数和节点交换内存 SWAP 支持的改进。动态资源分配的结构化参数增加了资源管理的透明度和效率,而节点交换内存的改进则提高了系统稳定性。现在让我们探讨一下将
GoCN
0
Go 1.22引入的包级变量初始化次序问题
细心的朋友可能已经注意到,从春节后,我的博客就“停更”了!实际上,这一情况部分是因为工作上的事务繁忙,另一部分则是因为我将工作之外的闲暇时间更多地投入到一本即将于今年中下旬出版的书的撰写了:在之前的积累基础上,我花了两个多月的时间完成了初稿。当然,我也深切地怀念博客写作所带来的乐趣和与读者的互动。正
GoCN
0
亲测体验Go语言模糊测试
何为 模糊测试 (Fuzz Testing)? 模糊测试是一种自动化的软件测试技术,它通过向程序提供无效、意外或随机的数据作为输入来检测软件中的错误、漏洞或失败。这种测试方法的目的是找到程序处理意外或异常输入时可能会崩...
GoCN
0
不看就落后了,Go 1.22 中更好的http router
很多人为了使用Go web中更好的路由,会使用第三方的库 httprouter、gorilla/mux等。在明年的春节左右发布的Go 1.22中,Go官方终于对标准库中的http.ServeMux下手了,对它的功能进行了优化,终于可以抛弃第三方库了。...
GoCN
0
别再用GDB了,一文掌握Go最好用的调试器Delve
2024年我们将全面开启线下meetup,为了确保我们的活动能够满足大家的需求和兴趣,希望邀请大家一起参与投票,选择最适合的城市。 另外我们开放2024议题征集通道,欢迎各位有实战经验、独特观点的小伙伴勇跃分享~ 议...
GoCN
0
如何从 0 到 1 搭建十亿级包裹 API Versioning ?
AfterShip 是一家服务国际电商赛道的 B2B SaaS 公司,自 2012 年成立。 近几年业务持续高速增长, 主要业务包括提供全球物流订单追踪系统、退换货系统、邮件营销、商品推荐等电商 SaaS 解决方案 。 在近日,AfterShi...
GoCN
0
直播:GopherChina 2023 亮点抢先看--组件应用专场
?我在这儿 今年的 GopherChina大会 总计设有 8 场分论坛,包括 Go 企业级应用专场、Go 语言组件应用专场、基础工具链专场、开源生态专场、云原生专场及业务架构专场等。 Go 语言组件应用专场中涵盖了 Go 在服务端...
GoCN
0
「每周译Go」用 ldflags 设置 Go 应用程序的版本信息
目录 在 Go 中导入包 理解 Go 中包的可见性 如何在 Go 中编写条件语句 如何在 Go 中编写 Switch 语句 如何在 Go 中构造 for 循环 在循环中使用 Break 和 Continue 如何在 Go 中定义并调用函数 如何在 Go 中使用可变...
GoCN
0
Service Weaver : 一个用于编写分布式应用的框架
?你懂的 我们很高兴来介绍 Service Weaver,这是一个用于构建和部署分布式应用程序的开源框架。Service Weaver 允许您将应用程序编写为一个模块化的单体应用,并将其部署为一组微服务。 更具体地说,Service Weaver...
GoCN
0
今天,微软重新发明搜索引擎:首款ChatGPT搜索来了
从现在起,比 ChatGPT 更强大的语言模型直接进入了你的浏览器。 一夜之间,全球最大的科技公司仿佛都回到了自己年轻时的样子。 在谷歌宣布「实验性对话式人工智能服务」Bard 之后仅 24 小时,北京时间 2 月 8 日凌晨...
GoCN
0