→ diabloevagto:看到這個就讓我想到 Template metaprogramming 10/23 22:28
→ diabloevagto:沒太仔細研究不太清楚是否可行,你研究看看 10/23 22:28
→ diabloevagto:不然你就先算好,然後讀檔進來 10/23 22:28
→ Schottky:寫一個程式輸出成宣告的語法, 放在 .h 裡面 include 即可 10/23 22:29
→ applecool:嗯啊我只想到先算好然後複製貼上 10/23 22:29
→ applecool:目前想到跟四樓一樣的做法,但工作忙的時候要多一道工 10/23 22:29
→ Schottky:我自己比較喜歡直接輸出成 .o 再 link, 因為我的表都超級 10/23 22:30
→ applecool:希望能有只要改 alpha 就好 10/23 22:30
→ Schottky:大, 輸出成 C 語言 compile 時會很慢... 10/23 22:30
→ applecool:最差情況就是寫成批次命令了 10/23 22:30
→ applecool:可是輸出成 .o 改參數的時候還是要重新製作 .o 檔吧 10/23 22:32
→ Schottky:你可以用Makefile做啊,Visual系列就寫建置前事件(批次) 10/23 22:33
→ Schottky:VC++的建置前事件比較短路,make可以自動判斷某個檔有無更 10/23 22:35
→ applecool:嗯嗯啊,我也是想到這種作法,但想有沒有可能用template 10/23 22:35
→ Schottky:新再決定這個 .o 或 .table 檔需不需要再重新計算一遍 10/23 22:36
→ applecool:因為如果我要用 makefile 我就得幫同事 set up XD 10/23 22:36
→ applecool:所以 template 是無解的嗎?感覺好像真的只能用批次做.. 10/23 22:37
→ applecool:感謝!!!可是這樣沒辦法把計算移到編譯期 10/23 23:01
→ azureblaze:那只能自己寫個constexpr版的exp 10/23 23:05
→ azureblaze:其他的應該會被最佳化 10/23 23:06
→ applecool:其他的部分是指? 10/23 23:07
→ applecool:剛看來 constexpr 應該是符合我的需求,真的很感謝 10/23 23:13
→ applecool:實在大感謝了 10/23 23:14
→ applecool:忽然想到,這樣有記憶體連續嗎 10/23 23:35
→ azureblaze:"一般而言"有 10/23 23:37
→ applecool:似乎是~~總之感謝 10/24 00:13
推 plover:我寧可用程式去寫程式,除了可以建表,還可以作神奇的事 10/24 01:52
→ plover:例如把local變數->global,迴圈拆成goto 加速等等 XD 10/24 01:53
→ plover:或者是把很多 *.c *.h 貼成一整份code 加速 XD 10/24 01:55
→ Schottky:這個與其說是加速,感覺比較像在產生unmaintainable code 10/24 01:59
推 plover:maintainable code -> optimizer -> dirty code -> ... 10/24 02:13
→ plover:不做這些事當然也可以 10/24 02:13
→ plover:就直接編一編連一連就好了 10/24 02:14
→ Schottky:我只是想把前面幾篇的梗連起來... 10/24 02:20
→ applecool:為什麼貼成一整份 code 速度比較快 10/24 07:48
推 UncleHS:p大的做法效果有限 有時還會影響優化演算法的判斷 10/24 09:19
推 plover:請參考SQLite 10/24 11:39
推 UncleHS:那你要不要試試把llvm全部都合在一起? 10/24 13:55
推 UncleHS:現在是因為LTO還很弱 才讓你可以這樣做 10/24 14:00
→ UncleHS:而且llvm linker的優化本身就是把所有.o檔merge起來 丟回 10/24 14:00
→ UncleHS:llvm做優化 另外loop拆成goto 那那些parallel的優化算法 10/24 14:01
→ UncleHS:就不能做惹 optimize過的扣的又不是給你看的 你為了你自以 10/24 14:02
→ UncleHS:為的假優化 才是真正的dirty code 10/24 14:03
推 plover:每個 project 都有其目的,這邊只是提出一個可能的選項 10/24 14:09
→ plover:最終要做出怎樣的東西,端看目的為何,沒有一招可以吃全部 10/24 14:11
→ plover:總之就是取捨,有好有壞自行評估,跑數據證明有效就行了 10/24 14:13