如何优化go性能
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,本篇内容主要讲解"如何优化go性能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何优化go性能"吧!记录一下对核心处理逻辑的优化因为虚拟ip对应十进制数
千家信息网最后更新 2025年01月18日如何优化go性能
本篇内容主要讲解"如何优化go性能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何优化go性能"吧!
记录一下对核心处理逻辑的优化
因为虚拟ip对应十进制数范围是168493058, 168558590,因此我们将其类型从int改成uint64,不改成uint32是为了好计算; 其次字符串拼接方法用string.Join,在最后,是用数组代替切片的场景
用切片存储字符串 join方法拼接字符串切片
// 对应的虚拟IP段是 10.11.0.2 10.11.255.253 最小和最大可以分配的虚拟IP对应的uint64const VIPMIN, VIPMAX uint64 = 168493058, 168558590var fieldMaps = [4]uint64{24, 16, 8, 0}// OctToVipArray 数组func OctToVipArray(vipOct uint64) (addr string) { if vipOct < VIPMIN && vipOct > VIPMAX { log.Fatal("传入错误十进制整数,检查是否所有虚拟IP都分配出去") return } else { var vips [4]string for index, value := range fieldMaps { vips[index] = strconv.FormatUint(vipOct>>value&0xff, 10) } return strings.Join(vips[:], ".") }}
用数组存储字符串 join方法拼接字符串数组
// octToVipSlice 切片func OctToVipSlice(vipOct uint64) (addr string) { if vipOct < VIPMIN && vipOct > VIPMAX { log.Fatal("传入错误十进制整数,检查是否所有虚拟IP都分配出去") return } else { var vips []string for _, value := range fieldMaps { vips = append(vips, strconv.FormatUint(vipOct>>value&0xff, 10)) } return strings.Join(vips, ".") }}
基准测试
测试函数
// 基准测试func BenchmarkA(b *testing.B) { b.ResetTimer() for index := uint64(168507432); index <= uint64(168558590); index++ { // 待测试方法 OctToVipArray(168493058) }}func BenchmarkB(b *testing.B) { b.ResetTimer() for index := uint64(168507432); index <= uint64(168558590); index++ { // 待测试方法 OctToVipSlice(168493058) }}
# 测试Benchmark开头的go test -bench=Benchmark* -benchmem -run=none# 看cpu和内存 go test -bench=Benchmark* -benchmem -run=none -memprofile memprofile.out -cpuprofile profile.out
测试截图
cpu
内存
用web端查看可视化结果
到此,相信大家对"如何优化go性能"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
测试
方法
字符
字符串
数组
性能
十进制
十进
分配
内存
内容
基准
整数
错误
存储
学习
检查
实用
更深
最大
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
赴日软件开发
数据库比较工具
科技创新工业互联网
网络安全管理大赛视频下载
信息网络安全时代的
银川新华互联网科技学校地址
数据库技术与大数据应用作业
恋爱软件开发的原因
网络安全绘画动漫头像
网络安全红蓝攻防
网络技术创新研究院
宝山区营销软件开发售后服务
软件开发外包合同书范本
数据库访问技术是什么
完善网络安全应急处置机制
广东城市队伍管理软件开发
计算机网络技术课本基本概念
绍兴app软件开发定做价格
漳平市开展网络安全宣传活动
技嘉x58能上服务器内存
关系数据库为什么要规范化
国资委网络安全概念股
mysql下载数据库
数据库引擎无法
破坏水资源的数据库
青岛软件开发赵莹
网络技术与应用 ppt
数据库访问技术是什么
上海知名的网络安全公司
网络技术笔试重点