貝果🍎
圓周率日就是要吃圓圓的披薩
https://images.plurk.com/3H6jQHtAxtoqk7sDDQTywo.jpg
貝果🍎
極具收藏價值的珍品
https://images.plurk.com/3Iw2TMkjYxC6mSN3z0oEay.jpg

本來今年想要推出新版但沒做
想睡喵
那個光碟打開是txt之類的嗎
貝果🍎
想睡喵 : 是的,因為光碟容量夠大就沒壓縮直接放 txt 檔,而且還有完整大檔和分段切開的許多小檔

如果要做一百億位就只能放壓縮檔了
想睡喵
挑戰電腦運算的極限
Abby@U†U
可以用每7bit 表示兩個位,這樣可以多存5倍! 而且繼續支持lseek
貝果🍎
想睡喵 : 當作電腦測速指標 結果瓶頸都是卡在 RAM
想睡喵
殘酷的事實
貝果🍎
Abby@U†U : 講得出 lseek() 也是專家了
我本來想的是用 64 bit 表示 19 位數 (用在十進位大數運算)
不過與其塞更多位數不如每次重新計算,0.5 秒就能計算一百萬位了,超過一百萬位的部份我想應該很少人會用得到 (rofl)

啊還沒給你看過這個
C 語言版本
[分享] 計算π到小數點下一億位

Python 版本
[心得] 計算π到小數點下十億位 ─ 超進化版
貝果🍎
想睡喵 : 世界紀錄是拿硬碟當計算紙用,就不會被 RAM 卡住瓶頸,但這樣一來就不能用現成的 math library 要自己重寫一遍

沒記錯的話世界紀錄保持者還是這個軟體
y-cruncher - A Multi-Threaded Pi Program
貝果🍎
你不會想知道那夥人為了破世界紀錄買了多少顆硬碟
呱呱呱呱
鵝鵝今天也有吃圓圓披薩
Abby@U†U
雖然用不到,但..但是lseek 至任意位是O(1)欸!
貝果🍎
呱呱呱呱 : 其實我是為了吃披薩過節的,其他都是藉口,你也是對不對 XD
呱呱呱呱
貝果🍎 : 我是,看到小披薩 99 元欸,就給他買下去
貝果🍎
Abby@U†U : 咦?對光碟這種螺旋形的也是嗎?
我不太記得了,要研究一下

仔細想想,太大的檔案在 FAT 這種鍊狀的和 NTFS、EXT、UFS 這種樹狀的檔案系統 lseek 都不是 O(1) 啊,果然還是只能用 raw filesystem 了
Abby@U†U
貝果🍎 : 想想看微觀上來說找到具體位置應該還是O(logn) 的樹搜
貝果🍎
Abby@U†U : 如果是 raw (沒有 filesystem) 直接存在硬碟上的話,是可以直接把位置換算成第幾碟盤、第幾軌、軌上第幾磁區的,雖然 seek time 和軸心旋轉、磁頭移動還是有關,不過視為 O(1) 還是可以接受的

有 filesystem 的話就要翻 indirect ..... indirect 啥的尋找會麻煩一點,所以 raw storage 其實還是有人用的
Abby@U†U
貝果🍎 : 其實說 O(f(n)) 的n 都會 說明是哪個層面 的參數啦。數位來說是1, 但微觀來說還可以加入一大堆。 :-D
貝果🍎
Abby@U†U : 說得也是 (汗) 講得太順老是忘記複雜度的問題永遠沒那麼單純
載入新的回覆