トップページ⇒tech
65コメント13KB

==処理を遅くする==

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
CPUが速くなってしまって、あっという間に終わってしまう処理がありますが、
全体的にゆっくし処理をさせたいときがあります。

こういうのって、みなさんどうしてますか?
0002名無しさんNGNG
ターボスイッチを切ります。
0003名無しさん@お腹いっぱい。NGNG
Sleep@` SetPriorityClass@` SetThreadPriorityとかを聞きたいのかな?
0004名無しさん@お腹いっぱい。NGNG
自分を速くします。
0005名無しさん@お腹いっぱい。NGNG
一行毎にデバッグプリント文と、確認キー入力待ちをいれます。
って、これじゃ単なるデバッグ手法だね。
ユーザに処理が進行中であることを示すダイアログボックスでも
出しときゃOKでないかい。
00061NGNG
つまらないレスばかりでうんざり。
0007名無しさん@お腹いっぱい。NGNG
タイマー割り込み処理の中に重い処理を入れてます。
0008名無しさん@お腹いっぱい。NGNG
それはキミの質問がつまらないからです。
00095NGNG
>1
>つまらないレスばかりでうんざり。

ゴ・メ・ン・ヨ・!(けッ!)
そうだな、画面の右上端に地球儀でも表示して、
そいつをくるくる回すとか、表示される文字列を
読み上げるとか、いっそのこと目の不自由な人にも優しい
とかいって、画面で起きてる出来事を全部実況解説するとか、
ユーザーにゴーグルでもかぶせて3D表示にでもするとか、
処理を全部JAVAで実現して、ブラウザ上でなにもかも
動かすとか、グローブはめさせて手の動きを読み取らせるとか、
逆に手にフィードバックするとか、音声認識にするとか、
脳に電流を流すとか、匂いや味を付けるとか、カメラでユーザの
顔色をうかがうとか、バックグラウンドでエロ画像を集めるとか
円周率を計算するとか、宇宙人からのメッセージを解読するとか、
遺伝情報を解析するとか、テレビ番組をMPEGにしといてくれるとか
好きにすればいいだろう。ざけんなよ!
0010偽1NGNG
最高のレスをありがとう
0011名無しさん@お腹いっぱい。NGNG
マザーボードのXtalを8Mhzぐらいのに換装します。
(今時のマザーボードって動作クロックと同じXtral使ってるんですか?)
0012名無しさん@お腹いっぱい。NGNG
窓でやるならデバッグ用のVXDを作って、
命令を実行するたびにウエイトを入れるだけ
DOSでもデバッグ割り込みを使うか、
タイマー割り込みで過負荷をかける方法がある
0013名無しさん@お腹いっぱい。NGNG
一定期間だけスリープさせるってのは?
一番素直だと思うんだけど。
0014名無しさん@お腹いっぱい。NGNG
a
00153っすNGNG
>5(6)
とりあえず氏んでください(-人-)
00163っすNGNG
>>5(6)
じゃなくて
>1(6)
でした〜。
5さん、ごめんなさい〜。
0017>1NGNG
遅いマシンを自作すれば?
あなたらな普通に組んでも素晴らしくゆっくりと動くでしょう。
0018名無しさん@お腹いっぱい。NGNG
PCなら、キャッシュを全部OFFにすれば笑っちゃうくらい遅くなるよ。
0019名無しさん@お腹いっぱい。NGNG
メモリーを8MBくらいにすれば、とても楽しいです
0020名無しさん@お腹いっぱい。NGNG
stress使えば遅く出来るかな?
0021本当の1NGNG
はぁ。ちょっと見てない間に、偽者が…。

やっぱり一定期間スリープやブレークポイントをおくのが多いのかな。
これだと、全体的には遅くならないし、セットするのも面倒なところもあります。
処理を遅くするコマンドを作ればいいのかなぁ。
0022名無しさん@お腹いっぱい。NGNG
>>21
3を見ろ
0023名無しさん@お腹いっぱい。NGNG
18の言う通りCPUの1次キャッシュ切ったら386くらいになるよ
0024名無しさん@お腹いっぱい。NGNG
プログラムから、1時キャッシュって切れます?
DOSでもWindowsでも
0025名無しさん@お腹いっぱい。NGNG
ゲームなら、CPU速度ぎりぎりまでフレームレート(画面書き換え)を
増やすとか、より遠くまで見渡せるようにするとか、解像度を上げるとか、
角張りをとるとか、半透明表現等をより緻密に行うとかして、CPUパワー
を捨てないことが良いこととされています。
0026名無しさん@お腹いっぱい。NGNG
VSYNC割り込み。じゃなかった、タイマー割り込み。
0027名無しさん@お腹いっぱい。NGNG
for(int i=0;i<100000000;i++);
0028>27NGNG
最適化で切られて終わりだったりして
0029>28NGNG
for(variant int i=0;i<100000000;i++);

0030>29NGNG
volatileでなくて?
0031>1NGNG
クロックを分周しろ。カウンタ回路かますだけ。
0032名無しさん@お腹いっぱい。NGNG
で、結局1は、自分の環境でテスト用に遅くしたいのか、それとも
作ったアプリケーションの一部の動作を遅くしたいのか、どっちな
んだ?
0033cossesionNGNG
俺は、Divide by 0で落ちる昔のDOSプログラムを動かしたいだけだ。
0034名無しさん@お腹いっぱい。NGNG
Pauseボタンを自動的に連射する機能をつければ良いです。
スピコン。
0035本当の1NGNG
自分の環境だけ遅くしたいなぁっていうところです。
残念ながらハードウェアは触れません。

