刷新
golang slice相关常见的性能优化手段

博主头像 介绍一些开发中常用的slice关联的性能优化手段。鉴于golang编译器本身捉鸡的优化能力,优化的成本就得分摊在开发者自己的头上了。 这篇文章会介绍的优化手段是下面这几样: 创建slice时预分配内存 操作slice前预分配内存 slice表达式中合理设置cap值 添加多个零值元素的优化 循环展开 ...

Go语言Context包源码学习

博主头像 0前言 context包作为使用go进行server端开发的重要工具,其源码只有791行,不包含注释的话预计在500行左右,非常值得我们去深入探讨学习,于是在本篇笔记中我们一起来观察源码的实现,知其然更要知其所以然。(当前使用go版本为1.22.2) 1核心数据结构 整体的接口实现和结构体embed ...

2000+多种开源大模型随意部署!一键搭建本地大模型,不挑环境、不挑配置(ollama 安装部署教程《Windows/Linux,Mac》)

博主头像 2000+多种开源大模型随意部署!一键搭建本地大模型,不挑环境、不挑配置(ollama 安装部署教程《Windows/Linux,Mac》) 一、Ollama介绍 2.1 基本介绍 Ollama是一个支持在Windows、Linux和MacOS上本地运行大语言模型的工具。它允许用户非常方便地运行和使 ...

你为什么不应该过度关注go语言的逃逸分析

博主头像 逃逸分析算是go语言的特色之一,编译器自动分析变量/内存应该分配在栈上还是堆上,程序员不需要主动关心这些事情,保证了内存安全的同时也减轻了程序员的负担。 然而这个“减轻负担”的特性现在却成了程序员的心智负担。尤其是各路八股文普及之后,逃逸分析相关的问题在面试里出现的频率越来越高,不会往往意味着和工作 ...

web服务器静态资源下载

博主头像 1. 使用 Beego 实现静态文件下载 Beego 是一个强大的 Go Web 框架,提供了处理静态文件的功能。通过简单的配置,我们可以将本地文件夹作为静态资源目录,并为用户提供下载链接。 1.1 配置静态文件路径 首先,在 main.go 中,我们使用 SetStaticPath 将本地的 st ...

使用AVX2指令集加速推荐系统MMR层余弦相似度计算

博主头像 原文:blog.fanscore.cn/a/62/ 1. 背景 前一段时间公司上线了一套Go实现的推荐系统,上线后发现MMR层虽然只有纯计算但耗时十分离谱,通过pprof定位问题所在之后进行了优化,虽然降低了非常多但是我们认为其中还有优化空间。 可以看到日常平均耗时126ms,P95 360ms。 ...

golang的类型转换

博主头像 今天我们来说说一个大家每天都在做但很少深入思考的操作——类型转换。 本文索引 一行奇怪的代码 go的类型转换 数值类型之间互相转换 unsafe相关的转换 字符串到byte和rune切片的转换 slice转换成数组 底层类型相同时的转换 别的语言里是个啥情况 总结 一行奇怪的代码 事情始于年初时我对 ...

sync.Map的实现原理

博主头像 在 Go 语言中,sync.Map 是一个并发安全的映射结构,专门用于在高并发场景下处理键值对数据。它的并发安全是通过内部实现机制来保证的,而不是依赖外部的锁机制(如 sync.Mutex 或 sync.RWMutex)来手动保护操作。 sync.Map 并发安全的实现原理 sync.Map 采用了 ...

Go语言基础-常见编码(Json、Base64)

博主头像 编码 json json是go标准库里自带的序列化工具,使用了反射,效率比较低 easyjson值针对预先定义好的json结构体对输入的json字符串进行纯字符串的截取,并将对应的json字段赋值给结构体 easyjson -all xxx.go 生成go文件中定义的结构体对应的解析xxx.go所在 ...

go语言环境搭建

博主头像 相对于其他语言,go语言的环境搭建及其简单 官网 https://go.dev/dl/ 访问不了的就访问中文网就好了 go安装包下载 https://studygolang.com/dl 安装指定版本的安装包就好了 windows下的安装 windows就选 windows-arm64.zip就好了 ...

