跋涉不止 34

2021-09-30 09:17:46 字數 3482 閱讀 6816

從北京歸來,短短乙個月,我就對外包的公司的興致蕩然無存了,當我帶領幾個好兄弟從北京回來後,積攢了那麼多的假期,我想讓他們好好休息。我則在休息了三天後,繼續選擇上班,我想,我得把攢下來的調休假用在最需要的地方,老婆明年就要生了,我一定得攢到那個時候再用。

估計幾位兄弟也是這麼想的,把假期用在最需要的地方吧,沒過幾天,他們也都悉數來上班了。

辛苦鏖戰三個月,西安這邊公司沒有一位領導出來說句鼓勵的話,多少讓人有點失望,對員工的漠不關心,有時候會對公司造成致命一擊,這是後話。我其實不在乎這些,虛的我也不稀罕,可回來之後,還說我們在那邊開銷有點大,公司每人的活動費用從50降到了30,我超標了。大?聽說過出差期間,活動經費不公升反降的麼?大家都遠離家庭,努力奮鬥,辛苦勞作,就換來這樣一句話?我有點傷心,因為有部分錢,我還是自掏腰包呢,再說,北京的消費層次,和西安那時乙個檔次麼?咋就不知道有所區分呢?算了埋在心底吧,這英雄當的窩囊。

沒過兩天,更氣人的事來了,公司看著我們幾個在資源池中,暫時沒活做,就告訴我和阿峙,讓我們到以前的公司去做外包。這是啥事麼!讓我們就這麼回頭,去我工作了五年的地方去做外包?我信誓旦旦的走了出來,就混成這個樣子?回去做外包了?那我出來幹嘛?就為了被外包回去?公司就這麼照顧員工感受的麼?那還不如讓我們辭職呢,我還真感覺丟人。我當然堅持不去。阿峙也一樣。

不過等等,難道是真想藉機勸退我們?那好吧,我就主動辭職吧。

於是,我先給人力資源的小俊妹打了個招呼,我說我決定辭職了,其實,我是為了探聽虛實,得知公司的真實意圖,然後再做決定。

公司很快有了反應,一聽說我要辭職,還是有點急的。只是有點病急亂投醫了,公司竟然又給我原來在華為的那個負責人打**。

「劉琦現在腳好了,已經回來上班了,你們這邊還需要人不?」

「暫時不需要,等要了我給你打**吧。」

「那你看能否找個地方把他塞進去,否則他就辭職走個逑了。」

「哦,那好,我給你找一下看。」

這當然是我後來聽公司其他人說的。

第二天華為那邊來了**,說是急需要乙個人,幫他們解決乙個效能方面的問題,看我願意過來不。就這樣,公司在沒有徵得我是否同意的情況下,就已經替我做了決定。

唉,既然是不能去以前的公司,那也只有這裡了,總不能讓公司閒養著我吧,畢竟公司是要掙錢的,就算在你身上不能掙錢,也不能陪吧。好吧,公司給我乙個人情,那我得還這個人情吧,只是,重新歸同乙個人管,我心裡多少還是有點難受的。

就這樣,我重新進入了華為的工作場地。好在我並不孤單,阿旭也一同被調過來和我共同戰鬥了。我們的專案是同乙個,所幹的卻活不一樣,但我的心情,前所未有的壓抑。

這個專案,我依然不知道和其他專案有什麼聯絡,只知道似乎是要將抓包後的資料,進行解析後,分析分類入庫。這似乎多少和我前段時間在華為做的東西,在功能上,很有點像。         這個專案的效能確實是低,整個專案從解析資料報,到分析協議,到資料統計再到入庫,乙個單執行緒下來的,這效率能高麼?**寫的也實在是爛,幾乎看不到一行注釋,也沒有配套文件,感情華為自己原來對這些也不在乎呀,定出的標準,難道只是用於和其有業務的其他公司麼?我記得華為內部報紙上曾說,除了要當中國高科技的領軍外,一定要多做貢獻,幫助兄弟公司成長,只是這種幫助犧牲也太大了吧,不至於犧牲到自己都做這些吧。估計又是乙個非常小的專案吧。後來得知,這個專案是不大,只有區區20左右的投入人員,似乎大家又都太忙,忙到連注視都沒時間寫,也似乎這個專案已經延期了一點時間。當然這個專案並非一無是處,其所有函式的介面定義還算清晰明了,我通過函式名,大概能了解每個函式要實現什麼功能,至於裡面怎麼實現的,我先不管了。因為我已認定,單執行緒是這個專案的最大效能軟肋。那就想法先更改了這個問題再說吧。

華為裡面還是有高手的,似乎是因為這個專案太急了,使用者似乎是對效能嚴重不滿意,因此華為特意調配了兩個高手過來。華為畢竟是華為,這兩個高手水平也確實高,乙個是阿民,寖淫於linux下的c的研究已經十年了,另乙個名字我給忘了,他對這個專案似乎非常熟悉了解,技術也當真不錯,整個過程下來,我跟著他兩個還是學了些東西的,這相當值得我欣慰一番。

