Fjw's Blog

「一切都是过程」

bazel

常用配置文件 文件名 典型位置 主要作用 当前状态(Bazel 8+/9+) 备注 / 常见内容示例 MODULE.bazel 工作区根目录 项目元数据 + 声明 Bazel 模块依赖(bazel_dep)+ 扩展配置 + 工具链注册等 ...

wsl-ubuntu2604

安装 备份 查看当前所有分发版 1 wsl -l -v 记住要迁移的名称 停止 WSL(避免文件损坏) 1 wsl --shutdown 导出分发版(两种格式选一种,推荐 –vhd) 推荐:导出为 .vhdx(WSL2 专用,性能更好) ...

进程启停

启动 C++ 进程的启动(以现代 Linux x86_64 + glibc + g++ 为例)本质上和 C 程序几乎完全一样,因为 C++ 的运行时模型是建立在 C 之上的。主要区别只在于全局对象/静态对象的构造(constructor)和析构(destructor)环节。 一个普通 C++ 可执行文件从 execve 到进入 main 的详细流程(主流 glibc 2.3x/2.4x ...

vmWare

安装 步骤:免费下载 VMware Workstation Pro 创建或登录 Broadcom 支持账户(免费,1–2 分钟) 打开浏览器,访问:https://support.broadcom.com 点击右上角 Register(注册)或 Sign In(如果已有账户)。 注册流程: 输入邮箱...

数据库内核

基础 查询优化器 数据库查询优化器生成执行计划主要使用两大类算法:基于规则的优化(RBO) 和基于代价的优化(CBO),现代数据库通常结合两者。以下是核心算法和技术: 1. 基于规则的优化(Rule-Based Optimization, RBO) 原理:依赖预定义的启发式规则重写查询,不关心数据分布。 常用规则: 选择下推:尽早执行过滤(WHER...

C++协程

Part 1: 基础概念与历史 1.1 什么是协程? 协程(Coroutines)是一种程序组件,它允许函数在执行过程中暂停(suspend)和恢复(resume),而无需丢失其局部状态。不同于传统函数的“调用-返回”模型,协程可以多次进入和退出,类似于线程但更轻量级。 关键特点: 协作式多任务:协程不会被抢占(preempted),而是主动挂起,效率高。 ...

lstio+envoy

Gateway API Gateway API 是 Kubernetes 官方推出的新一代网络 API 规范(从 2019 年开始开发),专门用于管理 Kubernetes 集群内的流量路由、负载均衡、服务暴露和流量治理。它被设计成 Ingress API 的继任者(next-generation Ingress),但功能更强大、更灵活、更标准化。 简单来说: Gateway API =...

耗时分析

时间层级 基本换算 单位 中文 科学记数法 换算成秒 1秒等于多少该单位 形象比喻(大概) 1 s 1秒 10⁰ s 1 s — 人类眨眼一次 ≈ 0.1–0.4秒 ...

性能优化

概述 “性能优化”的四个问题 价值判断是否性能问题 定位问题层级出在哪个量级 选择合适的策略去解决这个量级的瓶颈 在这个策略下,代码/编译/微架构层面还能再提升多少 绝大多数失败的优化努力,其实死在第 1 和第 2 步,而不是第 4 步。 二、四个典型量级 + 对应的宏观打法 量级 典型表现 优化幅度潜力 ...

eBPF

eBPF 主要挂载点性能分析 eBPF 挂载点(probe/attachment types)的性能比较是性能分析中最核心的话题,选错类型可能导致系统整体延迟上升 10–50%+,甚至触发 soft lockup 或测量失真。 主流内核的单次触发 overhead 排名(ns 级,热路径下,JIT 启用,x86-64/arm64 类似)。 关键说明: 性能度量:单次触发/执行 ...

-->