チラシの裏からうっすら見える外枠の外のメモ書き

新聞に挟まってる硬い紙のチラシの裏からうっすら見える外枠の外に走り書きされたようなものです。思いついたときにふらふらと。

C言語で演算速度の測定

今年の夏はどうやら冷夏なようで、暑い日がそんなになかった感じ

まだ夏は終わってないんですけどね。

 

さて、今回はCPUの演算速度の中で「乗算と除算、どちらが高速か」ということを調べてみたかったので、これを計測するプログラムを作りました。

仕組みはいたって簡単で、ループ毎に各演算をして、その演算にかかった時間を計測するだけです。

ソースコードは以下のとおりです。

 

C言語による演算速度の計測

 

これをコンパイルして実行してみます。

実行環境

CPU : Intel Core i7 4790K(定格)

メモリ : 16GB

コンパイラ : gcc

すると、以下のような結果が出ました。

f:id:k-hyoda:20170819185126p:plain

f:id:k-hyoda:20170819185129p:plain

このように、各四則演算の中でも、乗算が最も早く、除算が最も遅いことがわかります。

加算と減算はどちらも同じぐらいに見えますが、やや減算のほうが高速なようです。

では、ここで最適化オプションを適用して、再度コンパイルしてみます。

 

実行環境

CPU : Intel Core i7 4790K(定格)

メモリ : 16GB

コンパイラ : gcc(最適化オプションとして-O3適用)

すると、以下のような結果となりました。

f:id:k-hyoda:20170819185139p:plain

f:id:k-hyoda:20170819185142p:plain

 

このように、最適化オプションを設定すると、四則演算は高速化しますが、加算だけあまり最適化されないようです。

特に、除算に関してはかなり高速化しており、加算や減算よりも速くなっていることがわかります。しかし、乗算に関してはあまり高速化されていないようです。

 

 

私が今回調べたかったことは、「乗算と除算、どちらが高速か」ということです。

これらの結果から、除算よりも乗算のほうが高速であることがわかりました。

除算は乗算に比べて計算速度が遅いですが、最適化オプションによっては若干高速化を期待できます。

一方、乗算に関しては高速ですがO3の最適化オプションの恩恵はあまり得られないようです。

さくらのレンタルサーバでC++のCGIを動かす

Webアプリケーションを作るときに、PHPを使うのも速度的になんだか嫌な感じがしたので、今回は少しお遊びな感じでC言語CGIを作成して、それを実行してみました。

ただ、今回はソースコードの仕様上C++でないとコードが動作しなかったので、C++を使用します。

 

サーバは、さくらのレンタルサーバ スタンダードプランで、特にshellをいじったなどはしていませんが、teratermでログインしてコンパイルレンタルサーバ上で行います。

 

続きを読む

学生目線でのBYOD経過報告 前期中間

私の学校では、一部でBYODを試しています。

昨年度から、紙面などで保護者向けに通知があり、晴れて今年度から実際にノートパソコンを持ち込んでの授業が行われています。

今回はこれまでで感じたBYODに関することを、学生目線でご紹介します。

ただし、ここに書く内容は一個人の感想であり、全体の総意ではありません。

 

続きを読む

Visual Studio Codeで簡易的なC/C++のデバッグ(2017年4月版)

最近花粉症で鼻が辛い。

新年度が始まり、環境もやや変化したためその移行作業を行っている。変化したと言っても大幅に変化したわけではなく、ちょっとしたことなのだがそれが多いと面倒事も増える。今日はその面倒事の一つだった、Visual Studio Codeで簡単なC/C++ファイルのデバッグを行う方法について解説したい。

 

既にほぼ同じ内容の記事がたくさん公開されているので一見準備に困りそうにないのだが、地味に痛い点があったのでそこを中心に解説する。ただし、この記事はWindows向けの内容であり、macLinuxなどの別OSに関しては対象としていない。また、既にある記事を元に書いているため、以下リンクと合わせて読んでいただければ幸いである。

gabekore.org

 

続きを読む

インターネット回線の乗り換え

春は色々と忙しい季節だ

 

特に、卒業、入学、就職といった様々な物事の終わりと始まりが重なる。

それに合わせた様々なサービスも行われ、春の安らいだ雰囲気はどこ吹く風といった次第だ。

 

今回はそんな中で、インターネット回線についての話題をしようと思う。

続きを読む

Visual Studio 2017 RCを導入してみた

これまた久々の更新になったこのブログ、いつまで続くのか。

 

さて、10月頃まで暑いと思っていたら11月に入った途端に寒くなって最近はマフラーや手袋が手放せなくなった。

 

そんななか11月16日から3日間、Microsoftのイベント「Connect(); // 2016」が行われ、その中でVisual Studio 2017が発表されたので早速導入してみたいと思う。

 

その他Visual Studio for Macなどの発表もあったのだがMac持っていないので省略する。

 

connectevent.microsoft.com

 

続きを読む

Battlefield 1、間もなく公開

秋になって段々と涼しい日が増えてきた。

半袖だった服装は薄手の長袖へ徐々に変更している。

朝晩の冷え込みは冬を思わせるほどだ。

ただ、昨日今日は暖かかった。

 

さて、Battlefieldシリーズ最新作「Battlefield 1」が間もなく公開される。

現在はOrigin Accessの10時間限定プレイが先行して遊べるようになっているが、概ね好調のようだ。

ただ、たまにサーバの調子が悪くなりゲームから切断される場合があるとのこと。

今回は、これまでに公開された記事や、Open Betaで遊んでみて思ったことなどを振り返ってみようと思う。

 

続きを読む