表題の通りです。
完全に趣味の産物ですが、いったん、それなりに動くところまで来たのでGitHubに公開しました🦔
昨日ザッと書き上げた時は、ブロックデータを画像に直す処理が結構遅かったのですが、本日何とか許容範囲(個人の感想です)になりました。
高速化の一部分はChatGPTに相談しながらやりました。結構助けてくれますね👀
うーん、まだまだChatGPT甘く見てたなー👀
— 高橋 かずひと@闇のパワポLT職人 (@KzhtTkhs) 2024年4月5日
重い処理を早く書き直してくださいって言って結構早くしてくれるもんですね🤔
ひとまず13sから6sになった。 pic.twitter.com/YwR7dDXQAY
とりあえず10分の1まで改善👀
— 高橋 かずひと@闇のパワポLT職人 (@KzhtTkhs) 2024年4月6日
もーこれ以上は知らん🫠 https://t.co/2hO2r96w7N pic.twitter.com/1BCQ9Memhr
更に短くなった👻
— 高橋 かずひと@闇のパワポLT職人 (@KzhtTkhs) 2024年4月6日
ChatGPTさんやるやん(てのひら返し https://t.co/TfXU0Wfcot pic.twitter.com/VPF4ik9btZ
昨日:10~15秒かかってた処理をChatGPTに書き直してもらい、5、6秒くらいに改善
本日①:一晩寝て起きたら、そもそも根本的に改善できる気がしたので、ChatGPTが書いた処理を廃棄して、自分で書き直し10秒から1秒程度に改善
本日②:もう少し改善できる箇所は無いかChatGPTに聞いて、アドバイスを元に修正し、1秒から300ms程度に改善
みたいな流れでした👻
ChatGPTは、(まだ)根本的に改善するようなアドバイスは出来ないようでした。
それでも、要所要所で上手く質問すれば、見落としていた観点とか教えてくれて、助かりました。
ちなみに、まだ改善点は残っているのですが、そこまで高速化しなくても僕が使う分には問題無いので、いったん放置しています。
今分かっている範囲で残ってる高速化の改善点↓
・External Dataに格納されている画像は、以下のような特徴のブロックデータになっているため、各ブロックの処理をパラレルにして高速化することが出来る想定
- 画像データは、アルファ画像ブロック65536バイト(256x256x1チャンネル)、画像ブロック262144バイト(256x256x4チャンネル)が交互に並んでいる
- 各画像ブロックはパディングを詰めて256x256の固定長サイズになっている
以上