2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

アプリケーションパフォーマンス最適化には、いくつかの方法がある。

経過時間の長い関数の測定
経過時間の長い関数の最適化
データ構造の見直し
無駄処理の発見
ハードウェア処理の利用

経過時間の長い関数の測定

Profilerというツールで、どの関数の経過時間を測定する。
実測して加算する方法と、一定時間ごとにどの関数を実行しているかを測定する方法がある。

経過時間の長い関数の最適化

Profilerで、経過時間の長い関数で、inlineマクロにしたり、計算結果の表引きにしたりして、実行時間の短縮化をはかる。

データ構造の見直し

データ中心設計
成功体験は語っても、成功体験に頼らないために。清水吉男・田中伸明・柏原一雄・佐々木 眞一。仮説(153), 図(28)
https://qiita.com/kaizen_nagoya/items/d32adfaf7b2568bfd9d2

無駄処理の発見

無駄処理の発見方法は、実際のコードの状態、利用しているOS、言語、通信規約、DBによる。
OS、言語、通信規約、DBの組み合わせによっては、無駄がある場合がある。

ハードウェア処理の利用

ハードウェア処理の利用には、3つの方法がある。

現存するハードウェア処理の直接利用である割り込み処理の利用
FPGAなどによる前処理または後処理の追加
CPU, GPUの再設計

現存するハードウェア処理の直接利用である割り込み処理の利用

OSEK OS(AUTOSAR CP OS)をざっくり理解するには OSEK(3)
https://qiita.com/kaizen_nagoya/items/c68c0b86b97d4a90e6e2

osek/vdx os open source
https://qiita.com/kaizen_nagoya/items/59a4202bcb68e2dfd2b5

FPGAなどによる前処理または後処理の追加

クラウドサービスで、既存のサービスの処理のボトルネックを、キャッシュなどのバッファを儲けたり、アルゴリズムをハードウェア化して高速化する。

RTL設計スタイルガイド Verilog HDL編(System Verilog対応版)coding(73)
https://qiita.com/kaizen_nagoya/items/4c02f1575db1f28310a7

Xilinx: FPGA と Verilog HDL(5) coding(84) https://qiita.com/kaizen_nagoya/items/6db0b65fb1c227722660

FPGAをクラウドで開発する環境を探し中。HDL(6) https://qiita.com/kaizen_nagoya/items/cdf429ae3d134bae358e

CPU, GPUの再設計

今、一番着目されている。

dockerでchisel。2通りでbuildしてみた。最後は「RISC-VとChiselで学ぶCPU自作」。
https://qiita.com/kaizen_nagoya/items/6925755897f7d83bfe42

CPUの創り方、Hardware Description Language, Verilog HDL(0) coding(98)
https://qiita.com/kaizen_nagoya/items/010a48bb83639026a014

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?