🏄 SRE 冲浪记 - 2

date
Sep 12, 2023
slug
sre-surfing-2
status
Published
tags
surfing
tech
summary
冲浪记
type
Post
夜晚的鹦鹉洲长江大桥
夜晚的鹦鹉洲长江大桥

观点

GIL or no GIL ?

在损失 5-10% 单核情况下去掉 GIL,提升多核效率,这会是 Python 以后的发展方向吗?
我们知道,提升多核的主要原因是需要释放更多的 CPU 计算能力,也就是在数据分析、AI 计算领域会有更大的用途,在传统的 Web 工程里,IO 出现瓶颈是更普遍的事,单核性能也许会更关键。
随着 AI 等领域进一步发展,Python 在 Web 工程上的使用占比也许会进一步减少——根据 JetBrains 的调查统计,2022 年 Web 开发比 2021 年少了 6% 的占比 (2021 vs 2022),那么以后的 Python 是会拥抱大数据和 AI 领域,彻底走上去除 GIL 的道路,还是分裂成两个编译版本、两个社区呢?让我们拭目以待吧。

Why did Python win?

一些人讨论为什么 Python 比 Ruby 在这些年市场增长更快。
但 Python 真的赢了吗?在 Web 开发领域,现在依旧是不同领域有不同的专精语言和框架,远谈不上“赢”,而在 AI 领域,至少现在会有一些新兴的对手,比如 Mojo,一个不管会不会流行,但注定会“火”的面向 AI 编程语言。

为什么 Python 没有尾递归优化?

接上一期的尾递归优化内容,为什么 Python 里没有呢?核心原因是 Guido 并不认为递归是所有编程的基础。

旧文拾遗:如何做一个有质量的技术分享

为什么 Rust 是开发者中最受推崇的语言

不管你有没有开始写 Rust,但一定也被这股 “Rust 重写一切” 的风刮到过,为什么呢?Github 官方博客给出了他们的答案。
(不说了,明天就开始学写 Rust 🫠)

实践

Go 的内存逃逸

Go 的 GC 虽然有不少优化,但终究是 STW,减少逃逸代码是相对必要的。

Go 的 PGO 发布了

可以想见,如果能够结合上 Continuous Profiling(可以看以前的一篇漫谈了解更多),翔实的线上数据作为分析基底,加上 PGO 的优化,也许会让一些比较稳定的成熟服务得到较大的性能提升。

函数柯里化

在 JS 非常实用,在 Python 中我们该如何实现它呢?
虽然我还没想到它能在日常使用中提升什么可读性。

布谷鸟过滤器

相较于更原始的布隆过滤器,有四个更优的点:
  • 它支持动态添加和删除项;
  • 它提供了比传统的布隆过滤器更高的查找性能,即使当其接近满载(例如,95%的空间已被使用);
  • 它比诸如商过滤器等替代品更容易实现;
  • 在许多实际应用中,如果目标假阳性率 ε 小于3%,则它使用的空间小于布隆过滤器;

pypi-timemachine

这个库有一点意思:能够模拟在你给定某个过去的时间点安装 pypi 依赖,对于很多没有 lock 文件的旧项目会有点用。不过都这年头了,还在用原生 pip 维护管理依赖的项目真的应该升级到新工具了😂
notion image

小憩

meme 赏

notion image

antigravity

非常有名的网络漫画,在 Python import antigravity 就能打开。

全国地铁数据库

有时可以从地铁数据一瞥城市的经济状态。

Google 随机街景

该网站收集了非常多奇怪且有趣的 Google 街景。比如我找到一个波兰的盐矿教堂,看起来立马让我想起了盐与避难所这款游戏。

Fin

等等,这个还有第二期?没想到吧,在胡乱编完了第一期后,又抠抠索索搞了第二期。
以下是一些自问自答。
 
Q:你这个发布有什么时间周期吗?
A:没有,我觉得内容攒的差不多了就发一期,也许半个月也许一个月,取决于我日常工作是否繁忙。好吧,实际也没人关心这个。

Q:为什么内容我好像在哪里看过?
A:没错,我就是四处摘抄。网络上有不少很成熟的个人周刊、RSS,我这个就是从这些高手的信息流中淘漉而来。做一个重口味的比喻,信息流的人体蜈蚣,我这个肯定是在很后面的一个。

Q:内容有主题吗?
A:没有,凡是我觉得有点子意思的内容(除了 NSFW),我就会摘抄过来。一定程度上,这些信息就是我个人的兴趣点展览。如果你也喜欢这里面的内容,欢迎评论交流,我们很可能可以聊得来;如果你不喜欢,也请轻喷或者直接关掉页面,不好意思浪费你时间了。
 

© bluesyu 2019 - 2024

powered by nobelium