屈原與漁父的演算法追求(zz)

2021-04-19 23:11:24 字數 849 閱讀 7197

屈原既放, 游於江潭, 行吟澤畔, 顏色憔悴, 形容枯槁。

漁父見而問之曰: 子非三閭大夫與? 何故而至於斯?

屈原曰: 舉世皆濁我獨清, 眾人皆醉我獨醒,是以見放。

漁父曰: 聖人不凝滯於物, 而能與世推移。 世人皆濁, 何不沽其泥而揚其波? 眾人皆醉,何不哺其糠而啜其醨? 何故深思高舉, 自令見放為?

屈原曰: 吾聞之, 新沐者必彈冠。 新浴者必振衣。 安能以身之察察, 受物之汶汶者乎? 寧赴湘流, 葬於江魚之腹中, 安能以皓皓之白, 而蒙世俗之塵埃乎?

漁父莞爾而笑, 鼓枻而去, 歌曰: 滄浪之水清兮, 可以濯吾纓, 滄浪之水濁兮, 可以濯吾足, 遂去, 不復與言。

《漁父》這篇文章中的重要的場景就是「世人皆濁,眾人皆醉」,在軟體中,不妨以記憶體快要耗盡存在很多碎片來比喻世人皆濁,眾人皆醉的場景。 

按照漁父的思想,「滄浪之水清兮,可以濯我纓;滄浪之水濁兮,可以濯我足」,滄浪之水清兮,意味著記憶體的分配是正常的, 沒有記憶體碎片,那麼自然可以去分配記憶體,並好好地利用一下了(可以濯吾纓)。當系統中盡是記憶體碎片(滄浪之水濁兮),難以分配到大片的記憶體,只能分配到一些小記憶體碎片,就讓它做一些小的用途(可以濯吾足)。

再來看屈原的「舉世皆濁我獨清,眾人皆醉我獨醒」的思想,也就是記憶體快耗完盡是碎片時,沒有必要去分配記憶體了(我獨清)。 

根據上面的分析,不難看出,漁父追求的是高可靠性的演算法(例如伺服器軟體),當記憶體正常時,就去實現主要的功能計算,當記憶體不足時,就轉到另外乙個分支去實現一些簡單功能的計算,然後等待系統記憶體**變正常,反正程式就是不退出,一直可靠地執行下去。 

屈原追求的是高效的演算法(例如客戶端軟體),當系統記憶體盡是碎片,效率低下之時,他選擇的不是象漁父一樣跳到另乙個分支去執行,而是退出程式,所以屈原最後投江了。

屈原 漁父的演算法追求

屈 原 漁父的演算法追求 在分析屈原 漁父的演算法追求前,不妨先看看 漁父 一文的原文 屈原既放,游於江潭,行吟澤畔,顏色憔悴,形容枯槁。漁父見而問之曰 子非三閭大夫與?何故而至於斯?屈原曰 舉世皆濁我獨清,眾人皆醉我獨醒,是以見放。漁父曰 聖人不凝滯於物,而能與世推移。世人皆濁,何不沽其泥而揚其波...

long與int的區別?(zz

c語言標準是這樣規定的 int最少16位 2位元組 long不能比int短,short不能比int長,具體位長由編譯器開發商根據各種情況自己決定。在32位x86處理器上,short int long普遍的長度是2位元組 4位元組 4位元組。當然如果編譯器開發商願意,long完全可以是8位元組。在 w...

ZZ 神與學霸的區別

神與學霸的共同點是積點都令人髮指得高,這也是他們的主要特徵,或者說是基本特徵。但是他們的區別也是很大的。平時打 給普通人 喂在幹嘛?玩玩什麼?逛街 唱k 打遊戲 看電影 睡覺 打 給學霸 喂在幹嘛?學習學什麼?數學打 給神 喂在幹嘛?玩玩什麼?數學學霸複習的時候前面會有一座山一樣的書和notes,泡...