我負責效能調整,因為我不熟悉內部**,所以,我憑經驗分析情況,我說我認為是單執行緒導致的效能嚴重下降。因此有兩種解決方案,一是改為多執行緒,而多執行緒難免會觸及到資料共享,執行緒間為了避免對資料造成破壞,自然要新增很多的鎖。但如果是這樣,似乎要調整的東西比較多,因為時間已比較緊張,這樣改會牽扯的地方太多,外加我不熟悉**,因此不可取。另一種方法是將整個專案拆分成多個程序,使用程序間通訊機制,外加程序與程序間進行記憶體共享。這樣即達到了多執行緒的效果,又避免更改太多的**。效果可能也會不錯,但這樣一來,原本是乙個程序的專案,就要拆分成三到四個程序,而且,這三到四個程序的啟動,也必須有先後順序,否則可能適得其反,且效果怎樣,沒有試過。在經過一翻討論之後,由阿民拍板,我們選擇了第二種方案,我和阿民兄負責進行變更。

於是我就負責了將整個專案拆分成多程序,並預留各個程序間的共享介面,而阿民兄則負責實現共享記憶體。

繁忙的工作開始了,可能是專案比較緊吧,華為那邊比較著急,我晚上正常下班,竟然多次接到華為那邊打來的**,說我怎麼吭一聲都不,就走了。

暈,我早上上班,按時來,下午下班按時走,有錯麼?自然是一百個不願意,總不能被牽著鼻子走吧,於是我發了一次飈,聯合阿旭,找到我們領導,當著華為人的面,毫不留情的說了一番火藥味十足的話,最後直接說。「這樣下去,你找其他人吧,我能力有限,做不了!」,而阿旭和我觀點完全相同,亦是非常強硬,對我力挺,呵呵,好兄弟。

一番鬥爭之後,情況並沒有太多好轉,想想也是,人家是甲方呀,又是我們公司求著讓安排進來的,本就低了一等,哪還有更多的話語權,且不說這個問題了。

兩個星期後,功夫沒有白費,效能被提高了4倍,華為那邊很高興,但是,後來發現,原來的**存在很大的記憶體洩露,根本穩定執行不了幾個小時,這能用麼?於是,我又負責找出記憶體洩露。

找記憶體洩露談何容易,我對**的功能了解,但對內部實現,幾乎沒有看過。兩周來只顧搞效能了。我在使用valgrind這個軟體無效後,決定採取最笨但通常也是最有效的方法----逐行遮蔽功能**。

遮蔽**那是需要技巧的,你得確保你遮蔽之後,**能正確執行,也要確保不會因為你的遮蔽**,導致新的記憶體洩露,因為這樣,你就很難定位到到底是**記憶體洩露了,甚至會造成很多不必要的干擾。**不是很熟悉的我,著實有好幾次,我以為找到了,很興奮的跟蹤下去的時候,發現是我遮蔽導致的問題。於是我就得耐心的熟悉這段**的功能和處理邏輯,然後再去想可能的記憶體洩漏點,再進行遮蔽……。

乙個星期後,終於找到了這個記憶體洩露問題,其實很簡單,是乙個簡單的位元組對齊問題導致的。因為傳遞引數的時候,傳的是無符號指標,而到了對這個引數解析的時候,則是進行了結構體的強轉,這看似沒有什麼問題,但它一經牽扯到位元組對齊,問題就嚴重了。問題找到了,自然就好解決。

後來經過反覆的效能驗證,多輪測試,問題基本掃蕩完了。我們也松了一口氣了。而此時,我才知道,我們公司發生了翻天覆地的變化。

阿旭一經辭職走人了,阿崎被公司帶到我以前的公司面試,沒有通過,自感愧對公司,自己辭職走了,阿棟也因為沒有被我們以前公司應聘上,被勸退了。阿峙則勉為其難的被公司說服,到原來的公司面試,去之後,以前同事一陣驚訝詫異之後,非要追問為啥離開公司,雖然最後讓他自己任選部門進,但羞愧難當的阿峙,還是決定辭職走人了。

瞬間,和我一起並肩戰鬥的兄弟,竟然是幾乎乙個不剩了。我心裡那個痛呀,也徹對公司失望,而公司西安這邊的高層,也不知何故,接連發生**。

算了,我還是走吧,兄弟都走了,我獨自留在這裡,幹嘛?於是,我重新整理簡歷,從來沒有如此急切的等候新公司的面試。

跋涉不止(3)

2004年的春節,我在家裡和老爸好好談了一次。工作還沒有找到,你打算一直帶家教麼?打算帶家教,但是打算開個家教培訓班,慢慢的做大。有幾成把握?九成吧。前期投入需要多少錢?算了一下,大概需要兩萬,我和兩個朋友,目前錢足夠了。咱家情況你知道,不能支援你太多錢,給你五千吧。爸,我不要,我錢夠了,留下給弟弟...

跋涉不止 31

當你掌握著生殺大權的時候,你是什麼感覺?那如果是被動的呢?我這次任務聽上去很震撼 去北京拯救乙個專案。好吧,儘管不願出差,但這也太具 了吧,拯救乙個專案,呵呵,我要當英雄了。因此,我甚至以謊言的方式告別華為,興奮的要衝向北京。還沒衝就有考驗了,竟然是選人。北京專案急需要人,已經先期派去了三個,加上北...

跋涉不止(45)

第四十五章 燈紅酒綠的世界 除了日常為唯威產品不停的加班外,也有一些時間,因為商務上需要技術的支援,因此小江有時候會拉上我,走進乙個商務的世界。在我看來,那是乙個燈紅酒綠的世界,因為這另乙個世界,我突然感覺到,其實,做技術還是挺幸福的,相對商務而言,技術的辛苦,無非是為乙個個技術難題的煩惱,但終歸還...