• 締切済み

hwclockの実行時間はどれくらい?

Cプログラムから時刻合わせでdate , hwclockをコールしているのですが、 system("date -s '2006/07/12 09:06:20'"); printf( "system( hwclock ): Start\n" ); system( "hwclock --systohc" ); printf( "system( hwclock ): End\n" ); と記述すると、時折 "system( hwclock ): Start"を表示してから "system( hwclock ): End"を表示するまで 10秒くらいかかる時があります。 そんなものなのでしょうか?

みんなの回答

  • agharta
  • ベストアンサー率52% (54/103)
回答No.1

使用環境がUnix(系)ならば、trussコマンドやstraceコマンドで システムコールを見てみるのも良いのではないでしょうか http://opentechpress.jp/developer/03/10/28/1054253.shtml http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/012strace.html

参考URL:
http://opentechpress.jp/developer/03/10/28/1054253.shtml
matyrcry
質問者

お礼

ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • それぞれの暗算にかかった時間

    このプログラムは3つの数字の和を暗算させるプログラムです。 プログラムでは、10回の暗算にかかった合計時間を表示させて います。 質問としては「それぞれの回数にかかった時間をそれぞれ 表示させるにはどうすればいいのかか?」です。 #include<stdio.h> #include<time.h> #include<stdlib.h> int main(void) { int a,b,c,i,n; int num; clock_t start,end; srand(time(NULL)); printf("暗算トレーニング開始!!\n"); start=clock(); for(i=0;i<10;i++) { a=10+rand()%90; b=10+rand()%90; c=10+rand()%90; n=rand()%17; printf("%d%*s+%*s%d%*s+%*s%d:",a,n,"",n,"",b,n,"",n,"",c); do{ scanf("%d",&num); if(num==a+b+c) { break; } printf("\a違います。再入力してください。\n"); }while(1); } end=clock(); printf("%.1f秒かかりました。\n",(double)(end-start)/CLOCKS_PER_SEC); return 0; }

  • 処理能力計測について

    現在処理能力を計算するプログラムを組んでいます。 time_t start,end; : start=time(NULL); 時間を計測したい処理 end=time(NULL); printf("time %.0f s\n",difftime(end,start)); このように書いているのですが、出力は秒単位になります。もっと細かい単位で計りたいのですが、どうしたらよろしいでしょうか? よろしくお願いします。

  • 経過時間表示

    お世話になります。 System.nanoTime()を使い処理の経過時間を表示したいのですが、最終的にこれをナノ秒ではなく秒で表示したいのですが、0秒と表示されてしまいます。 long start = System.nanoTime(); //処理 long end = System.nanoTime(); System.out.println((end-start)/1000000000); 処理経過時間はナノ秒でだいたい8000000~10000000ナノ秒です。 ですので、10^‐9をかけて秒に直して0.008~0.01秒と表示させようとしたのですが、0秒と表示されます。 どのようにすればSystem.nanoTime()を使い0.008秒と表示できますでしょうか?宜しくお願いします。

    • ベストアンサー
    • Java
  • Rubyで実行結果を時間差をつけて一行ずつ表示?

    10000を 10でわっていくプログラムです。これを普通に実行すると、一度に実行結果が、表示されますが、秒数を設定して、一行ずつ間隔をあけて、表示するには、どのようにプログラムを書けばよいでしょうか? よろしくお願いましす。  ソースコード n=10000 while n>=1 do break if n <= 1 if n%2 == 0 n = n / 10 end puts n end 実行結果 1000 100 10 0 ↑ この実行結果を  1000  1秒後に 100  1秒後に 10 1秒後に 0 のように 時間差をつけたいです。

    • ベストアンサー
    • Ruby
  • clock関数での経過時間計測

    clock関数でプログラムの時間を計測しようと思っているのですがうまくいきません。 ----------------------------- clock_t start,end; start = clock(); (処理) end = clock(); printf("かかった時間:%f",(double)(end-start)/CLOCKS_PER_SEC); ----------------------------- 上のようにしているのですが、実行結果は0.00000秒と出てしまいます。処理のところは足し算を何題か出題し解答を入力し正解したら次の問題というようなことをしています。 確認のためstartにclock()を代入した後とendに代入したあとでprintfでstartとendを出力してみましたが、どちらの値も10.00000で同じ値となっています。0秒になるのはこれのせいだと思うのですが、どうして同じ値になるのでしょうか?

  • 台形公式・シンプソン公式についての質問

    以前質問させていただき実際にプログラミングを作ったのですが、なぜか間違った答えが出てしまいます。 区分求積法・台形公式・シンプソンの公式を用いて、1/1+x*xを求めたいのですが、 1)台形公式の答えが区分求積法の答えより精度がが悪くなってしまう。 2)シンプソン公式が答えに収束しない。 となってしまいます。 以下がそのプログラム↓ #include <stdio.h> #define FROM 0.0 #define TO 1.0 double func(double x) { double out; out = 1.0 / ( 1.0 + x * x ); return (out); } double kubun(double start, double end, int num) { int i; double h, s; h = ( end - start ) / num; s = 0.0; for(i=0; i<num; i++) s += func( start + i * h + h / 2.0 ); return ( s * h ); } double daikei(double start,double end,int num) { int i; double h,s; h = ( end - start ) / num; s = 0.0; for(i=1; i<num-1; i++) s += func( start + i * h ); return ((func(start) / 2.0 + s + func(end) / 2.0) * h ); } double simpson(double start,double end,int num) { int i; double h,s; h = ( end - start ) / num; s = 0.0; for(i=1;i<num;i+=2) s += 4.0 * func(start + h * i); for(i=2;i<num;i+=2) s += 2.0 * func(start + h * i); return ( (func(start) + s + func(end))/ 3 ); } int main() { double func(double); double kubun(double, double, int); double daikei(double, double, int); double simpson(double, double, int); printf("\n"); printf("### Square Integration\n"); printf(" ++ Partition = 10\t Answer = %10.6f\n", kubun(FROM, TO, 10)); printf(" ++ Partition = 50\t Answer = %10.6f\n", kubun(FROM, TO, 50)); printf("\n"); printf("### daikei Integration\n"); printf(" ++ Partition = 10\t Answer = %10.6f\n", daikei(FROM, TO, 10)); printf(" ++ Partition = 50\t Answer = %10.6f\n", daikei(FROM, TO, 50)); printf("\n"); printf("### simpson Integration\n"); printf(" ++ Partition = 10\t Answer = %10.6f\n", simpson(FROM, TO, 10)); printf(" ++ Partition = 50\t Answer = %10.6f\n", simpson(FROM, TO, 50)); return (0); } 画面に表示する際に、それぞれ分割数を10と50にした際の値を表示するように作りました。 細かい点までご指摘いただけると幸いです。 よろしくお願いします。

  • 2進→10進数

    2進数から10進数に変換するプログラムを作りたいんですが #include<stdio.h> main() { int a[8],i=0,ans=0,end; start: printf("2進数を10進数に変換するプログラム\n開始する場合は1を入力終了する場合は0を入力してください。\n"); scanf("%d",&end); if(end==1) { goto s1; } else if(end==0) { goto end; } { s1: for(i=0;i<8;i++) { scanf("%d",&a[i]); } for(i=0;i<8;i++) { a[i]=2^i; } for(i=0;i<8;i++) { ans=ans+a[i]; } printf("二進数"); for(i=8;i<=4;i--) { printf("%d",a[i]); } printf(" "); for(i=4;i<=0;i--) { printf("%d",a[i]); } printf("は%dです。\n",ans); goto start; } end: printf("終了します\n"); } 期待した結果が得られないのですがどこが違っているのか教えていただきたいです、お願いします。

  • CGIの表示時間、測定

    Perlを使っています。 CGIの表示時間の測定で、 ********************** $start = (times)[0]; 処理内容 HTML等 $end = (times)[0]; $speed = $end-$start; printf("消費時間: %.5f CPU秒",$speed); ******************* 大体かと思いますが、処理時間の目安としていました。 でも、最近新しいCPUが高いPCを買って、表示速度 が"0.01600 CPU秒" か、"0.00000 CPU秒"にしか、 なりません。 もっと細かく分かる方法はありませんでしょうか?

    • ベストアンサー
    • CGI
  • 時間の計算によってある行を取り出す

    MySQLバージョン4.1.16を使っています。 id start_time1 end_time1 start_time2 end_time2 という時刻が入っている項目があったときに、(時刻はdate("y/m/d H:i:s")という形式です) (end_time1 - start_time1)の値と(end_time2 - start_time2)の値の合計が 例えば5時間30分以上だった場合にのみ、その行を取り出すというSQL文は どのように書けば良いのでしょうか? 合計が24時間以上だった場合も考慮に入れないといけないので難しそうな気がしますが、、

    • ベストアンサー
    • MySQL
  • php プルダウンメニュー 時刻チェック

    <?php print '<select name="start_time">' . "\n"; $start = mktime(09,00); $end = mktime(19,00); for ($i = $start; $i <= $end; $i+=30*60) { $time=date("H:i",$i); print "<option value=\"{$time}\">{$time}</option>\n"; } print '</select>~' . "\n"; print '<select name="end_time">' . "\n"; $start = mktime(11,00); $end = mktime(21,00); for ($i = $start; $i <= $end; $i+=30*60) { $time=date("H:i",$i); print "<option value=\"{$time}\">{$time}</option>\n"; } print '</select>' . "\n"; ?> となっている場合選択される場合 14:00~16:00と選んでいただければよいのですが、この記述だと14:00~10:00と選ぶことが可能になってしまいます。 ここでご質問なのですが、start_timeのセレクトを選んだ場合、自動でend_timeをstart_timeで選んだ時刻の2時間後から選択できる記述はないでしょうか? javascriptを使わないといけないのでしょうか? もしphpでございましたらご教授お願いします。

    • 締切済み
    • PHP
このQ&Aのポイント
  • EP-812Aを使用している際に、印刷速度が遅くなり、ガタガタと音が鳴り、線が入った印刷物が出力されるという問題が発生しています。
  • クリーニングや検索して試した対策を行っても解決しない場合、以下の対処法を試してみてください。
  • まずはEP-812Aのドライバーソフトウェアを最新バージョンに更新してみてください。また、印刷ジョブを一時停止するなどの操作を行っても改善しない場合、EPSONのサポートセンターに連絡してみることをおすすめします。
回答を見る