IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
データの分析をする際には配列やベクトルは欠かせないデータ構造です。 大体どの言語にも大体配列は用意されていて、そこにサンプルのデータ等を入れて統計量を計算したり関数に渡して回帰をしたりするわけです。 ベクトルという単位でデータの塊を扱うものの、実際のアルゴリズムではベクトル内の要素一つひとつを見ていって何か処理をしたり計算をすることが多いでしょう。 その際、命令型言語ではforループを陽に使って要素にアクセスすることになります。 簡単な例を見てみましょう。ベクトルv1とv2の内積を求める関数をC言語で書くと以下のようになります。 function dot(double* v1, double* v2, size_t n) { double s = 0.0; for (int i = 0; i < n; i++) { s += v1[i] * v2[i]; } return s; } 特に難
どこで何を参考にしていたか失念していたのですが、以下の資料を発見しました。 「スレッドとプロセス 本題:スケジューリング(田浦健次郎)」の28ページに「少なくとも1-10ms程度に一度,OSがCPUをアプリケーションから奪う「機会」を保障する」とあります。 以前見たものとは違うとは思うのですが、いちおうわたし以外にも似たようなことを言っている人がいるということで。 本当はそれぞれのOSの設定情報にアクセスする方法を並べる方がいいと思うのですが、いまのところに自分にその必要性がないので見つけられたらまとめることにします。 OS 情報源 Windows 不明 Linux カーネルソース *BSD カーネルソース Solaris OpenSolarisのカーネルソース 参考資料 「スケジューリング(Wikipedia)」 「Scheduling Threads」 とりあえず今見つけられたWeb上
前回では簡単に、Windowsの「スケジューリングアルゴリズム」について解説した。今回は一歩踏み込んで、具体的なWindowsでのスレッド実行について見ていくことにしよう。 Windowsのタイムスライスは 「Quantum」単位で割り当てる Windowsではスレッドに対して、一定の実行時間を割り当てる。これを「タイムスライス」と呼ぶ。基本的にすべてのスレッドは、このタイムスライスの間だけ実行されて、時間が終わると次のスレッドに切り替わる。ただし、Windowsは“プリエンプティブ”なスケジューリングを採用しているので、優先順位の高いスレッドがキューに入ると、そのスレッドが、ほかのスレッドから制御を横取りして実行を開始する。 そのタイミングは、一定時間ごとにハードウェアが発生させるタイマー割り込みによる。一般的なパソコンでは、15.6ミリ秒ごとにCPUに割り込みがかかり、そのタイミングで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く