开发者社区> 华章计算机> 正文

《高阶Perl》——3.11 传播福音

简介: 本节书摘来自华章计算机《高阶Perl》一书中的第3章,第3.11节,作者(美)Mark Jason Dominus,译 滕家海,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
+关注继续查看

3.11 传播福音

如果你正尝试向一个C程序员解释为什么Perl好,自动的记忆术是一个好例子。几乎所有的程序员都熟悉缓存技术。即使他们没在自己的程序里使用过任何缓存技术,他们也一定熟悉这个概念,来自网页浏览器里的,他们的计算机的缓存内存里的,DNS服务器里的,他们的网页代理服务器里的,或别的地方的缓存。缓存,就像大多数简单实用的主意,是无处不在的。

增加缓存不是非常麻烦,但至少需要几分钟修改代码。算上所有修改,你有可能犯错,这不得不计算进平均时间,一旦你完成了,可能发现缓存是个糟糕的主意,因为缓存管理的开销比函数的运行时间更长,或者因为在一次典型运行中,缓存命中的没有期望的多;那么就不得不移除缓存代码,然后你再次冒着犯错误的风险。这不是夸大问题,当然,在每个方向上至少会花费几分钟。

有了记忆术,增加缓存代码不再需要几分钟了,只要几秒钟就可以了。可以增加一行这样的代码:

memoize 'myfunction';

然后就不可能犯下严重的错误和破坏函数。如果记忆术表明这是个糟糕的主意,你可以在一秒钟以内关闭它。多数程序员会对这样的便利满意的。如果你有五分钟向一个C程序员解释Perl比C好在哪里,记忆术是一个很好的例子。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
直连Colab,支持20种编程语言:谷歌版ChatGPT代码水平反杀了?
直连Colab,支持20种编程语言:谷歌版ChatGPT代码水平反杀了?
18 0
软件基本功:垃圾代码的共同特征
软件基本功:垃圾代码的共同特征
35 0
五款好用到爆炸的小众软件,用过的都好说!建议收藏转发
今天推荐5款十分小众的软件,知道的人不多,但是每个都是非常非常好用的,有兴趣的小伙伴可以自行搜索下载。
90 0
Python文本语音识别模块大比拼,看看青铜与王者的差别!
如果把Python比喻成游戏中的一个英雄,你觉得它是谁?对于Dota老玩家来说,我会想到钢琴手卡尔!感觉Python和卡尔一样,除了生孩子什么都可以做的角色。日常生活中,我们会涉及到很多语音播报的场景,比如郭德纲版的高德地图导航、超市门口的红外感知提醒欢迎光临、银行的自助叫号系统,等等...今天就和大家聊聊Python文本转语音,看看这些从青铜到王者的模块。
233 0
Java实现——地下城与勇士DNF武器强化(+0——+16)
Java实现——地下城与勇士DNF武器强化(+0——+16)
277 0
clojure的web安全比你想象的还要差
ClojureWest大会结束了,Aaron Bedra发表了题为 Clojure.web/with-security的演说。如果你用Clojure开发web应用程序,你必须看这个视频。现在就看。 这篇博客综合了Aaron的讲话笔记和一些我自己的想法。
247 0
十种流行进程注入技术详细分析
本文讲的是十种流行进程注入技术详细分析,流程注入是一种恶意软件和无文件间谍攻击中使用的最为广泛的漏洞攻击技术,而且在攻击时还需要在另一个进程的地址空间内运行自定义代码。
2003 0
《高阶Perl》——3.3 好主意
本节书摘来自华章计算机《高阶Perl》一书中的第3章,第3.3节,作者(美)Mark Jason Dominus,译 滕家海,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1107 0
+关注
华章计算机
文章
问答
视频
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
强化学习在电商环境下的若干应用与研究
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载