-title: fragmentation を実際に見てみる malloc_test.c display_js.pl プログラムのパラメータを変えて、どのようにallocation pattern が変わるか見てみよう。 malloc_test.c は ring buffer に malloc を繰り返す。 ./malloc_test -m 10000000 -l 10 などと実行する。 case 'c': COUNT = atol(av[++i]); break; case 'a': ACTIVE = atol(av[++i]); break; case 'u': MIN_UNIT = atol(av[++i]); break; case 'm': MAXSIZE = atol(av[++i]); break; case 'l': MINSIZE = atol(av[++i]); break; case 'M': MEMORY = atol(av[++i]); break; となっている。macOS / Linux あるいは様々な malloc での fragmentation を測定しよう。 データは display_js.pl で HTML/JavaScript で表示する。 perl display_js.pl > data1.html ; open data1.html などとする。 d3js を用いている。 典型的な場合を生成し、学科の自分のWeb pageに載せて、そのURLを示せ。 それに対する考察を示せ。 --大量にメモリを消費してみる 実際に memory に memset して、どれくらいの時間がかかるかを測定する。 メモリを大量に食うプログラムと併用して、実行時間にどれくらい影響があるかを調べよ。 top を走らせながら perl -de 0 > @a = 1..10000000 あるいは Python で同じことをする。Widnow を切り替えるなどしてみよう。 OSやmallocのライブラリによっても異なる。Mac OS X, Linux, Windows で 調べること。 それぞれの違いに付いて考察せよ。 --option display_js.pl (あるいはそれが生成する HTML) は絶望的にダサい。   日付/OS/malloc libraryくらい出せ   色のセンスが絶望的、原色使うな   拡大縮小ボタンが scroll で飛んでいってしまう   複数のグラフを同時に表示したい   大きさの単位がわからない、目盛くらい出せ   無意味なアニメーションくらいしろ この辺を改良して自分のWeb pageに載せよ。