kevinzxc1217

@kevinzxc1217

Joined on Jun 13, 2023

  • contributed by < kevinzxc1217 > Reviewed by Kuanch 未完成 lib/list_sort.c 部分 未研讀論文〈Dude, is my code constant time?〉 Git 部分 皆在master上開發,建議每一功能開分支開發,並練習 git rebase;commit e333ba0 沒有說明為什麼僅將 q_merge_2list 重新命名為 q_merge_2_list,若是非常無關緊要,commit message 仍可以「說明原因,並註明無須在意,請見 commit ...」,會讓其他人更了解 Reviewed by Lccgth 貼上程式碼時應只列出關鍵程式碼進行討論,例如 q_delete_mid 可列出快慢指標與刪除節點部分即可。
     Like  Bookmark
  • contributed by < kevinzxc1217 > 解說影片 TODO:高效記憶體配置器: 閱讀論文 "LLFree: Scalable and Optionally-Persistent Page-Frame Allocation" ( https://github.com/luhsra/llfree-c ) 重現實驗並紀錄問題 搭配: https://hackmd.io/@sysprog/c-function (malloc/free 本質上就是 heap 的管理器) 要解決的問題是多核處理器中,allocator 會面臨大量的 lock contention,若要有更好的 scalability,就需要 lock-free 的實作 https://hackmd.io/@sysprog/concurrency/%2F%40sysprog%2Fconcurrency-lockfree : lock-free 指 只要執行足夠長的時間,至少會有一個執行緒會有進展 (progress) LLFREE(Lock and Log–Free Pageframe allocator)
     Like  Bookmark
  • contributed by < kevinzxc1217 > 閱讀〈因為自動飲料機而延畢的那一年〉 所有的決策都要有事實做依據,我們把過去飲料店一整年每一天的冰塊使用量轉成圖表,用程式畫出來,下圖是在2015/1/13當天飲料店的冰塊用量,底下的橫軸是一天當中不同的時間,藍色的是該時段的銷售杯數。用杯數回推冰塊用量,紅色的折線圖就是冰塊存量,如果一段時間沒有使用會緩慢回升,但如果冰塊用量大增會迅速掉下去。 「所有的決策都要有事實做依據」,我很喜歡作者的這句話,不管是在寫程式還是創業,做任何決策時不應該是憑感覺,而是提出證據證明所做的決定是否有所依據。 於是我便重複「加冰塊、倒冰塊、測量訊號、紀錄」,做了超過480次,很無聊想看實驗紀錄的人可以點這裡。 最後得出了一張漂亮的分佈圖,X軸是訊號大小,Y軸是落入秤上的冰塊實際重量,用最小平方法找出回歸直線之後,就可以給定訊號,預測最有可能的冰塊重量,而95%的冰塊誤差會落在30g之內,大約是不到兩顆冰塊的誤差,在可接受的範圍內。
     Like  Bookmark
  • contributed by < kevinzxc1217 > 閱讀〈Linux 核心模組運作原理〉 前期準備 練習Linux 核心模組的撰寫、掛載及卸載。 撰寫核心模組 hello.c #include <linux/init.h>
     Like  Bookmark
  • contributed by < kevinzxc1217 > 第三週測驗題 測驗 1 (版本一) #include <math.h> int i_sqrt(int N) { int msb = (int) log2(N); int a = 1 << msb;
     Like  Bookmark
  • contributed by < kevinzxc1217 > 第一週測驗題 測驗一 node_t *list_tail(node_t **left) { while ((*left) && (*left)->next) left = &(AAAA); return *left; }
     Like  Bookmark