浅谈缓式评估技术的好处及方法

本文介绍了缓式评估技术,一种推迟执行直至必要的策略。通过四种方法实现:引用计数、区分读写操作、缓式取出及表达式缓评估。旨在减少不必要的计算与资源消耗,提高程序效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缓式评估也叫拖延战术,即把工作堆积到必须要做的时候才去做。

缓式评估的方法:

1.引用计数。如:

string s1="hello";

string s2=s1;

如果s2并不改变值,我们就可以让s2共享s1的值,这样就不需要调用赋值函数。直到非调用不可时,再去调用,如果,到最后都没有调用,则就省去了这部分的开销。

2.区分读和写:

string s1="hello";

cout<<s[3];

s[3]='c';

读取数据花费的代价比较低廉,而写入则需要花费比较昂贵的代价,对于这个,我们只能延缓决定“究竟是度还是写”。

3.缓式取出

如:程序是一个很大的对象,你要取出值得话,会花费很久时间。严重影响效率,而你每次并不都需要全部的值,所以,需要哪个值取出哪个是最理想的。(个人观点)

一个方法就是用指针来代替数据成员。

4.表达式缓评估:如:APL

缓式评估的好处:

1.可避免不必要的对象复制。

2.可区别读和写操作

3.可避免非必要的数据库读取动作。

4,。可避免非必要的数值运算。

坏处:

如果你的程序必须要进行计算或者复制等,那么缓式评估则会导致你的程序更缓慢。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值