像托马斯·杰斐逊一样调度线程

2024-09-25

本文探讨了如何跨流水线队列调度工作线程以最小化总处理时间,以及这种调度方式与托马斯·杰斐逊之间出乎意料的联系。作者提出了一种算法,通过计算将可用工作线程分配到不同阶段的所有可能配置的得分,并选择得分最低的配置来实现最佳调度。该算法考虑了每个阶段的输入队列长度、平均服务时间和已分配的工作线程数量。作者还将其方法与杰斐逊在议会中分配席位的算法进行了比较,发现两者之间存在惊人的相似之处。

阅读更多

基于属性测试库的现状

2024-07-04

文章分析了当前基于属性测试库的现状,指出多数库缺乏对状态机模型和并行测试的支持。作者认为,状态机模型的学习曲线和开源模式的局限性是造成这一现状的原因。文章以计数器、循环缓冲区、水壶谜题和进程注册表为例,展示了如何使用伪对象作为模型,简化状态机模型的编写,并通过合约测试保证伪对象的可靠性。作者认为,这种方法可以降低基于属性测试的学习曲线,并提高测试效率。

阅读更多