Posts for: #Python

tzf 的演进过程

tzf 及相关项目的基础开发工作基本稳定了,在之前的文章零星有些开发和设计过程的资料:

这一篇是最终的总结,从项目的启动到逐步优化和演进的过程。

Read more →

用 Go 编写 Python 扩展

tzfpy 是 tzf 的 Python binding。 如果只是本地可用,Go 代码加上 CGO 扩展编译成 .so 文件就能用了。 不过要做成发布到 PyPI 上在其他地方能直接安装的 wheel 是有些曲折的,看 CI 失败的记录就挺明显的。

Read more →

Go 在只读高并发场景下的优化

距离决定用 FastAPI 重写 Flask 应用已经过去了一年了, 年中的时候在 FastAPI 上尝试了很多性能优化方案,但机器的负载水平已经快到头了, 只能承认这条路走不通,需要换一个快得多语言来做。 决定用 Go 再重写,又经历了若干次的优化,目前已经稳定运行。 线上峰值 QPS 接近 10K,应用内统计延迟在 2ms 之内,依赖服务统计延迟在 13ms 左右。 记录下若干有意思的事情。

Read more →

利用 GitHub Action 自动发布 PyPI 包

在 2019 年夏天,我们将两个 Python 包 ujsonrb 做了些调整与更新,以适合 Python3.6+ 环境下的运行。发现 PyPI 的发布比较繁琐,当时试图做些自动化的工作,但是没找到方向,就先搁置了。后来在一次的小版本发布时出现了 GitHub Release 的 tag 和 PyPI 最新版的 tag 不一致的情况 caiyunapp/ultrajson#8

Read more →