私はMibookでManjaroを使用しており、Code OSS(Visual Studio Code)がインストールされています。動作時にIDEにコンテンツを作成するだけで、CPUが3.1GHzターボ速度でジャンプすることがわかります。
ガバナーを省電力モードに変更すると、約1GHzを維持しますが、大幅に遅延します。
1GHz以下に維持したいのは、バッテリ寿命と発熱によるものです。このノートブックはターボで実行またはダウンクロックし、コアが1つだけアクティブになっても非常に熱くなります(ハイパースレッドを使用すると実際には2つのコア)。
VSCとも呼ばれるコードOSSはElectronで作られており、リソース集約的であることを知っていますが、それが本当かどうかはわかりません。それ悪い。
このIDEを改善したり、ターボ速度を使用していないときに実行するために特定のフラグを有効/無効にする方法はありますか?
そうでなければ、Electronや同様の技術に頼らない良い選択肢はありますか?
答え1
Code OSS(別名VSC)がElectronで作られ、リソース集約的であることは知っていましたが、そんなに悪いことは知りませんでした。
これは電子的ではなく、入力中にバックグラウンドでコード分析、コンパイルステップ、シンボルブックを実行するためです。大規模プロジェクトでC ++を編集するとき、私のemacsとvimの設定もCPUコアの数に関係なく使用します。何百万ものシンボルを知っていて、私が入力したときに何をしているのかを理解するバックエンドを使用するには、基本的にアドインを持つコンパイラが必要です。キーを押すたびに、インテリジェンスがバックグラウンドで実行されます。特に私のemacsは、同じ機能を提供するためにVS Code / Code OSSで使用するのと同じ技術であるLSP / clangdを使用することに注意してください。
このIDEを改善したり、ターボ速度を使用していないときに実行するために特定のフラグを有効/無効にする方法はありますか?
バックグラウンドで分析に必要な項目を削除するなどの機能を無効にできると確信しています。これが何であるかは、使用する実際の言語プラグインによって異なります。
実際にコードを実行してperf top -a
その横で実行すると、すべてのCPUサイクルがどこで使用されているかを確認して無効にできる項目を特定できます。これ無効にできる項目の例です。知っておくべきことは、CPUサイクルに役立つ機能を取引していることです。
1GHzにとどまりたい
そして
周波数は1GHz程度なのに遅延が激しい。
まあ、パフォーマンスが良いかもしれませんし、遅いかもしれません。
コアは1つだけアクティブです。
恐ろしいアイデア:ハイパースレッディングはCPUをより効率的に使用し、システム全体のエネルギー効率を向上させます。 (このアイデアは、シングルスレッドCPUがほとんどの要素をアイドル状態にし、まだわずかなエネルギーを使用し、実行を可能にするためにロジックを追加することです。より頻繁に)アイドル状態に戻り、クロック周波数を早く減らすできます。
そうでなければ、Electronや同様の技術に頼らない良い選択肢はありますか?
繰り返しますが、Electronは問題ではありません。
IDEの紹介をリクエストするよりも、戦いを始めるより良い方法はないと確信しています!だから正直に言うとあなたはそうではありません。考えるコード言語プラグインが提供する高度な機能です。その場合は、自動書式設定と構文強調機能を備えた単純なテキストエディタが優れています。高度な完成/コードスペルチェック/…機能を有効にせずにKateまたはCode :: Blocksを試してください。