炸裂!新版 SD WebUI Forge 出图速度更快!支持最新Flux 模型!(保姆级安装教程)

博主头像 大家是不是经常为SD WebUI卡顿、爆显存而苦恼?一启动SD 电脑就开始发烫, 尤其低显存用户屡屡"中招",不得不一遍遍重启。作为AI绘画的必备工具,WebUI却还有这么多"坑",着实让人不爽! 好消息是,WebUI作者张吕敏博士也发现了这个问题,终于推出了升级版 SD WebUI Forge ...

AI证件照,抠图、换背景、任意尺寸...有了这个神器,证件照通通自己搞定(本地化部署教程)

博主头像 最近有个Github开源的AI证件照神器火了,以后再也不用专门跑一趟照相馆拍证件照了! 你随手一张日常生活照或自拍,上传到它那里,分分钟就能帮你换上。 蓝底、白底,抠掉杂乱的背景,生成各种尺寸规格的证件照。 这款名叫HivisionIDPhotos的开源工具,它不仅能帮你便捷地制作出免冠白底照、蓝底 ...

AI超强语音转文本SenseVoice,本地化部署教程!

博主头像 模型介绍 SenseVoice专注于高精度多语言语音识别、情感辨识和音频事件检测 多语言识别: 采用超过40万小时数据训练,支持超过50种语言,识别效果上优于Whisper模型。 富文本识别: 具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。 支持声音事件检测能力,支持音乐 ...

阿里重磅开源Qwen2-VL:超越人类的视觉理解能力,从医学影像到手写识别,这款开源多模态大模型究竟有多强?(附本地化部署教程)

博主头像 阿里重磅开源Qwen2-VL:超越人类的视觉理解能力,从医学影像到手写识别,这款开源多模态大模型究竟有多强?(附本地化部署教程) 模型介绍 最近呢,阿里巴巴开源了Qwen2-VL,在多模态大模型展现了在实际应用中的巨大潜力,尤其是在处理跨模态数据方面表现出众。以下是该模型的几大应用亮点: 智能客服新 ...

Go语言中的交互式CLI开发:survey库简介

博主头像 在构建命令行工具时,良好的用户交互体验至关重要。尤其是在需要与用户进行复杂输入的场景下,传统的命令行参数和标志可能显得笨拙。github.com/AlecAivazis/survey/v2 是一个为 Go 语言设计的库,专门用于构建交互式的命令行界面。它提供了多种用户输入方式,让你的 CLI 工具变 ...

[golang]查询ssl证书剩余有效天数并邮件提醒

博主头像 前言 自从云厂商的免费ssl证书改成3个月,而且证书数量还是20个之后,自己网站的ssl证书就换成了其它免费方案。但是免费方案不会提醒证书过期,所以写个工具每天定时查询证书剩余有效天数,如果证书即将过期,就发送邮件提醒。 基本实现 最基本的代码功能就是检测网站ssl证书的有效天数,可以用命令行传参的 ...

go.uber.org/ratelimit 源码分析

博主头像 go.uber.org/ratelimit 源码分析 go 提供了一用来接口限流的包。其中"go.uber.org/ratelimit" 包正是基于漏桶算法实现的。 使用方式: 通过 ratelimit.New 创建限流器对象,参数为每秒允许的请求数(RPS)。 使用 Take() 方法来获取限流许 ...

浅触go中的单元测试

博主头像 对于一个写好的功能模块,我们还需要对其进行单元测试,确保该模块不会出现其他bug,或者输出不是期望结果 对于一个go程序,主要设计以下命令: 执行测试 go test -v / go test 执行某个子测试用例 go test -run=TestSplit/case_1 查看测试覆盖率 go te ...

“就是打一打”清华程思元打出百度之星20年史上罕见两连冠

博主头像 8月18日,被称为“技术界奥斯卡”的2024百度之星程序设计大赛(以下简称“百度之星” )落下帷幕。近千人同场敲代码、中学生几乎垄断奖项、背靠背冠军诞生……百度之星像中国编程次世代的技术嘉年华,越来越多人加入其中。 近千学霸角逐“编程奥斯卡”,初小学生比例创新高 百度之星于2005年开赛,是国内唯一 ...

<1···67