屈原·渔父的算法追求

 

原·渔父的算法追求

 

在分析屈原·渔父的算法追求前,不妨先看看《渔父》一文的原文:

 

屈原既放, 游于江潭, 行吟泽畔, 颜色憔悴, 形容枯槁。
渔父见而问之曰: 子非三闾大夫与? 何故而至于斯?


屈原曰: 举世皆浊我独清, 众人皆醉我独醒,是以见放。

渔父曰: 圣人不凝滞于物, 而能与世推移。 世人皆浊, 何不沽其泥而扬其波? 众人皆醉,
何不哺其糠而啜其醨? 何故深思高举, 自令见放为?


屈原曰: 吾闻之, 新沐者必弹冠。 新浴者必振衣。 安能以身之察察, 受物之汶汶者乎? 宁赴湘流, 葬于江鱼之腹中, 安能以皓皓之白, 而蒙世俗之尘埃乎?

渔父莞尔而笑, 鼓枻而去, 歌曰: 沧浪之水清兮, 可以濯吾缨, 沧浪之水浊兮, 可以濯吾足, 遂去, 不复与言。

《渔父》这篇文章中的重要的场景就是“世人皆浊,众人皆醉”,在软件中,不妨以内存快要耗尽存在很多碎片来比喻世人皆浊,众人皆醉的场景。

 

按照渔父的思想,“沧浪之水清兮,可以濯我缨;沧浪之水浊兮,可以濯我足”,沧浪之水清兮,意味着内存的分配是正常的, 没有内存碎片,那么自然可以去分配内存,并好好地利用一下了(可以濯吾缨)。当系统中尽是内存碎片(沧浪之水浊兮),难以分配到大片的内存,只能分配到一些小内存碎片,就让它做一些小的用途(可以濯吾足)。

 

再来看屈原的“举世皆浊我独清,众人皆醉我独醒”的思想,也就是内存快耗完尽是碎片时,没有必要去分配内存了(我独清)。

 

根据上面的分析,不难看出,渔父追求的是高可靠性的算法(例如服务器软件),当内存正常时,就去实现主要的功能计算,当内存不足时,就转到另外一个分支去实现一些简单功能的计算,然后等待系统内存回收变正常,反正程序就是不退出,一直可靠地运行下去。

 

屈原追求的是高效的算法(例如客户端软件),当系统内存尽是碎片,效率低下之时,他选择的不是象渔父一样跳到另一个分支去运行,而是退出程序,所以屈原最后投江了。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值