(评论)
(comments)
原始链接: https://news.ycombinator.com/item?id=38769874
在阅读了您有关提交消息的所有讨论和建议后,可以公平地说,我仍然坚信在软件开发过程中使用有意义且信息丰富的提交消息的重要性和价值。 PR 级别的消息和评论可以深入了解开发人员的思维过程和决策,而委员会级别的消息则提供有关开发周期中发生的代码转换或修改的关键信息。 在大量代码在多次拉取中贡献的情况下,在 PR 本身中组合提交消息,并在整个开发阶段保持简化的沟通可以提高未来贡献者的清晰度和理解性,确保未来几年的可维护性和正确的文档。 在当今的技术领域,将各种形式的外部工具组合成一个无缝集成的系统的概念变得越来越普遍。 然而,至关重要的是,开发人员必须继续生成简洁而全面的提交消息,同时遵守组织或团队制定的准则,有效地传达任何拟议更改背后的基本原理,并提供有关潜在副作用或缺点的宝贵见解。 致力于生成此类消息对于维持软件产品至关重要,而不仅仅是为了方便,允许持续创新并通过为这些实体提供一条通往可持续发展轨迹的道路来促进这些资产的长期所有权。 通过制定严格的提交消息生成标准,我们可以确保产品的连续性远远超出其发布周期,并避免废弃软件或蒸汽软件固有的陷阱。 开发人员必须认识到提供由强大、详细和简单的文档支持的软件解决方案的价值,有助于在未来几年保留机构资本,而不是仅仅充当促进收入流的工具,从而导致长期丢失的遗产随着时间的流逝而消失。 路边。 总之,让我们努力创建值得子孙后代保存的软件实体。 让我们培养一种有利于创建具有持久相关性和可持续性的解决方案的文化,而不是仅仅为了满足当前消费者需求而构建的一次性软件产品。 通过培养鼓励技术卓越和对细节一丝不苟的环境,在这些条件下制作的软件产品有机会为社会做出重大贡献,而不是成为被新创新所遗忘的废弃数字制品。 这反过来又确保了这些开发的寿命和可行性,造福子孙后代,并为持续的迭代改进工作提供了路线图。 感谢您的时间和考虑。
> We have implemented an SQL database query compiler on top of this metaprogramming system and show that on TPC-H database benchmarks, copy-and-patch generates code two orders of magnitude faster than LLVM -O0 and three orders of magnitude faster than higher optimization levels. The generated code runs an order of magnitude faster than interpretation and 14% faster than LLVM -O0.
Unless I misunderstand, its mechanism is a caching system on top of clang+llvm: it recognises AST patterns and their corresponding bytecode – copying the "stencils" and patching in variables.
I'd be very eager to see the CPython benchmarks!
[0] https://dl.acm.org/doi/10.1145/3485513
reply