记忆是一种通过增加程序使用空间来优化程序速度的方法,它类似于记忆,但只适用于计算机。这种技术直接要求建立一个程序来记住函数的计算结果,并将结果存储在缓存中。下一次调用该函数时,该程序可以从缓存中检索计算结果,而...
记忆是一种通过增加程序使用空间来优化程序速度的方法,它类似于记忆,但只适用于计算机。这种技术直接要求建立一个程序来记住函数的计算结果,并将结果存储在缓存中。下一次调用该函数时,该程序可以从缓存中检索计算结果,而不是重做相同的计算。与强度降低不同,强度降低是基于相似的速度和空间权衡来加速机器的,记忆是可移植的,可以在许多机器上使用。手持式计算机用户可能看不到它,但是程序总是在进行计算。当有人点击程序上的某个按钮或使用某个固有函数时,需要进行计算才能使其工作。通常情况下,用户会多次使用同一个函数而不做任何更改。如果没有记忆,即使程序只是执行了一个计算,它也需要这样做同样,这会使程序的速度比存储结果时慢。计算的结果存储在高速缓存内存区中。通过记忆,当用户执行相同或相似的输入时,程序将从缓存中提取而不是执行计算来得到答案。通过这样做,程序节省了时间,并且变得优化和更快。输入可能是相似的而不是完全相同的,所以有些计算可能不完全准确,但是,不精确性通常很小,不太可能导致错误。记忆技术本质上是一种权衡。所有程序都是在大小和时间限制下构建的。在这里,牺牲大小以提高速度。结果存储在缓存中,所以程序需要更多的内存。内存量牺牲是非常小的,因为缓存可以存储的结果数量是有限的,但是它仍然会增加空间开销另一种类似但不可靠的折衷优化技术是强度缩减。强度缩减不会降低程序的强度,而是通过将程序分解为更弱、内存成本更低的函数来降低计算强度。例如,乘法比加法需要更大的处理时间,因此该公式将被改变,以允许更少的时间密集的过程。这种技术可以加快进程,但节省的时间可能不是所有的机器都看到的,它只节省编译时间
-
发表于 2020-08-08 01:15
- 阅读 ( 1518 )
- 分类:电脑网络