当某个问题计算量很大时,很多时候我们都会考虑使用分布式计算来解决问题。但是如果我们能让程序在单机上也尽可能的多做事,那岂不更好。
前段时间,在开发过程中,我们团队遇到了一个问题:要统计在调查参与者中同时选了某些选项的人数。如果按照传统方法,从数据库里一个一个查,其计算所花时间 会随着选项的增大而迅速增加,最后我么摒弃了从数据库里一个一个查的想法,而是尝试了一种全新的方法:不从数据库里查,而是让CPU在本地计算出同时选择的人数,按照我们的设想,它会对调查者逐层过滤,一开始可能有1000人,可到最里层的选项A时,也许比较的人数就只有3人,也就是本来要比较1000次,而现在只需要比较3次,就可完成与选项A相关的计算。这就是可重用计算的思想。
可重用计算,顾名思义,就是对以前的计算进行重用,在以前的计算结果上进行二次加工,而不是完全重新开始。这就好比我们用水。我们每天早晨起来都会洗头、洗脸,北京的水挺贵,怎么办?节约,怎么节约?我可以先洗脸,洗完脸后再洗头,而不是洗完头后再洗脸。对水的重用,是为了节约用水,那么对计算的重用,也可以看做是节约计算资源。
分享到:
相关推荐
《C语言接口与实现:创建可重用软件的技术》是计算机编程领域的一本重要著作,由David R. Hanson撰写,张昆翻译,并由机械工业出版社引进国内。本书为C语言编程提供了深入的理论和实践指导,特别是在如何设计和实现...
在计算机科学领域,尤其是软件开发中,可重用性是至关重要的一个方面。这不仅可以提高开发效率,还能确保代码质量并降低维护成本。本资源"Python_我们为您编写可重用的计算机视觉工具.zip"正是关注于这个核心概念,...
在研究基于UG二次开发的零件设计可重用技术过程中,涉及到的关键知识点包括UG软件二次开发、零件编码模型以及实例检索技术。 UG软件,即Unigraphics,是由美国EDS公司开发的一体化高端软件,集成了计算机辅助设计...
JavaBean是一种基于Java的组件模型,它主要用于构建可重用的软件组件。在Java开发中,JavaBean是一种遵循特定规范的类,它封装了业务逻辑,可以被其他Java应用程序或框架(如Struts、Spring等)所使用。JavaBean的...
《C语言接口与实现--创建可重用软件的技术》是一本深入探讨如何通过C语言构建高效、可维护和可重用软件的专业书籍。该书详细阐述了C语言在设计和实现模块化接口中的核心概念和技术,旨在帮助程序员提升代码质量,...
2. 内容介绍:这本书旨在教给读者如何创建可重用的软件,特别是C语言编程环境中的可重用应用程序接口(API)。作者通过阐述一种与语言无关的方法,将接口设计与实现分离,形成基于接口设计的途径,来创建可重用API。 ...
在本项目中,开发者可能借鉴了PageViewController的思路,实现了自己的页面重用系统,这样可以在有限的内存和计算资源下处理大量页面。 4. **自定义Item**: 轮播图中的每个Item可以根据需求进行个性化定制,比如...
《C语言接口与实现——创建可重用软件的技术》是一本专注于C语言编程中库函数设计、实现以及高效使用的参考指南。本书为读者深入讲解了如何设计和实现可重用的软件模块,这些模块是构建大型、稳定应用的基石。本书...
《计算机-后端-可重用Web一站式应用架构的研究与应用》 随着计算机技术的飞速发展,软件在日常生活中的地位越来越重要,特别是在便捷、易用且与人们生活紧密相关的APP受到公众的广泛喜爱。软件行业的迅速发展也催生...
在本文中,我们将深入探讨经典可重用滑块的实现原理、设计要点以及如何支持横向和纵向切换,同时也会涉及设置背景图片的方法。 滑块组件的基本功能是通过在有限的空间内滑动内容来展示更多的信息。这种组件的设计...
C++代码设计与重用是关于如何编写高效可重用代码的重要话题,它对于提高软件开发效率和软件质量具有重要意义。本书《C++代码设计与重用》由Martin D. Carroll和Margaret A. Ellis合著,是一本深受业界推崇的技术书籍...
本书适合有一定C++编程经验的程序员阅读,尤其是那些希望提高代码重用性或专门学习如何编写可重用程序库的读者。书中不仅提供了理论知识,还融入了作者多年来在AT&T贝尔实验室,从事编译器和基础库开发的丰富实践...
这通常涉及在设计库中搜索并计算该区域在现有设计中的重用频率。那些重用率高的区域被最终确定为可重用区域。这确保了提取的区域不仅在理论上可重用,而且在实践中也具有较高的重用价值。 知识点五:三维CAD模型...
可重用性是软件工程中的一个重要概念,指的是软件模块、组件或系统在不经过修改或只需少量修改的情况下能够在多种计算环境中重复使用的特性。从软件工程的角度来说,可重用性是衡量软件质量的关键属性之一。一个具有...
"可重用的分页Bean"是一个设计精良的组件,它基于经典的三层架构(表现层、业务逻辑层、数据访问层)来实现,可以方便地在JSP MVC(模型-视图-控制器)框架中复用,提高代码的可维护性和效率。在这个PageBeanDemo中...
例如,当需要进行一些计算或者数据处理时,可以创建一个专门的方法来执行这些操作。 2. **类与对象的使用**:面向对象编程(OOP)是Java的核心特性,通过类和对象,我们可以抽象出现实世界中的实体。一个类可以包含...
用某个应税值调用计算税款的方法时,对税款值进行计算并返回给调用方法,而不必保存调用者的内部状态供以后调用。因为这些bean并不保持状态,所以容器对它们进行管理就很简单。客户端请求无状态的bean实例时,可以从...
1. **创建重用池**:你需要创建一个队列来存储可重用的视图。这可以通过实现一个自定义的`NSCache`子类或者直接使用`NSPointerArray`来实现。这个队列就像是ScrollView的内容仓库,存放着可以复用的视图。 2. **...