私はqt 5.1.0の新規インストールで64 linuxを使用しています。
サンプル アプリケーション qtbase/examples/widgets/widgets/lineedits を実行して実行します。これを qt5_lineedit と呼びましょう。また、qt4 ソースから同様のアプリを取得し、qt4 ライブラリでビルドして実行します。
htop を見ると、2 つの qt5_lineedit (1 つしか実行していないため、2 つのスレッドを使用) とメモリ使用量 (VIRT 223M RES 18268) が表示されます。
qt4_lineedit の場合、プロセスは 1 つしか存在せず、VIRT 126M RES 15848 を消費します。
そう、
- qt5 がデフォルトで 2 つのスレッドを使用するのはなぜですか?
- 仮想メモリのサイズに大きな違いがあるのはなぜですか?
アップデート。
qt5_lineedit は 2 つの pid を使用しますが、それらはプロセスではなくスレッドです。したがって、qt4_lineedit に関する情報は次のようになります。
VmPeak: 130936 kB
VmSize: 130932 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 17140 kB
VmRSS: 17140 kB
VmData: 4524 kB
VmStk: 136 kB
VmExe: 28 kB
VmLib: 48232 kB
VmPTE: 220 kB
VmSwap: 0 kB
Threads: 1
qt5_lineedit に関する情報は次のようになります。
VmPeak: 278020 kB
VmSize: 228584 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 18268 kB
VmRSS: 18268 kB
VmData: 77468 kB
VmStk: 136 kB
VmExe: 28 kB
VmLib: 50056 kB
VmPTE: 288 kB
VmSwap: 0 kB
Threads: 2