程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
性能 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
Go 1.28 提案:freegc、M-local storage、SIMD 与 Wasm 栈切换的进度
编程
Go 1.28 提案:freegc、M-local storage、SIMD 与 Wasm 栈切换的进度
2026-10-29 21:10:19
Go 1.28 的提案清单里,影响运行时的是编译器插入 runtime.free 的 freegc 实验(默认 16 字节阈值)和 sync 的 M-local 分片计数;另有 SIMD 的 archsimd 与可移植 simd 包进度、Wasm 栈切换只有约 20% 原生性能的现状。全部仍是提案。
Go
运行时
性能
PHP 8.6 的 Io\Poll:900 连接下吞吐 3.88 倍,不用再手搓三个引用数组
编程
PHP 8.6 的 Io\Poll:900 连接下吞吐 3.88 倍,不用再手搓三个引用数组
2026-10-22 21:03:21
PHP 8.6 新增 Io\Poll:用 Context/Event/StreamPollHandle 加 watcher 元数据取代三个引用数组。整理 stream_select 的状态与 1024 fd 上限问题、第三方基准(900 连接 3.88 倍吞吐)、注册 Write 的真实语义、TLS 流 unread_bytes 的修复,以及 8.6 还缺定时器与信号。
PHP
并发
IO多路复用
性能
PHP 8.6 RC3 修掉两个自己引入的回归:fiber 里的 warning 和快 4% 的 hrtime()
编程
PHP 8.6 RC3 修掉两个自己引入的回归:fiber 里的 warning 和快 4% 的 hrtime()
2026-10-22 20:03:12
PHP 8.6 RC3 有一半的修复是在收拾 8.6 自己引入的回归:没有 php.ini 时 fiber 以 error_reporting=0 启动,官方 Docker 镜像里 fiber 内 warning 全部消失;hrtime() 因改用 CLOCK_MONOTONIC_RAW 在 WSL2 上快约 4%,且在 Linux 5.3 之前不走 vDSO;array_map 的快速路径在 strict_types=1 下开始做类型检查。文中给出复现片段、实测数据与 RC 阶段该验证什么。
PHP
版本升级
运维
性能
回归测试
编译器替你 free:GOEXPERIMENT=runtimefreegc 的插入条件、16 字节阈值与收益边界
编程
编译器替你 free:GOEXPERIMENT=runtimefreegc 的插入条件、16 字节阈值与收益边界
2026-10-20 21:06:14
Go 的 runtimefreegc 实验让编译器在能证明对象已死的位置插入 runtime.free,减少 GC 扫描对象。本文讲它想省掉哪段工作、为什么阈值定在 16 字节、与 Go 1.25 栈分配 32 字节阈值方向相反的关系,以及哪些场景会纯亏,附 gotip 基准写法。
Go
GC
编译器
性能
PHP 8.6.0 RC3 撤回三处「更快」改动:hrtime() 快了 4%、fiber 里警告被静音
编程
PHP 8.6.0 RC3 撤回三处「更快」改动:hrtime() 快了 4%、fiber 里警告被静音
2026-10-18 21:02:32
PHP 8.6.0 RC3 回滚了 8.6 自己引入的三处回归:fiber 内警告被静音、hrtime() 改用 CLOCK_MONOTONIC_RAW 后快约 4%、strict_types=1 下 array_map 加速路径抛 TypeError,另有 OPcache 把负零折叠。含实测表格与升级注意。
PHP
版本升级
性能
Go 1.27 的 encoding/json 换内核:升级后默认行为变了,any 解析反而更慢
编程
Go 1.27 的 encoding/json 换内核:升级后默认行为变了,any 解析反而更慢
2026-10-17 21:03:50
Go 1.27 的 encoding/json 变成 json/v2 的兼容层后,升级即生效的行为差异:非法 UTF-8 报错、字段名大小写敏感、nil slice 变 []、[]byte 变 base64、Duration 无默认格式;以及解到 any 反而慢 1.5 倍的原因和渐进迁移顺序。
Go
JSON
版本升级
性能
Redis 8.8 的 INCREX:把 INCR + EXPIRE 限流合成一条原子命令
代码
Redis 8.8 的 INCREX:把 INCR + EXPIRE 限流合成一条原子命令
2026-10-14 21:02:54
Redis 8.8 新增的 INCREX 把 INCR、INCRBY、上下界与过期合并成一条原子命令,专门做窗口计数限流,省掉 INCR+EXPIRE 的事务包装。另记录新的 Array 数据结构、hash 字段级通知与 8.8 的性能优化项。
Redis
限流
缓存
新命令
性能
Go 1.27 goroutine 泄漏剖析:用 GC 可达性找出永久阻塞的 goroutine
编程
Go 1.27 goroutine 泄漏剖析:用 GC 可达性找出永久阻塞的 goroutine
2026-10-11 21:01:23
Go 1.27 把 goroutineleak 做成正式 pprof profile:借 GC 的可达性计算,找出永久阻塞在 channel 或 sync 原语上的 goroutine。本文给出 /debug/pprof/goroutineleak 的 curl + go tool pprof 用法、五步检测原理,以及它的局限:阻塞在仍可达原语上的泄漏检测不到。
Go
goroutine
pprof
性能
运行时
runtime/pprof
es
net/http
服务
ST
sync
Log
goroutine leak
PR
OTA
url
类型
Bug
Dev
in
func
IM
type
Profiler
Go 1.27 的 simd 包:一份向量代码同时跑 AVX、NEON 和 wasm
编程
Go 1.27 的 simd 包:一份向量代码同时跑 AVX、NEON 和 wasm
2026-10-10 21:02:48
Go 1.27 引入平台无关的实验性 simd 包,用 GOEXPERIMENT=simd 就能写一份向量代码跑在 amd64(AVX/AVX2/AVX512)、arm64(NEON)和 wasm 上。本文梳理它如何隐藏宽度与掩码差异、支持哪些操作、怎样与 archsimd 互转,以及 GODEBUG=simd 各档位的含义。
Go
SIMD
性能
ARC
ARM64
amd64
RVV
avx
AVX512
内存
代码
能力
1.26
IM
25
PHP 8.5 curl_share_init_persistent:跨请求复用 cURL 共享句柄
编程
PHP 8.5 curl_share_init_persistent:跨请求复用 cURL 共享句柄
2026-10-08 21:02:58
PHP 8.5 新增 curl_share_init_persistent,让 cURL 共享句柄跨请求存活并复用 DNS/连接/TLS 会话。本文讲清选项数组、禁止共享 cookie 抛 ValueError、需自设 CURLOPT_MAXCONNECTS、== 而非 ===,以及 Guzzle multi-handle 的支持现状。
PHP
cURL
性能
Guzzle
连接复用
8.5
init
MySQL 9.7 社区版启用 hypergraph optimizer:默认关闭,sysbench 两个只读场景提升 26%/15%
代码
MySQL 9.7 社区版启用 hypergraph optimizer:默认关闭,sysbench 两个只读场景提升 26%/15%
2026-10-07 21:01:39
MySQL 9.7 LTS 把 hypergraph optimizer 下放到社区版:把 join 当图搜索、支持 bushy plan、nested-loop 与 hash join 做真正基于代价的比较。默认关闭,需 optimizer_switch 或 SET_VAR hint 开启。sysbench 只读场景提升 26%/15%,基数估计不准时经典优化器仍可能更优。
MySQL
数据库
查询优化
Join
性能
哈希
成本
消息
9.7
社区版
Go 1.24 的 map 换成了 Swiss Table:从 8 槽 group 到 #81299 的无限 split
编程
Go 1.24 的 map 换成了 Swiss Table:从 8 槽 group 到 #81299 的无限 split
2026-10-05 21:31:39
拆解 Go 1.24 起内置 map 的 Swiss Table 实现:8 槽 group 与 uint64 控制字、H1/H2 切分、三角探测、7/8 load factor、1024 槽后 split、directory 与 global/local depth;并用 golang/go#81299 的最小复现说明同哈希键超过 896 个时为何会无限 split 与 OOM。
Go
SwissTable
map
运行时
哈希表
性能
布局
哈希
Valkey 9.2 forkless BGSAVE 实测:内存尖峰从 350MB 降到 10MB,代价是慢 70%
综合
Valkey 9.2 forkless BGSAVE 实测:内存尖峰从 350MB 降到 10MB,代价是慢 70%
2026-10-04 20:03:48
Valkey 9.2.0-rc1 提供跳过 fork 的 RDB 快照。实测 1.1GB 工作集持续写入下,fork 每次多耗约 350MB 内存,forkless 全程不超过 10MB;但保存时间从 3s 涨到 5-6s、写吞吐掉约 15%,且 AOF rewrite 仍然 fork、infrastructure 开关不可热改。附双指标测量与复现命令。
Valkey
Redis
运维
性能
快照
SQLite 3.53 ALTER COLUMN SET NOT NULL:六次写入替代全表重建
代码
SQLite 3.53 ALTER COLUMN SET NOT NULL:六次写入替代全表重建
2026-10-04 20:01:52
SQLite 3.53.0 新增 ALTER TABLE ... ALTER COLUMN ... SET NOT NULL/DROP NOT NULL,用实测数据对比它与传统「建新表-搬数据-重建索引」的差异:写入从 69,843 次降到 6 次、快 150~180 倍,但无索引列仍要全表扫描,报错也不点名列名。附 strace 计数、锁行为与复现脚本。
SQLite
数据库
性能
Schema迁移
ALTER
TABLE
VM
DX
MySQL 9.7.0 两处 InnoDB 修复:统计为空时丢索引路径,并行扫描回退踩断言
资讯
MySQL 9.7.0 两处 InnoDB 修复:统计为空时丢索引路径,并行扫描回退踩断言
2026-09-30 21:03:31
MySQL 9.7.0(LTS) 两处 InnoDB 修复的故障特征与排查:dict_stats_analyze_index() 在空索引统计被并发读到或出错致空统计时丢弃最优索引访问路径(Bug #33472935),并行扫描线程创建失败回退单线程触发 row0pread.h:306 断言(Bug #38325137),附 information_schema.STATISTICS/ANALYZE TABLE/error log 排查手法。
MySQL
数据库
性能
9.7
PHP 8.6 闭包优化只合了一半:无状态闭包缓存已落地,static 推断被撤回
编程
PHP 8.6 闭包优化只合了一半:无状态闭包缓存已落地,static 推断被撤回
2026-09-30 21:02:29
PHP 8.6 的闭包优化 RFC 只落地一半:无状态闭包缓存已合并(同词法位置、static、不捕获变量的闭包复用同实例可用 === 判等,Laravel 模板省 2384/3637 次实例化),而“非 static 闭包推断为 static”因 array_map 等内部函数可经命名 callable 做实例调用而被撤回。
PHP
性能
语言特性
闭包
Go 1.27 工具链:go fix 多了四个 modernizer,小对象分配最快省 30% 但二进制胖 60KB
编程
Go 1.27 工具链:go fix 多了四个 modernizer,小对象分配最快省 30% 但二进制胖 60KB
2026-09-29 21:05:24
Go 1.27(2026-08-19)在工具链和编译器上有几处影响日常的改动:go fix 新增 atomictypes、embedlit、slicesbackward、unsafefuncs 四个 modernizer;go doc 支持 package@version 查询;go mod tidy 自动合并 require 块;go mod init 默认写更低 go 版本;编译器对小对象(<80B)启用 size-specialized 分配,最多省 30%,但二进制约增 60KB,可用 GOEXPERIMENT=nosizespecializedmalloc 关闭。
Go
工具链
编译器
go
mod
升级
性能
Go 1.27 JSON/v2 转正:反序列化提速,结构体切片序列化实测慢约 1.5 倍
资讯
Go 1.27 JSON/v2 转正:反序列化提速,结构体切片序列化实测慢约 1.5 倍
2026-09-23 21:02:58
Go 1.27 的 encoding/json/v2 与 jsontext 不再需要 GOEXPERIMENT=jsonv2,v1 改由 v2 实现支撑。基准显示反序列化明显更快,但对结构体切片做序列化反而慢约 1.5 倍。文中列出 v2 API、拒绝非法 UTF-8 与重复键的严格默认值,以及 GOEXPERIMENT=nojsonv2 回退方式。
Go
版本
性能
JSON
MongoDB 8.0 性能数据:时间序列聚合快 200%,重分片数据分发最高快 50 倍
资讯
MongoDB 8.0 性能数据:时间序列聚合快 200%,重分片数据分发最高快 50 倍
2026-09-22 21:05:33
MongoDB 8.0 主版本对 7.0 的性能数据汇总:时间序列聚合快 200% 以上、重分片数据分发最高快 50 倍、批量写入快 56%。并说明可查询加密支持范围查询,以及 8.0 起 timeField 作时间序列分片键已弃用。
MongoDB
数据库
时间序列
性能
社交
重分片
PHP 8.6 进入 Beta:PFA 通过、clamp() 与 Io\Poll 落地,readonly 属性可以写默认值了
编程
PHP 8.6 进入 Beta:PFA 通过、clamp() 与 Io\Poll 落地,readonly 属性可以写默认值了
2026-09-21 20:01:58
PHP 8.6 定档 2026-11-19,9 月 22 日功能冻结。本文按官方节奏梳理这版的实际改动:部分函数应用(PFA)补完了管道操作符缺的那一半,clamp()、Time\Duration、Io\Poll 轮询 API 与 Stream 统一错误模型落地,readonly 属性可以写默认值,session 三项安全默认值在新装环境里被收紧。
PHP
8.6
语言特性
PFA
性能
闭包
PostgreSQL 18 升级清单:AIO、skip scan 与虚拟生成列,以及 pg_upgrade 保留统计信息
代码
PostgreSQL 18 升级清单:AIO、skip scan 与虚拟生成列,以及 pg_upgrade 保留统计信息
2026-09-10 21:03:49
PostgreSQL 18 的异步 I/O 子系统由 io_method 控制,官方称读存储最多 3×;多列 B-tree 支持 skip scan,虚拟生成列成为默认。本文还整理 pg_upgrade 保留优化器统计、RETURNING 支持 OLD/NEW、uuidv7() 等,并提醒全文检索索引可能需重建。
PostgreSQL
数据库
升级
性能
KIP
Vue 3.6 Vapor Mode 进入 RC:给 script setup 加个 vapor 属性,哪些代码会踩坑
编程
Vue 3.6 Vapor Mode 进入 RC:给 script setup 加个 vapor 属性,哪些代码会踩坑
2026-09-10 21:02:41
Vue 3.6 的 Vapor Mode 进入 RC,给 script setup 加 vapor 属性即可开启。本文讲清 createVaporApp 与 vaporInteropPlugin 两条路线的包体差异、哪些依赖 VNode 与公共实例代理的代码会不可用,并给出现阶段的适用场景与迁移注意点。
Vue
前端
性能
VaporMode
Rust 1.98.0 发布解读:代数浮点方法与缓冲整数格式化稳定
编程
Rust 1.98.0 发布解读:代数浮点方法与缓冲整数格式化稳定
2026-09-09 08:01:13
Rust 1.98.0 发布:f32/f64 新增代数浮点方法允许编译器重排与向量化、整数 format_into 缓冲格式化性能比肩 itoa、ManuallyDrop 与 Box 交互给出稳定保证,另稳定一批字符串与原子类型 API。
Rust
编程语言
浮点运算
性能
代数
React 站点提速:先把图片修好
编程
React 站点提速:先把图片修好
2026-09-08 04:10:36
图片常吃掉页面大半重量:按断点裁剪、WebP/AVIF 格式、懒加载一个属性,但 LCP 主视觉要预加载;四条规则立竿见影。
React
性能
前端
教程
缩略图
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
下一页
共 2 页
到第
页
确定