LoginSignup
4
1

More than 5 years have passed since last update.

「コンパイルエラーの爆発量を競う大会」を試してみる(0)

Last updated at Posted at 2017-07-14

元ネタ

環境

Ubuntu16.04、gcc5.4.0、cpu情報はlscpuで確認、2コア2スレッドの見せかけ4コア

lscpu
Architecture:          x86_64
CPU 操作モード:   32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
コアあたりのスレッド数:2
ソケットあたりのコア数:2
Socket(s):             1
NUMA ノード数:     1
ベンダー ID:       GenuineIntel
CPU ファミリー:   6
モデル:             78
Model name:            Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
ステッピング:    3
CPU MHz:               2686.781
CPU max MHz:           2800.0000
CPU min MHz:           400.0000
BogoMIPS:              4799.87
仮想化:             VT-x
L1d キャッシュ:   32K
L1i キャッシュ:   32K
L2 キャッシュ:    256K
L3 キャッシュ:    3072K
NUMA node0 CPU(s):     0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp

まだまだ元気だが最近ちょっと疲れ気味...、じゃあこんなことさせるなw

ソースコード

#include ".//.//.//.//a.cpp"
#include "a.cpp"

定義が分からないが(エラー)/(文字数なら)ちょっとでも稼ごうとaにしてしまった。

コンパイル

g++ a.cpp | tee error.log

teeコマンドで標準出力とファイル書き出しを行う。

nohup nice -n 19 vmstat -t -n 15 &> ~/log/vmstat.log &

を使ってシステムモニタもする。
15秒間隔でいいのかと思ったが意外と生き残る...、というか無限ループじゃねと思いだした。
たまにCPUが唸るがtopで確認したところシングルコアが80%程度で全体の20%ぐらいを言ったり来たり、ジョブ数をあげなかったからかな?
そしてやっぱり終わる気配はない(約10分経過)

頭のおかしい人たち紹介

コンパイル時、離散フーリエ変換をする流石に高速フーリエ変換は無理だったらしい。意外と難しいんですよあれ、なんか二次元配列を無理やり一次元配列に見せかけてる感が...。
ハマりそうといえばガウスルジャンドル法とかのテーブル計算はハマりそう。特殊関数周りは標準化されたらしいし。ガウス-ホニャララの積分法はいっぱいあるし網羅してもいいかもね。暇があればソースファアイル除いてみてもいいかもね。
タイムマシーンは有名だしいいよね
そして終わらない(40分経過)。

特殊関数紹介

せっかくだし。特殊関数の紹介でもジョージアルフケンさんでも読んでください。
ベッセル関数は$x=0$で正則$!=NaN$、ノイマン関数は$x=\infty$で正則、変形とかはベッセル関数とノイマンアカン数の足し算でどこでも正則にしたもの...だったと思う。
楕円関数は古典力学の逆二乗則に従うつまり、$F=g/r^2$を解こうとすると出てきたはず。これが定義できたから2体問題は解析的に解けるとなったはず。完全、不完全はベッセル、ノイマンの関係に似てたはず。要は楕円軌道を描くか、双曲線で無限遠に飛んでいくか。
ルジャンドルと倍多項式は$x$か$\cos x$の関係だったはず、ベッセルと球ベッセルも同じく...、
ジョージアルフケン読みなおすか...、意外と高いんですよね5000円オーバー、よやくすれば代替の図書館にはありますが予約しないと出てこないのも...orz。
そんなことより$\delta$関数作りません。あ、自分で作れってそうですね。

終焉の時

そろそろ一時間たつし、面白いこともなさそうなので殺します。
殺しました。

 1  0      0 3274896 162492 2342760    0    0     0   118 2019 22981 25  3 71  1  0 2017-07-15 00:16:18
 0  0      0 3254704 162500 2341220    0    0     0   143  934 2057 10  2 87  1  0 2017-07-15 00:16:33
 0  0      0 3235128 162528 2341492    0    0     0    71  911 2341 11  2 86  1  0 2017-07-15 00:16:48

一気にCPU使用率が下がりました。メモリも食ってなかったのでひたすらCPUを使ってファイルを読んでたんでしょうね。名前の長さとかがCPUの使用率を決めてたとかジョブ数とかが影響してたのは微レ存?
erro.logへのリダイレクトは失敗してた...orz。もう一回やる気は置きない...、と言いつつ(0)をつけてみる。
最後ちょっと整形したら時間を喰ってしまった。
完全なネタ記事です。次ぎやるなら予告投げてリアルタイム更新デモするか...、でも意味あるソースファルのコンパイルは怖いな...と思いつつ。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1