Hantong 最近的时间轴更新
Hantong

Hantong

V2EX 第 533120 号会员,加入于 2021-02-13 09:49:19 +08:00
根据 Hantong 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
Hantong 最近回复了
11 天前
回复了 hahiru 创建的主题 Windows 轻易别更新 win11 24h2,又拉了一坨
说白了要不是大小核谁升级 Windows 11, 用 Windows 不还是因为蛮多专业软件只有 Windows 版本, 游戏也是... 所以求稳才是第一.
11 天前
回复了 bingyin 创建的主题 DNS 自建了个国内的 DoH,有兴趣的欢迎来看看
卧槽, 分分钟被取消备案, 国内机器搭 DNS 是违法的我记得
想趟浑水就买, 最多买点短期的.
楼上有说屏蔽 MCDN 的, 实测会导致更加卡顿, 因为得等播放器 fallback 到备用地址.

一个相对有效的解决方案是: 有软路由的话直接 ban 掉 HTTP DNS, 没有就只能安装 AdGuard 一类的软件本地拦截, 同时 api.bilibili.com / app.bilibili.com / *.biliapi.net / *.biliapi.com 仅解析 IPv6(遇到 CNAME 是 *.bilicdn.* 这种自建机房可能没 IPv6 的就麻烦了), 拿到的资源连接大多数就是 mirror 型的 CDN, 也就是大厂提供的 CDN 了.

至于代码层面的限速, 等人开发个模块吧.

B 的技术向来垃圾, 现在还搞降本增笑, AV1 的码率都压得面目全非了, 还会卡顿, 只能说褒姒.
B 站 APP 端的 ijkplayer 明确是有限速相关代码的, 可以用模块的方式干掉(? 但是目前似乎没有, 似乎是 native 层级别的限制).

此外, B 站大量运用了 MCDN / BCache CDN / PCDN, MCDN (mcdn.bilivideo.*) 和 PCDN (纯 IP 没域名那种, 或者迅雷那个 sy 什么什么的, 南方沿海见得多一点) 众所周知的质量相当差, BCache CDN 作为 B 自建的 VOD CDN, 速度各个地区差异蛮大, 有些地方机房带宽便宜速度就好.

以上是我给一个模块开发替换视频 UPOS 功能时的总结.
115 天前
回复了 yaott2020 创建的主题 程序员 发现 Rust 的 target 比 node_modules 还离谱
@Ocean810975 同意. 我个人不是科班出身, 拿 Rust 入的门, 然后因为参与维护了一个安卓项目, 从学习大佬的代码开始学会了 Kotlin, 后面才补课的 C, 现在因为自己的小项目用到略接触到 Go. Python, JavaScript or TypeScript 也会写一点. 我会的这些语言里面最擅长也最喜欢的就是 Rust, 其次是 Kotlin.

记得 This Week in Rust 分享了一篇文章关于如何加速编译的, 我试用后感受明显, 虽然最有用的那个把 linker 改成 Mold 只支持 Linux 平台, 改 codegen backend 为 cranelift 不支持 WoA(这个影响也不大), 不支持 SIMD, 不支持 unwinding on panics(这个影响蛮大, 不过可以单开个 build 配置继承 release 配置, 把 debug 打开啥的, 专用于测试版本构建). po 个链接供参考: https://blog.rust.careers/post/compile_rust_faster/
115 天前
回复了 drymonfidelia 创建的主题 程序员 给大家见识一下日本的逆天 IT 水平
@shakoon IE 4 的机器, emmm 现在绝大部分网站都不支持 SSLv3 了吧
115 天前
回复了 lsk569937453 创建的主题 Rust hyper v1+anyhow 可能导致性能急速下降
@RTSmile 毕竟是 std 的问题, 修复蛮麻烦的.

benchmark 一下就能看出来, 我原来还不信的.

最简单的复现代码, 虽然不够严谨. 严谨点得用 benchmark, 或者上火焰图看看什么情况, 我对为什么慢不感兴趣所以没弄.

```rust
fn main() {
let mut result = Vec::with_capacity(20);

for _ in 0..20 {
let now = Instant::now();

for _ in 0..10000 {
let _ = anyhow::anyhow!("test error");
}

result.push(now.elapsed().as_nanos());
}

let avg = result.iter().sum::<u128>() as f64 / 20f64 / 1000f64;

println!("avg cost: {}s", avg);
}
```

反正我现在是遵照一位大佬的建议锁 1.0.76 这最后一个正常的版本, 然后所有依赖 anyhow 的库也基本会对齐依赖版本. 还在观察中, 后天有空看看 nightly 版本下的情况.
149 天前
回复了 lsk569937453 创建的主题 Rust hyper v1+anyhow 可能导致性能急速下降
对于此问题, 修复方法推荐强制指定 anyhow 版本到 =1.0.76
149 天前
回复了 lsk569937453 创建的主题 Rust hyper v1+anyhow 可能导致性能急速下降
测试环境:
rustc 1.78.0 (9b00956e5 2024-04-29), PTLin 给出的代码

Linux 平台仍然观察到了明显性能折损, profile.release 下, 使用 =1.0.86 版本的 anyhow 比 =1.0.76 版本的 anyhow 慢了 2 倍有余(default-feature = true 下)... 相当恐怖...

btw, 个人有个 gRPC server 的项目, 观察到 prost 间接依赖了 anyhow, 只能说但凡涉及 gRPC 的几乎全都会受影响, 毕竟 prost 的影响力蛮大的...

bbtw, 得 anyhow = { version = "=1.0.70" } 这样才能强制指定版本.
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5609 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 08:11 · PVG 16:11 · LAX 01:11 · JFK 04:11
Developed with CodeLauncher
♥ Do have faith in what you're doing.