ビデオみたいに、コマ送りとか、巻き戻しみたいなことが
出来たらいいのになぁ。
0036>35NGNG
Windowsなら APIリファレンスヘルプで ”デバックの概要”を検索してみて下さい
シングルステップさせるといいでしょう。
0037本当の1NGNG
>36
ありがとうございます。

申し送れましたが、環境はUNIXなんです。
PCじゃないので、ハードをどうこうできません。
0038名無しさん@お腹いっぱい。NGNG
>37
デバッガなしでやってんの?
大変だね。
0039名無しさん@お腹いっぱい。NGNG
nice
0040名無しさん@お腹いっぱい。NGNG
>37
だったら>>3の方法とかはだめなの?
004139NGNG
(あ、しまった、、、他のスレッドのハンドルのままだ)
004241NGNG
(ああ、さらにスレ違いだ、なにやってるんだろうおれ)
0043名無しさん@お腹いっぱい。NGNG
Sleep(1000);とか入れたら(笑
0044名無しさん@お腹いっぱい。NGNG
unixなら標準負荷ツールxengineがあるだろおぉぉぉ。。!
0045名無しさん@お腹いっぱい。NGNG
nice コマンド使ったら?
詳細は man nice で出るはず。
0046本当の1NGNG
SetPriorityClassがみつからないです…。
名前から察するに、システムのリソース割り当ての優先順位を設定するかと思ったのですが…。
だとすると、その処理だけゆっくり実行するっていうのとは違うかなぁ。

niceも同じだろうけれども、スケジューリングに対する優先順位をどうするかっていう制御だと、
他に処理が少ない場合と、他に処理が多い場合とで、遅くなる度合いが変わってくるだろうし、
そもそもniceって、どのくらい効いてくるものやら…。

ちなみに、4wayのXeon700MHzに2GBメモリ積んでます。
0047名無しさん@お腹いっぱい。NGNG
SetPriorityClassはWindowsのAPIです。
0048名無しさん@お腹いっぱい。NGNG
ネタが面白くない。
ちゃんとなりきれよ>本当の1(37@`46)
で、まじめな話チップセットは何?
物によってはレジスタいじるとwaitとか設定できるぞ
0049本当の1NGNG
>48
チップセットは分らないです。本当に。

あとレジスタをいじるっていうのは、どういうことなんでしょうか?
005048>1NGNG
LSIのパッケージをひっぺがえして、レジスターを指で
しこしこすることです。
0051名無しさん@お腹いっぱい。NGNG
で、1はどうしてゆっくり処理させたいのかの説明あったか?
005248NGNG
>本当の1
Windowsならコンパネから、Unixならマニュアル見て調べるように
物がわからんので大雑把だが、大抵のチップセットがIDEの速度を
変更したり、メモリやI/Oアクセスのタイミングを変更したりできる
設定次第で100分の1程度の速度に設定するくらいは簡単
00533っすNGNG
なんでこんなスレッドにこんなたくさんレスがついてるんだ(^^;

>>1
環境を書いてくれ。言語もしっかり。
でないと2度手間になってしまうぞ(というかなってる)
0054本当の1NGNG
説明不足で非常に申し訳ないです。

ハードウェアの設定を変更して、システム全体のスピードを
遅くすることは出来ません。パソコンじゃなくって、ラック
に入っている大きなマシンで、フィールドエンジニアしか、
ハードウェアを触るのはご法度なのです。

環境は、NCR社のWorldMark52??というマシンだそうです。
(開発室と違うところにマシンがあるので、見たことはないです。)
言語は、UNIXのCです。

処理を遅くしたい目的は、興味本位です。
プログラム中にsleepを入れていけば、たしかに遅くはなりますが、
sleepしている間だけ止まってるという状態なので、
そのプログラムだけ、全体的になめらかにゆっくりする方法は
ないものかと。
0055名無しさん@お腹いっぱい。NGNG
そういうことなら答えは「ない」ですな。
0056>1 NGNG
ある薬を飲むと、世界が遅くなったように感じられるそうです。
この際、人間側を高速化することをお勧めします。
005748 NGNG
あまり関係ないが、50は偽者
0058名無しさん@お腹いっぱい。 NGNG
nopを入れまくれ
00593っす NGNG
>>1
それ会社のマシン?しかも文を見る限りかなり重要な:)
「興味本位でやるな」と答えておいとくっす。
0060本当の1 NGNG
>59 (=3)
仕事で使うマシンです。かなり高価です。

で、目的が興味本位ってだけなので、そのマシンではあきらめます。

デバッガがステップごとに実行できるんだから、ステップごとに、
せめてmsec単位で実行できるようにすれば、そのプロセスだけ
ゆっくり実行させることが、できそうだなぁって、思いました。
0061名無しさん@お腹いっぱい。 NGNG
デバッガ作りゃいいじゃん。
その程度の機能でよければ簡単だろ。
0062名無しさん@お腹いっぱい。 NGNG
割り込みかけまくればいいじゃん。
0063名無しさん@お腹いっぱい。 NGNG
>61

簡単だろって、てめー作れんのか?
0064名無しさん@お腹いっぱい。 NGNG
簡単だって言ってんじゃん。
ptrace(2)でシングルステップフラグを立てるだけだ。
0065本当の1 NGNG
>64
ヒントありがとうございます。
■ このスレッドは過去ログ倉庫に格納されています