回答編集履歴
1
誤情報の訂正
answer
CHANGED
@@ -2,4 +2,17 @@
|
|
2
2
|
Linuxはscanfの入力待ちでは一切CPUは使いません。
|
3
3
|
キー入力と入力しつつある文字の表示とかの処理はGUIシステム側のCPU消費とか、OSの割り込み処理のCPU消費としてカウントされてると思います。
|
4
4
|
|
5
|
-
Windowsはscanfを呼び出したプログラム自身が結構CPUを使っちゃってるようですね。
|
5
|
+
Windowsはscanfを呼び出したプログラム自身が結構CPUを使っちゃってるようですね。
|
6
|
+
|
7
|
+
追記:
|
8
|
+
間違いでした。
|
9
|
+
|
10
|
+
Linux glibc 2.18 以降のclockはは、 精度を向上させるため、 clock_gettime(2) (の CLOCK_PROCESS_CPUTIME_ID クロック) を使って実装されていいます。以前はtimes()を使ってましたがどっちにしても消費したCPU時間をはかっています。
|
11
|
+
|
12
|
+
一方Winowsのclockはwall-clock timeを返す関数(時刻がわかるので差し引きすると経過時間が出る)で「ISO Cと互換性がない」と書かれています。
|
13
|
+
https://msdn.microsoft.com/en-us/library/4e2ess30.aspx
|
14
|
+
|
15
|
+
そもそも違うものを計っていたと言うことです。
|
16
|
+
|
17
|
+
おそらくは、Win321piのGetProcessTimesを使うとかするぼが正解。
|
18
|
+
C++プログラミングがしたいのならすでに他の方が答えているstd::chrono::high_resolution_clock::now()関数が正解なのでしょう。
|