返回首页
最新
这个项目是一个小型的性能优化实验,旨在减少Go二进制补丁的大小,这对于快速增量更新在线服务非常有用。<p>当一个Go程序通过增量更改增长了几字节时,编译后的二进制文件中许多相关的引用和偏移量也会随之改变,这使得通用的二进制差异编码器效率低下:例如,使用`zstd --patch-from`对一个30MB的二进制文件进行一行代码的更改时,会生成530KB的补丁。而bsdiff通过一种能够处理相对偏移量的增量压缩算法,改进了这一点(生成150KB的补丁)。<p>go-binsync在Go二进制文件的处理上更进一步,借鉴了Courgette的思路,这是谷歌用来发布Chrome更新的技术:读取编译器留下的结构,预测该结构的预期结果,仅发送修正部分。Courgette通过反汇编获取该结构,而go-binsync则通过嵌入在每个编译的Go二进制文件中的额外元数据获取更详细的Go特定结构。<p>最终结果是针对这一行更改生成了一个2,262字节的补丁,相较于bsdiff的结果提高了67倍。<p>这仍然只是一个概念验证(不支持CGO,不包含调试符号,仅限amd64),但我认为其他人可能会对初步结果感兴趣。我认为这种预测编码方法可以推广到Go二进制文件以外的其他领域,在那里可以利用某种专门的预测结构实现高效压缩。
我听说很多关于软件工程工作的未来,似乎工程师们会同时打开很多会话,并在多个Jira任务上进行多任务处理。<p>我相对较为初级,但我感觉我看到更多的人一次只处理一个任务,可能只打开两个会话。<p>我很好奇有多少人能够同时处理6个以上的代理,并且在多个Jira任务之间进行协调。
大家好,
我正在开发 OpenWand,一个为 AI 协作优化的“LLM 聊天界面”。
它的功能是将 AI 真正融入您的工作流程中,不再需要切换窗口,不再需要复制上下文,减少输入提示的时间。您可以专注于工作,而不是提示。
您可以将其视为日常工作中免费的 ChatGPT(界面/前端)替代品。
我非常感激任何帮助、测试、反馈和/或错误报告。
这里展示的只是我目前的实现。但在您的帮助和反馈下,我们可以添加或调整功能,以进一步推动这个使命。
感谢您的阅读。
网站链接: [https://sunnylich.github.io/OpenWand/#overview](https://sunnylich.github.io/OpenWand/#overview)