屈
原·漁父的演算法追求
在分析屈原·漁父的演算法追求前,不妨先看看《漁父》一文的原文:
屈原既放,
游於江潭,
行吟澤畔,
顏色憔悴,
形容枯槁。
漁父見而問之曰:
子非三閭大夫與?
何故而至於斯?
屈原曰:
舉世皆濁我獨清,
眾人皆醉我獨醒,是以見放。
漁父曰:
聖人不凝滯於物,
而能與世推移。
世人皆濁,
何不沽其泥而揚其波?
眾人皆醉,
何不哺其糠而啜其醨?
何故深思高舉,
自令見放為?
屈原曰:
吾聞之,
新沐者必彈冠。
新浴者必振衣。
安能以身之察察,
受物之汶汶者乎?
寧赴湘流,
葬於江魚之腹中,
安能以皓皓之白,
而蒙世俗之塵埃乎?
漁父莞爾而笑,
鼓枻而去,
歌曰:滄浪之水清兮,
可以濯吾纓,
滄浪之水濁兮,
可以濯吾足,
遂去,不復與言。
《漁父》這篇文章中的重要的場景就是「世人皆濁,眾人皆醉」,在軟體中,不妨以記憶體快要耗盡存在很多碎片來比喻世人皆濁,眾人皆醉的場景。
按照漁父的思想,「滄浪之水清兮,可以濯我纓;滄浪之水濁兮,可以濯我足」,滄浪之水清兮,意味著記憶體的分配是正常的,
沒有記憶體碎片,那麼自然可以去分配記憶體,並好好地利用一下了(可以濯吾纓)。當系統中盡是記憶體碎片(滄浪之水濁兮),難以分配到大片的記憶體,只能分配到一些小記憶體碎片,就讓它做一些小的用途(可以濯吾足)。
再來看屈原的「
舉世皆濁我獨清,眾人皆醉我獨醒」的思想,也就是記憶體快耗完盡是碎片時,沒有必要去分配記憶體了(我獨清)。
根據上面的分析,不難看出,漁父追求的是高可靠性的演算法(例如伺服器軟體),當記憶體正常時,就去實現主要的功能計算,當記憶體不足時,就轉到另外乙個分支去實現一些簡單功能的計算,然後等待系統記憶體**變正常,反正程式就是不退出,一直可靠地執行下去。
屈原追求的是高效的演算法(例如客戶端軟體),當系統記憶體盡是碎片,效率低下之時,他選擇的不是象漁父一樣跳到另乙個分支去執行,而是退出程式,所以屈原最後投江了。
屈原與漁父的演算法追求(zz)
屈原既放,游於江潭,行吟澤畔,顏色憔悴,形容枯槁。漁父見而問之曰 子非三閭大夫與?何故而至於斯?屈原曰 舉世皆濁我獨清,眾人皆醉我獨醒,是以見放。漁父曰 聖人不凝滯於物,而能與世推移。世人皆濁,何不沽其泥而揚其波?眾人皆醉,何不哺其糠而啜其醨?何故深思高舉,自令見放為?屈原曰 吾聞之,新沐者必彈冠。...
SEO的進步在於追求巔峰 追求卓越 追求信仰
seo為網路誕生,同事也為網際網路的締造者。但是在現在這個seo越來越普及的網路時代裡,我們所面臨的壓力和競爭環境也越來越大。那麼,程式設計客棧你甘心被後人追趕從而一直做乙個小小的seo嗎?no,不甘心。那麼久要從強烈的競爭中脫穎而出,其實seo人員都知道。seo不僅是乙個體力和乙個精神活,更是考驗...
小白的追求
time limit 1000ms memory limit 65536k 小白和小黑的小船翻了以後,小白就去追妹子去啦。但是問題隨之而來,小白共有10個目標,編號0 9,但是小白只能追求乙個,所以小白就去找小金請教如何解決,小金什麼都沒有說,用手指了一下小白,小白瞬間恍然大悟,你是讓我順從本心嗎?...