性能
已收录文章:59篇
-
Redis Lua 脚本一旦超过 lua-time-limit,会阻塞其他命令并返回 -BUSY。本文用一个长脚本现场说明如何确认阻塞、何时可以 SCRIPT KILL、写入后为什么只能重启,以及如何在脚本侧避免再次拖住主线程。196 收藏
-
Python 3.14 新增的多解释器线程池能让多个独立解释器在同一进程中并行处理 CPU 密集任务,但它不共享可变对象。本文用一个可验收的小实验检查参数序列化、解释器隔离、异常回收和退出边界,帮助你判断它是否适合现有 Python 服务。308 收藏
-
Python 3.14 新增的多解释器线程池能让多个独立解释器在同一进程中并行处理 CPU 密集任务,但它不共享可变对象。本文用一个可验收的小实验检查参数序列化、解释器隔离、异常回收和退出边界,帮助你判断它是否适合现有 Python 服务。157 收藏
-
Golang · Go问答 | 2个月前 | 错误处理 · go · 性能 · bytes.Buffer · Go 1.26 · io.EOF 版本迁移 Go 1.26 bytes.Buffer.Peek 缓冲区预览Go 1.26 为 bytes.Buffer 增加 Peek 方法,可以在不推进读取位置的前提下预览前 N 个字节。本文对比 Next 和 Peek 的行为,说明 io.EOF、切片有效期、旧工具链兼容与测试边界。428 收藏
-
小报表可以由浏览器直接生成,大数据量报表则应交给后端异步任务,并通过进度事件和短时下载地址交付。关键不是文件后缀,而是浏览器内存、请求时限、失败重试和权限边界。331 收藏
-
Go 中用 buffered channel 或 golang.org/x/sync/semaphore 限制并发都能工作,但取消传播、加权资源和任务排队方式不同。本文从一个批量抓取场景出发,对比两种实现的边界,并给出选择与验收清单。384 收藏
-
Java Optional.orElse 会在参数求值阶段执行备用方法,即使 Optional 已经有值也无法跳过副作用。本文用订单缓存回源场景对比 orElse 与 orElseGet,说明调用时机、性能成本、空值边界和可验证的测试写法。150 收藏
-
Golang · Go教程 | 2个月前 | 容器 · go · 性能 · kubernetes · 运行时 · Kubernetes GOMAXPROCS cgroup Go 1.25 容器 CPU 限额Go 1.25 开始,Linux 容器中的默认 GOMAXPROCS 会参考 cgroup CPU 限额,并在限额变化时自动更新。本文用最小示例说明旧代码的风险、GODEBUG 兼容开关、runtime.SetDefaultGOMAXPROCS 和上线前检查。438 收藏
-
asyncio.to_thread 能让事件循环避开同步阻塞函数,但它不会把 CPU 密集型代码变成真正并行。文章用一个可运行实验拆开线程池容量、取消语义、异常传递和优雅停机边界,给出上线前的检查清单。291 收藏
-
文章 · php教程 | 2个月前 | 性能 · 面向对象 · PHP · PHP 8.4 · ReflectionClass PHP 8.4 Lazy Objects newLazyGhost newLazyProxy PHP懒加载PHP 8.4 的 Lazy Objects 把延迟初始化交给 ReflectionClass。文章用订单详情对象演示 Ghost 与 Proxy 的差异、哪些操作会触发初始化,以及如何用 isUninitializedLazyObject 和最小测试确认边界。310 收藏
-
Python 用 functools.lru_cache 缓存配置读取函数后,配置文件已经更新,接口却还返回旧值。问题通常不在文件读取,而在缓存键和清理时机。本文从一个可复现的小场景出发,说明 cache_clear、参数设计和并发刷新时需要核对的边界。339 收藏
-
Golang · Go问答 | 2个月前 | go · 性能 · kubernetes · 运行时 · Kubernetes GOMAXPROCS Go问答 Go 1.25 SetDefaultGOMAXPROCS 容器CPU配额同一份 Go 服务部署到 Kubernetes 后,节点有 16 个核,Pod 却只限 2 个核,手动设置的 GOMAXPROCS 还可能在扩缩容后失真。Go 1.25 已让运行时默认读取容器 CPU 配额,本文用一个可复现的小程序说明如何检查旧配置、恢复运行时默认值,并给出上线前的边界清单。467 收藏