论文(PDF):<a href="https://github.com/shudv/deltasort/blob/main/paper/main.pdf" rel="nofollow">https://github.com/shudv/deltasort/blob/main/paper/main.pdf</a>
<p>我一直在探索一种排序问题的变体,其中排序例程知道自上次排序以来哪些索引已被更新。</p>
<p>这种情况在许多实际系统中都会出现:大型排序列表被频繁读取,以小批量更新,并且更新管道已经知道哪些位置发生了变化(例如,用户界面列表、排行榜)。尽管如此,大多数系统要么重新对整个数组进行排序,要么进行独立的二进制插入,或者执行提取-排序-合并。</p>
<p>在这篇论文中,我提出了 DeltaSort,这是一种增量修复算法,适用于这种更新感知模型——它能够高效地将多个更新批量处理在一起,避免完全重新排序。初步实验表明,Rust 实现的 DeltaSort 在更新批量大小达到 30% 时,相较于重复的二进制插入和原生排序(sort_by)实现了多倍的速度提升。</p>
<p>我主要希望从曾在排序、数据结构或系统方面工作过的人那里获得技术反馈:
1. 我是否遗漏了已经解决该模型或技术的先前工作?
2. 基准线和比较是否合理?我们是否可以使用更好的(更严格的)基准线来比较 DeltaSort?
3. 在我使用的基准测试之外,这在实际系统中看起来有多有用?</p>
<p>谢谢——很高兴讨论细节!</p>
返回首页
最新
在过去的几个月里,我一直在开发自己的框架,旨在总结我使用 Go 构建网络应用程序的经验。<p>这个框架的目标是让构建全栈网络应用程序变得更快、更简单,充分利用超媒体,而不是仅仅依赖 JSON 数据 API 后端和单页应用前端。<p>现在已经接近 v1-beta 版本的发布,核心结构和功能已经基本完成。<p>非常希望听到大家的想法!
经过多年的嵌入式项目中与冗长的位操作代码斗争,我创建了 bitmask.h 来解决一个简单的问题:大多数位操作库要么过于庞大(类似 STL 风格),要么过于特定于某个平台(编译器内置函数),要么需要重复编写相同的易出错的位操作。这个单头文件的 C99 库将所有基本操作——位设置/清除/检查、范围操作、位计数、迭代——压缩到约 300 字节的机器代码中,并且没有任何内存分配。这正是我在微控制器工作中所需要的,因为每个字节都至关重要,使用的仅是 C99 和手动优化,以保持完全的可移植性。
<p>GitHub: <a href="https://github.com/Ferki-git-creator/Bitmask" rel="nofollow">https://github.com/Ferki-git-creator/Bitmask</a>
大家好,
最近我一直在研究人工智能代理,并注意到一个普遍的烦恼:大多数AI绘图工具生成的是静态图像(PNG/JPG)。如果AI在某个细节上出错,你就无法轻易修复——必须重新生成整个图像。
我想要一个能够生成可编辑代码并进行交互渲染的工具,因此我构建了DeepDiagram。
这是一个开源的网络平台,采用多代理架构。它不是通过单一的提示尝试完成所有任务,而是通过路由器分析你的意图,并将其指向一个专业代理(例如,Draw.io专家、数据可视化专家或流程图专家)。
演示
思维导图与数据图表(ECharts):
Draw.io生成(基于XML):
Mermaid图表:
技术栈
编排:使用LangGraph(Python)进行ReAct循环和状态管理。
前端:React 19、Vite、TailwindCSS、Zustand。
后端:FastAPI(Python 3.10+)。
流媒体:使用SSE(服务器推送事件)进行实时预览(打字机效果)。
渲染引擎:React Flow、Apache ECharts、Mermaid.js和Draw.io(Atlas主题)。
主要特性
Draw.io代理:生成兼容的XML。你可以直接在画布上编辑结果。
数据图表代理:粘贴原始数据(CSV/JSON/文本),它会使用ECharts进行可视化(柱状图/折线图/饼图)。
分支与时间旅行:由于AI并不完美,我实现了一个类似Git的分支系统。你可以“重试”一条消息,创建一个新分支,或返回到之前的状态查看代理的思考过程。
自托管:支持Docker Compose。与OpenAI或DeepSeek V3配合良好(强烈推荐,性价比高)。
链接
GitHub(AGPL-3.0):https://github.com/twwch/DeepDiagram
它仍处于早期阶段,但我非常希望听到你的反馈或看到你的PR!
我一直在思考人们如何以实用的方式重新利用闲置或未使用的安卓设备,而不是让它们闲置在抽屉里。<p>我见过一些案例,手机在一次性设置后被用于测试、监控、后台任务或其他需要始终在线的用途。无需用户交互,只需保持设备连接并运行。<p>我很好奇其他人实际发现的真实用例有哪些。有没有一些长期运行良好的设置,或者需要避免的事项?<p>我并不是想推广什么,只是真心对人们如何处理这个问题感兴趣。
我想深入了解HTTP/2协议,同时也想深入研究现代C++开发。目前,我正在使用它来托管我的个人网站 - [https://www.roberthargreaves.com](https://www.roberthargreaves.com)。
我也在博客中写了一些关于开发过程、托管选项以及我为增强应用程序抵御攻击而采取的步骤 - [https://blog.roberthargreaves.com/2026/01/03/building-hosting-ion-http2-server](https://blog.roberthargreaves.com/2026/01/03/building-hosting-ion-http2-server)。
这绝不是HTTP/2的完整实现,但我认为我已经达成了我希望实现的主要目标!
如果有更有经验的人能给我一些反馈,指出我应该改进的明显缺陷,我将非常感激。