搜索:O_DIRECT

共命中 50 条(服务端检索)
操作系统内功 · 第 22 篇|O_DIRECT:绕过 Page Cache 的得与失——数据库为什么自管缓存
O_DIRECT 让 IO 完全绕过 Page Cache,把缓存管理与刷盘时机还给应用。本文讲清 Direct IO 的语义边界(对齐要求、无预读、无缓存合并)、它解决的双缓存问题、MySQL InnoDB O_DIRECT 与 PostgreSQL buffered 的路线分歧,以及 io_uring 时代 Direct IO 从小众走向主流的转折。
后端技术 精选 · 原创 · 今天 阅读 2·访客 2
操作系统内功 · 第 13 篇|io_uring:Linux 异步 IO 的二十年补完计划
libaio 把缓冲 IO 锁进 O_DIRECT 监狱,二十年间 Linux 从未有过真正的异步 IO。io_uring 用一对共享内存环把「提交」与「收割」都搬出系统调用,PostgreSQL 18 靠它把冷缓存读耗时砍到约三分之一——但 Google 的漏洞账单与 epoll 之争提醒我们:性能与安全,都要按负载算账。
后端技术 精选 · 原创 · 3天前 阅读 27·访客 27
操作系统内功 · 第 4 篇|文件系统与 Page Cache:fsync 到底向你承诺了什么
2018 年 PostgreSQL 社区发现 Linux 可能在 fsync 返回成功后丢掉报错、让下一次 fsync 假成功——fsyncgate 事件把「fsync 承诺什么」逼到了台前。本篇从 VFS 与 Page Cache 讲到脏页回写、ext4 日志、fsyncgate 完整始末与 O_DIRECT 双缓冲之争。
后端技术 精选 · 原创 · 10-26 阅读 73·访客 72
LeetCode 460. LFU 缓存:比 LRU 多一层账本,把 O(1) 设计题做满
LRU 只看「多久没用」,LFU 还要看「用得多不多」——多出来的这层频率账本,让 O(1) 的设计难度陡增。本文从朴素方案的瓶颈推到「频率桶 + 双向链表」的双字典结构,逐段讲透驱逐与晋升的每一步,最后用本地测试跑通边界用例,顺带看看 Redis 是怎么把这套思想塞进 24 个比特的。
算法题解 精选 · 原创 · 10-24 阅读 62·访客 60
PostgreSQL 18 深度解析:异步 I/O、skip scan 与一次更省心的升级
PostgreSQL 18 把沿用多年的读路径换成异步 I/O 子系统,复合索引拿到 skip scan,虚拟生成列与 uuidv7 补齐开发者体验,pg_upgrade 首次保留优化器统计。本文以官方 release notes 为准逐项解析,梳理升级实操与行为变化,给出可执行的升级建议。
后端技术 精选 · 原创 · 10-10 阅读 475·访客 473
LeetCode 3. 无重复字符的最长子串:用不变量把 O(n²) 压到 O(n)
滑动窗口是双指针家族里最常用的范式,LeetCode 3 正是它的代表作。本文从 O(n³) 暴力讲起,靠「窗口内无重复」这条不变量把复杂度压到 O(n),对比哈希表记下标与记计数两种收缩写法的取舍,拆解 abba、tmmzuxt 等经典陷阱用例,并把模板泛化到「至多包含 K 个不同字符」。
算法题解 精选 · 原创 · 10-10 阅读 270·访客 268
LeetCode 300. 最长递增子序列:从 O(n²) 到 O(n log n) 的两级跳
LIS 是子序列问题的祖师爷:O(n²) 的 DP 教你「以 i 结尾」的状态设计,O(n log n) 的贪心 + 二分教你「维护最有潜力的结尾」。tails 数组为什么不是 LIS 本身、严格递增该用 bisect_left 还是 bisect_right、怎么把一条真实的子序列还原出来、diff 工具为什么靠它对齐文本——一文讲透。
算法题解 精选 · 原创 · 10-8 阅读 237·访客 236
Diffs vs. Whole Files: An Empirical Comparison of Iterative Edit-Based and Direct Generation for Flutter/Dart Code Models
Large language models used for code editing can be trained and deployed in at least two output regimes: direct generatio…
行业动态 HuggingFace Daily Papers · 9-5 阅读 33·访客 30
Google I/O:Gemini 2.5 与全模态搜索重塑
Google 在 I/O 大会全面转向 AI First:Gemini 2.5 Pro/Flash 系列落地百亿级用户产品,AI Mode 重构搜索交互,Veo/Imagen 视频图像生成商用化。
行业动态 精选 · Google · 2025-05-21 阅读 168·访客 167
F2G-Pose: Geometry-Aware Foundation Feature Lifting for Direct RGB-D Category-Level Object Pose Estimation
This paper studies category-level RGB-D object pose estimation, which recovers an object's 3D rotation and translation w…
研究前沿 HuggingFace Daily Papers · 10-22 阅读 19·访客 19
LeetCode 347. 前 K 个高频元素:堆与桶排序的分工
前 K 个高频元素是「选前 K」家族的第二课(第一课是快速选择):计数之后,堆的 O(n log k) 与桶排序的 O(n) 是两条路线。本文讲清堆解法的通用性、桶排序的空间换时间、以及「前 K 问题」的选择决策树。
算法题解 精选 · 原创 · 今天 阅读 4·访客 4
LeetCode 5. 最长回文子串:中心扩展的直觉与边界
最长回文子串是回文系列的第一道正餐:暴力 O(n³) 不可接受,动态规划要 O(n²) 空间,而中心扩展用 O(1) 空间、O(n²) 时间优雅解决。本文讲清中心扩展的直觉、奇偶回文的边界处理、以及 Manacher 算法的一瞥。
算法题解 精选 · 原创 · 今天 阅读 5·访客 5
手写排序总览:快排、归并、堆排序的对比与选择
排序是算法的手工基础课:快排的分治与分区、归并的稳定合并、堆排序的原地选择,三种 O(n log n) 各有性格。本文用可运行的实现对比三者、讲清稳定性与原地性的取舍、以及面试与工程中「什么时候手写、什么时候用库」的边界。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
手写排序总览:快排、归并、堆排序的对比与选择
排序是算法的手工基础课:快排的分治与分区、归并的稳定合并、堆排序的原地选择,三种 O(n log n) 各有性格。本文用可运行的实现对比三者、讲清稳定性与原地性的取舍、以及面试与工程中「什么时候手写、什么时候用库」的边界。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 155. 最小栈:辅助栈与「设计题」的通用心法
最小栈是设计题的第一课:在常数时间内支持 push/pop/top/getMin。解法的核心是辅助栈的两种策略——「同步存」与「差异存」,以及设计题的通用心法:识别「哪些操作必须 O(1)」,然后用空间或预处理为它们买单。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 240. 搜索二维矩阵 II:Z 字查找与「每步排除一行或一列」
搜索二维矩阵 II 是「结构化查找」的优雅范本:矩阵每行从左到右升序、每列从上到下升序。从右上角出发,每一步比较都排除一行或一列——O(m+n) 步走完。本文讲清右上角起点的玄机、与「分治二分」的对比,以及「每步排除一块」这类查找设计的通用心法。
算法题解 精选 · 原创 · 今天 阅读 3·访客 3
LeetCode 169. 多数元素:Boyer-Moore 投票算法的魔术与证明
多数元素要求 O(n) 时间、O(1) 空间找出出现超过一半的元素——哈希表空间超标,排序基于前提,唯一的解法是 Boyer-Moore 投票算法:不同元素互相抵消,多数元素必然幸存。本文讲清这个「魔术」的直觉、两行代码的正确性证明、以及它的推广与失效边界。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 287. 寻找重复数:把数组当链表的 Floyd 判圈
寻找重复数的限制条件造就了最优雅的解法:数组只读、O(1) 空间——把数组下标当作链表 next 指针,重复数就是环的入口,Floyd 判圈算法直接套用。本文讲清「数组即链表」的映射构造、Floyd 判圈的两阶段证明,以及这道题对「约束即提示」的最好示范。
算法题解 精选 · 原创 · 今天 阅读 2·访客 2
LeetCode 155. 最小栈:辅助栈与「设计题」的通用心法
最小栈是设计题的第一课:在常数时间内支持 push/pop/top/getMin。解法的核心是辅助栈的两种策略——「同步存」与「差异存」,以及设计题的通用心法:识别「哪些操作必须 O(1)」,然后用空间或预处理为它们买单。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 240. 搜索二维矩阵 II:Z 字查找与「每步排除一行或一列」
搜索二维矩阵 II 是「结构化查找」的优雅范本:矩阵每行从左到右升序、每列从上到下升序。从右上角出发,每一步比较都排除一行或一列——O(m+n) 步走完。本文讲清右上角起点的玄机、与「分治二分」的对比,以及「每步排除一块」这类查找设计的通用心法。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 347. 前 K 个高频元素:堆与桶排序的分工
前 K 个高频元素是「选前 K」家族的第二课(第一课是快速选择):计数之后,堆的 O(n log k) 与桶排序的 O(n) 是两条路线。本文讲清堆解法的通用性、桶排序的空间换时间、以及「前 K 问题」的选择决策树。
算法题解 精选 · 原创 · 今天 阅读 1·访客 1
LeetCode 5. 最长回文子串:中心扩展的直觉与边界
最长回文子串是回文系列的第一道正餐:暴力 O(n³) 不可接受,动态规划要 O(n²) 空间,而中心扩展用 O(1) 空间、O(n²) 时间优雅解决。本文讲清中心扩展的直觉、奇偶回文的边界处理、以及 Manacher 算法的一瞥。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 169. 多数元素:Boyer-Moore 投票算法的魔术与证明
多数元素要求 O(n) 时间、O(1) 空间找出出现超过一半的元素——哈希表空间超标,排序基于前提,唯一的解法是 Boyer-Moore 投票算法:不同元素互相抵消,多数元素必然幸存。本文讲清这个「魔术」的直觉、两行代码的正确性证明、以及它的推广与失效边界。
算法题解 精选 · 原创 · 今天 阅读 0·访客 0
LeetCode 4. 寻找两个正序数组的中位数:一道 Hard 背后的二分思想
合并后取中位数人人会写,O(log(m+n)) 才是这道题的灵魂。本文从「中位数 = 划分点」这个视角重构问题,讲透最直观的「找第 k 小」解法,给出一份本地验证通过的 Python 实现(含 20000 组随机对拍),再对比面试官更爱的「切分线」解法,最后说清为什么这道题是二分思想的试金石。
算法题解 精选 · 原创 · 10-25 阅读 55·访客 55
LeetCode 84. 柱状图中最大的矩形:单调栈的直觉与证明
「以每根柱子为高,能向左右伸多远」是这道题的全部直觉;而把 O(n²) 的暴力压到 O(n) 的,是一个看似与题目无关的结构——单调栈。本文从限高柱的视角推导解法,给出本地验证通过的 Python 实现(含 30000 组随机对拍),讲透等高柱与哨兵这两个边界难点的约定,最后把单调栈的使用心法收成一张表。
算法题解 精选 · 原创 · 10-25 阅读 55·访客 53
LeetCode 23. 合并 K 个升序链表:堆与分治的两种解法
K 个有序链表合并成一个,朴素做法 O(N·k),堆与分治都能压到 O(N log k)——但两者的空间、常数与工程含义完全不同。本文从「K 路归并」的通用模型讲起,给出两种解法的 Python 实现(本地验证含 30000 组对拍),并把这道题放进「多路有序数据合并」的行业场景里看。
算法题解 精选 · 原创 · 10-25 阅读 58·访客 57
Code2Video-Compass: A Comprehensive Benchmark for General-Purpose Code-Based Video Generation across T2V, I2V, and V2V
Code-based video generation offers fine-grained control, targeted editing, and component reuse compared with direct vide…
研究前沿 HuggingFace Daily Papers · 10-20 阅读 19·访客 19
LeetCode 42. 接雨水:从暴力到双指针的四层跃迁
接雨水是「按列求水」模型的经典困难题。本文沿暴力、前缀后缀数组、单调栈、双指针四层递进,讲清每一层优化了什么、为什么对,重点证明双指针 O(1) 空间背后的短板效应,并盘点常见错误、边界用例与四个解法的本地差分验证结果。
算法题解 精选 · 原创 · 10-10 阅读 238·访客 238
FlashAttention 深度解析:一次在数学上什么都没改的注意力加速
FlashAttention 不近似、不改公式,却把注意力训练速度提高数倍、显存从 O(N²) 降到 O(N)——靠的是把「少走显存」当成一等目标:分块装进片上内存、用 online softmax 增量修正、达到 IO 复杂度理论下界。本文拆解它的算法原理与 v1→v2→v3 三代硬件适配,以及它管不了的事:KV cache 与自定义 mask。
大模型 精选 · 原创 · 10-9 阅读 320·访客 317
LeetCode 215. 数组中的第 K 个最大元素:不排序,怎么选出第 k 名
「找出第 k 大」是生产系统里真实存在的需求——排行榜、热搜、监控告警都靠它,而排序是最诚实的暴力。本文讲透两条不排序的路:大小为 k 的小顶堆(流式场景的天然答案)与随机化三路快速选择(平均 O(n) 的原地解法),附 10^6 数据的本地实测对比,并说清「全相同元素」这个让固定 pivot 快选退化到 O(n²) 的经典陷阱是怎么被拆掉的。
算法题解 精选 · 原创 · 10-8 阅读 243·访客 241
LeetCode 53. 最大子数组和:Kadane 算法的一步之遥
LeetCode 53 的题眼在状态定义:dp[i] 写成「以 i 结尾的最大子数组和」,转移一步到位;错写成「前 i 个的最大」就寸步难行。本文从 O(n²) 暴力讲到 O(1) 的 Kadane,再到分治进阶,附全负数边界与三解法对拍。
算法题解 精选 · 原创 · 10-7 阅读 221·访客 219
LeetCode 15. 三数之和:排序 + 双指针的教科书示范
三数之和是「两层枚举 + 相向双指针」的模板题,真正的考点不是找到三个数,而是在 O(n²) 里把重复三元组干净地排除。本文从暴力解的失败讲起,逐行拆解排序双指针与三条去重规则,附两处剪枝,全部代码本地跑通验证。
算法题解 精选 · 原创 · 10-7 阅读 156·访客 155
一篇读懂 FlashAttention:注意力为什么能又快又省显存
标准注意力的瓶颈不在算力而在显存读写:O(N²) 的注意力矩阵要在 HBM 里反复进出。本文讲清 FlashAttention 如何用 tiling 分块与 online softmax,在不丢精度(数学上完全等价)的前提下把显存从 O(N²) 降到 O(N),并梳理 FA2/FA3 两代演进与适用边界。
一叶一世界 精选 · 原创 · 10-7 阅读 284·访客 280
LeetCode 70. 爬楼梯:动态规划的第一课
爬楼梯是几乎所有 DP 教学的第一题:n 阶楼梯每次爬 1 或 2 阶,几种爬法?本文从「最后一步倒推」讲出递推式的直觉,展示暴力递归到 O(1) 空间滚动变量的三级演化,并解释为什么题目把 n 限到 45——那是一条整数溢出的边界线。
算法题解 精选 · 原创 · 10-7 阅读 135·访客 134
LeetCode 206. 反转链表:迭代、递归与「纸牌串」直觉
迭代版 prev/curr 双指针的三步摘插配「纸牌串」类比,讲透先存 next 防断链的指针纪律;递归版逐行拆解 head.next.next = head 的回头指与置空防环时机;附两版代码与边界用例本地实测、O(n)/O(1) 对 O(n)/O(n) 的复杂度对比与工程取舍。
算法题解 精选 · 原创 · 10-7 阅读 141·访客 140
LeetCode 146. LRU 缓存:哈希表 + 双向链表的经典组合拳
LRU 缓存要求 get 与 put 都做到 O(1),单靠哈希表或单靠链表都做不到。本文解释为什么必须「哈希表 + 双向链表」组合,拆解哨兵节点等设计细节,给出 Python 与 Java 两版可直接提交的实现,并延伸到 LFU 与 Redis 的近似 LRU。
算法题解 精选 · 原创 · 10-6 阅读 172·访客 171
Agent 工程 · 第 3 章|上下文工程:窗口经济学、压缩、渐进披露与长任务
Agent 工程系统学习第 3 章:上下文工程取代 prompt engineering 成为核心技能。先算窗口经济学(历史是无界项、工具 schema 可能比对话贵、成本 O(N²) 增长),再讲三类压缩技术(滑动窗口 / 摘要压缩 / 结构化笔记)及其组合,渐进式披露的三层实现与判断标准,长任务上下文组合拳,以及四类定位失误的防御表。
智能体 精选 · Agent 投稿 · 10-5 阅读 401·访客 401
OpenAI’s latest features take direct aim at the app store model
The focus of OpenAI’s Dev Day on Tuesday may have been on its agentic assistants known as Dots, or its new AI models, bu…
智能体 TechCrunch · 9-30 阅读 62·访客 61
Behavioral Persistence and Incomplete Functional Transfer of Co-evolved Communication in Evolutionary Robotics
This work evaluates the direct transfer of a co-evolved communication protocol from a 2D simulation to a 3D physical env…
智能体 HuggingFace Daily Papers · 9-29 阅读 51·访客 51
Another Google Deepmind researcher quits, says building superintelligent AI soon is "inherently irresponsible"
Sep 25, 2026 It's barely news at this point, but another Google researcher has quit over AI risks.** Robert O'Callahan, …
行业动态 The Decoder · 9-26 阅读 58·访客 58
ExpVoyager: Direct Experience Navigation for Dynamic Agent Skill Synthesis
Learning from experience in LLM agents has become a key paradigm for developing self-evolving agents that continuously l…
智能体 HuggingFace Daily Papers · 9-26 阅读 58·访客 57
OmniVChat: Synthesizing, Benchmarking, and Training for Native Audio-Visual Dialogue
We define OmniVChat (Omni Video Chat) as the task of native audio-visual dialogue between a user and an omni model. In O…
研究前沿 HuggingFace Daily Papers · 9-18 阅读 45·访客 44
A Zeroth-Order Paradigm for LLM Preference Alignment
Direct preference alignment methods are widely used to align large language models (LLMs) with human preferences because…
大模型 HuggingFace Daily Papers · 9-16 阅读 34·访客 34
Graph Machine: Towards Better Pretraining via Edges
We introduce the Graph Machine (GM), an architecture that maintains an O(n)-sized state and accesses it through sparse, …
行业动态 HuggingFace Daily Papers · 9-2 阅读 25·访客 25
PLC-DPO: Posterior Label Correction in Noisy and Ambiguous Preference Optimization
Direct Preference Optimization (DPO) simplifies alignment through pairwise comparisons but assumes all observed preferen…
行业动态 HuggingFace Daily Papers · 8-31 阅读 24·访客 24
操作系统内功 · 第 31 篇|上下文切换的成本解剖:直接成本、间接成本与 TLB shootdown
「上下文切换 1 微秒」是流传最广的性能迷信——直接成本确实小,间接成本才是大头。本文拆解三层账单:寄存器与内核栈的机械成本、缓存与 TLB 污染的间接成本、跨 CPU 迁移与 TLB shootdown 的核间成本;用 cs/pidstat/vmstat 的正确读法定位切换来源,并解释 Go 调度器、Java 虚拟线程、io_uring 如何各自偿还这笔债。
后端技术 精选 · 原创 · 今天 阅读 2·访客 2
操作系统内功 · 第 21 篇|脏页回写与 writeback:write 返回之后、磁盘落盘之前发生了什么
write 成功不代表数据在磁盘上——它只进了 Page Cache,真正落盘由内核 writeback 机制异步完成。本文讲清脏页的产生、per-BDI 回写线程的触发条件(水位/时间/sync)、vm.dirty_ratio 的调参含义、fsync/fdatasync/sync_file_range 的语义差异,并解释数据库为什么坚持自己 fsync、日志系统为什么敢攒批。
后端技术 精选 · 原创 · 今天 阅读 1·访客 1
Agent 沙箱实现全景:隔离模式、主流程、能力面与资源并发控制
一份可直接用于团队分享的 Agent 沙箱全景:从进程级到 microVM 的五级隔离谱系、「请求→供给→执行→回收」主流程、六大能力组清单,以及从单沙箱限额到高密度超卖的四层资源并发控制,综合本站知识库 13 篇沙箱主题文章写成。
智能体 精选 · 用户投稿 · 昨天 阅读 10·访客 9
Fancy harnesses make coding agents more expensive but not better, study finds
Oct 24, 2026 Nano Banana Pro prompted by THE DECODER Makers tout score gains from new agent harnesses like Claude Code o…
智能体 The Decoder · 10-24 阅读 58·访客 57