約 3,838,813 件
https://w.atwiki.jp/flashssd/pages/51.html
対象スレ: 【Flash】SSD Part22【SLC/MLC】 958 名前:Socket774[sage] 投稿日:2008/09/25(木) 19 04 48 ID DZjxGuz9 E8500@Vista64。ICH10にて計測。速過ぎる様な気がするがw CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo Crystal Dew World http //crystalmark.info/ Sequential Read 242.887 MB/s Sequential Write 77.386 MB/s Random Read 512KB 176.070 MB/s Random Write 512KB 77.265 MB/s Random Read 4KB 15.716 MB/s Random Write 4KB 34.178 MB/s Test Size 100 MB Date 2008/09/25 19 02 21 ちなみにOCZからの乗り換えだけど、プチフリは今んとこないな。 前だとアプリのインスコの時にいちいち固まってたしなあ。 あとは、よつべみたいなストリーミング(HDDコリコリ)するタイプにも弱かった。 今回は今の所そういう現象はないっぽい。 977 名前:Socket774[sage] 投稿日:2008/09/25(木) 19 47 05 ID DZjxGuz9 HD Tune INTEL SSDSA2MH080G1GC Benchmark Transfer Rate Minimum 118.1 MB/sec Transfer Rate Maximum 189.3 MB/sec Transfer Rate Average 181.0 MB/sec Access Time 0.1 ms Burst Rate 121.0 MB/sec CPU Usage 19.2% iometerは詳しくないのでよくわからん。HD Tuneでやってみたらこうなった。 988 名前:Socket774[sage] 投稿日:2008/09/25(木) 20 01 32 ID DZjxGuz9 1000MBにしてみたよ。やっぱり胡散臭ぇ値だなあw ================================================ CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo Crystal Dew World http //crystalmark.info/ ================================================ Sequential Read 252.426 MB/s Sequential Write 78.002 MB/s Random Read 512KB 175.632 MB/s Random Write 512KB 78.617 MB/s Random Read 4KB 15.775 MB/s Random Write 4KB 33.041 MB/s Test Size 1000 MB Date 2008/09/25 19 59 35 システムドライブだよ。30G程埋まった状態。 対象スレ: 【Flash】SSD Part24【SLC/MLC】 63 名前:Socket774[sage] 投稿日:2008/09/25(木) 21 45 36 ID DZjxGuz9 http //www2.uploda.org/uporg1690088.png.html HD tuneのグラフはこんな感じ。 97 名前:Socket774[sage] 投稿日:2008/09/25(木) 23 06 15 ID DZjxGuz9 IAA入れてなかったので入れてみた。ってか今は入れるの当たり前なのかな? ついでにデフラグもしてみたけど…効果なさそうw あと書き忘れたけど、ICH10はずっとAHCIです。OSはVista64bit、ready boost無し。 デフラグ後 http //www.uploda.org/uporg1690257.png.html 更にIAA追加後 (※訂正 ×「IAA」→ ○「Intel Matrix Storage Manager」) http //www2.uploda.org/uporg1690260.png 体感は(元が早いからだろうが)何が変わったのかわからんw 105 名前:Socket774[sage] 投稿日:2008/09/25(木) 23 29 08 ID DZjxGuz9 100mbだけどもう一回CrystalDiskMarkやったら更に胡散臭い値が…。 CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo Crystal Dew World http //crystalmark.info/ Sequential Read 244.994 MB/s Sequential Write 77.684 MB/s Random Read 512KB 205.160 MB/s Random Write 512KB 78.866 MB/s Random Read 4KB 20.456 MB/s Random Write 4KB 54.641 MB/s Test Size 100 MB Date 2008/09/25 23 25 31 一応数値は目に見えて上昇はしている。Random Write 4KBがおかしい事にwww 対象スレ: 【Flash】SSD Part24【SLC/MLC】 126 名前:Socket774[sage] 投稿日:2008/09/26(金) 00 12 11 ID SvlszeMq 1個買ってきたんでAdaptec ASR-3405にポン付け。 Q9550@P5E64WS Pro XP SP3 CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo Sequential Read 258.737 MB/s Sequential Write 74.167 MB/s Random Read 512KB 183.778 MB/s Random Write 512KB 70.271 MB/s Random Read 4KB 5.567 MB/s Random Write 4KB 11.565 MB/s Test Size 100 MB Date 2008/09/25 23 53 27 HDTune http //www2.uploda.org/uporg1690456.jpg.html 4Kが妙に遅いんでICHに繋ぎ直してみる予定。 対象スレ: 【Flash】SSD Part24【SLC/MLC】 394 名前:Socket774[sage] 投稿日:2008/09/26(金) 22 12 10 ID gX9CX1yw ソフマップ通販で買ったインテル到着。 今iometerでいろいろ測ってるところ。 4KBランダムリードは # of outstanding IOsが1のとき 8015.41 IOPS (31.31MB/s) # of outstanding IOsが32のとき 42985.62 IOPS (167.91MB/s) だった。つまり多重度を上げればガンガン上がる。 4KBランダムライトは、開始後しばらくは速いのだが数十秒の間にだんだん速度がおちて、 # of outstanding IOsが1のときは 2000 IOPS (8 MB/s) # of outstanding IOsが32のときは 600 IOPS (2.4 MB/s) くらいに落ち着く。こっちはなぜか多重度が小さいほうが速い。 測定条件は、 Align IOs on 4KB、 Disk TargetsはPHISICALDRIVE、 Maximum Disk Size/Starting Disk Sectorは0(ドライブ全体を測定)。 シーケンシャルアクセスはだいたいスペックどおりだったので特に書くことはない。 (最終更新:2008/09/26 22 17 49)
https://w.atwiki.jp/dncrew/pages/29.html
RANDOM DAYS 『RANDOM DAYS』(ランダムデイズ)は一ノ宮怜の二次創作小説である。 根底には2007年3月下旬頃に設定が作られ、同年9月頃まで作者によって製作されたデジモン二次創作小説『prototype』(プロトタイプ)が存在する。 設定は『prototype』より引き継がれているが、多くの細かい点で変更が行われている。 (今後、『prototype』が公開される予定は無い。) 2009年4月23日現在、本編は序章的存在である「0話」のみ完成しており、INTENTIONにて公開中。 番外編は2本作成されていて、近日中に作者サイト・RANDOMDAYSにて公開予定。 しかし、作者の心配性と表現能力の無さ(思い込み含む)により1話以降の更新はかなり遅い。 概要 2006年6月、作者は偶然TVアニメが再開されていると知る。元々デジモンが好きだった為、デジモン熱が再燃。 2007年2月頃、とある事がきっかけでデジモン二次創作作品とデジウェブの「オリジナルストーリー掲示板」の存在を知る。 その時、「戦闘がメインの小説は多いが、日常がメインの小説は無い…。ならば作ってやろう!」と思ったのがきっかけとなり、本作が作られる。 その為、『prototype』と『RANDOM DAYS』は 『「ほのぼのハートフルギャグコメディ」で日常を描いたデジモン小説』という共通のコンセプトの元に描かれている。 また話は 本編(INTENTION RANDOMDAYSにて公開予定) 0話以前の過去の話が描かれる『Long Time Ago』(公開未定) 幕間を含め、話と話の間を補完する『Another Word』(RANDOMDAYSにて公開予定) の3つで構成される予定である。 公式作品との関連 アニメ アイテムなどで引用がある。 (ただし、同じ名称でも効果や意味が違う場合が多数ある。) ゲーム アイテム及び技、進化系統など多数引用がある。 世界観 1945年(第二次世界大戦)の終結以後、今より発展を遂げた近未来的な現代が舞台となっている。 1985年、後に『Digital Disaster(デジタルディザスター)』と呼ばれる現象が発生、デジモン及びデジタルワールドが公に知られるようになる。 その為、第0話の始まりは2005年3月となっている。 あらすじ デジモンが公に認知されて約20年――。 現在では共存して暮らしていた。 デジタルワールドとリアルワールドの交流も少しづつだが増えてきている。 そんな世界の少年少女とデジモン達の日常は――? 登場人物 メインキャラ(人間) 緋之谷 優雨(ヒノヤ ユウ) 本作主人公。幼年期デジモン育成サークル『BABY ANGELS』のリーダー。 本好きで物静かな少女、と思われがちだが実は男前な性格だったりする。 霜月 晴香(シモツキ ハルカ) ユウの幼馴染&『BABY ANGELS』のメンバー。 とても明るい性格で、基本的に周囲と馴染むのが早い。 一牧 竜也(イチマキ リュウヤ) ユウの幼馴染&『BABY ANGELS』のメンバー。 寡黙だが、他人と話す事があまり無いだけで喋る事自体は嫌ではないらしい。 メインキャラ(デジモン) フォル ピコデビモン。ユウのパートナー。 何故か爪部分が白い。 セラム ピッドモン。ハルカのパートナー。 フラン シードラモン。リュウヤのパートナー。 サブキャラ ラスイル ロイヤルナイツのデュークモン。苦労人。 レミさん ほんわかとした雰囲気の女性。『BABY ANGELS』の元リーダー。 外部リンク INTENTION(作者主宰『オリジナルデジモンストーリー掲示板NEXT』支援サイト) RANDOMDAYS(作者個人サイト)
https://w.atwiki.jp/chocolate1120/pages/89.html
C言語で使われるRandom関数は常に一定ものもしかでない。 例えば、 #include stdio.h #include stdlib.h main() { int i; for(i=0;i 10;i++){ printf("%d\n",rand()%10+1); } } のようなプログラムを実行すると [hoge@hoge C]$ ./a.out 4 7 8 6 4 6 7 3 10 2 [hoge@hoge C]$ ./a.out 4 7 8 6 4 6 7 3 10 2 [hoge@hoge C]$ ./a.out 4 7 8 6 4 6 7 3 10 2 この様に毎回同じ値が出現する。 これを解決するためには、 time moduleを使う。 時間によって、random値を変えている。 #include stdio.h #include stdlib.h #include time.h main() { int i; srand((unsigned) time(NULL)); for(i=0;i 10;i++){ printf("%d\n",rand()%10+1); } } [hoge@hoge C]$ ./a.out 9 5 4 5 6 3 8 9 9 4 [hoge@hoge C]$ ./a.out 7 1 5 8 1 7 2 7 2 8 [hoge@hoge C]$ ./a.out 6 3 1 7 9 2 5 2 3 2 とすると毎回違いランダムな値がでる。 *時間がほぼ一緒(1秒以内など)に実行すると同じ値が出てしまう。
https://w.atwiki.jp/todo314/pages/413.html
Random Walks with Random Projections Purnamrita Sarkar, Geoffrey J. Gordon NIPS 2009 Workshop 概要 無向グラフのRWRをRandom projectionで効率的計算 提案手法 iからのRWR $$ \mathbf{x_i} = \alpha(I-(1-\alpha)AD^{-1})\mathbf{e_i} $$ $$ \frac{v_i(j)}{d(j)} = \alpha L^{-1}_\alpha(i,j) $$が欲しい $$ L_\alpha = D-(1-\alpha)A $$ Laplacianは(接続行列)^T(接続行列)で書けるけど、L_αの場合はちょっと変形が必要 $$ \mathbf{e_i}^\top L^{-1}_\alpha \mathbf{e_j} = \mathbf{e_i}^\top L^{-1}_\alpha B_\alpha^\top W_\alpha B_\alpha L^{-1}_\alpha \mathbf{e_j} $$ $$ \mathbf{\chi} = L^{-1}_\alpha B_\alpha^\top W_\alpha^{1/2} $$ χをrandom projectionしてχQを持っておく; k=O(log n/ε^2)次元ならk回Laplacianの線形方程式を解く Laplacianの線形方程式はほぼ線形時間で解ける 疑問 Q.||f(x)-f(y)||は保持されるけど、内積は? 答え 絶対誤差で保持される、まぁまぁ良い 実験 たった数千辺 まとめ 無向じゃない場合はこういう変形は出来ないかな? 線形方程式を適当に解けば良いなら、そのままrandom projectionすれば良い…? NIPS PageRank personalized PageRank 2017/04/24
https://w.atwiki.jp/vippc2/pages/79.html
Trimコマンド +クリックで展開 Trim コマンドとは Trim コマンドは ATA8-ACS2で定められた新 ATA コマンドで SSD の IDENTIFY DEVICE 情報の word 169 の bit0 が 1 の場合 (16進数で 0001h の場合)、Trim 有効と表明している事になる。(bit15-1 は未定義で通常は 0) Trim コマンドは ATA コマンドの一つである為、SCSI/SAS コントローラー環境では使用不可。 通常ファイルシステム上ではファイルを削除してもファイルシステム上のインデックスが削除されるだけでファイル本体のバイナリは残ったままになる。SSD はファイルシステムを認識できないのでこの不要なバイナリは新たなファイルで上書きされるまで残るが、このファイルシステム上で削除された不要なバイナリが記録されているアドレスを SSD に通知することで速度低下防止や NAND フラッシュメモリの余計な消耗を阻止する効果が期待出来る。但し Trim コマンドによって受け取ったファイルシステム上不要なアドレスの範囲をどう処理するかは SSD メーカーの任意となっており、Trim コマンドが有効な状態でも速度低下が大きい SSD もある。Trim コマンドが有効でさえあれば SSD の様々な問題が全て片付く訳ではなく、やはり Trim コマンドの効果は SSD (ファームウェア) の設計次第である。 参考 DOS/V Power Report - SSDの性能低下とTrimの効き具合を大検証! Trim コマンドの制限 Trim コマンドはファイルシステム上から不要とマークされたアドレスのデータが不確定になる事からいくつかの問題が発生する可能性があり、トラブルを回避する為現在は RAID ボリュームに対しては使用不可。また IDENTIFY DEVICE コマンドには Trim コマンドが発行され不要とマークされたアドレスに再度アクセスがあった場合にその機種の SSD が「不確定なデータを返す」「元のデータを返す(DZAT Word69 bit14)」「必ずゼロを返す(RZAT Word69 bit5)」の内のどの挙動を示すかを判別する為のビットが設けられている。現状では Trim が発行されたアドレスのデータは不確定になる機種しか確認できていない。DZAT 対応の SSD は今後 RAID ボリュームに組み込んでも Trim コマンドが使用可能になる可能性がある。 Trim コマンドで指定されたアドレス範囲のデータが不確定になる事からファイル/データ復旧/復元が HDD 以上に難しくなる。 Trim コマンドは NCQ 非対応のコマンドの為、非同期 I/O コマンドを多用するサーバー用アプリケーション等が動作している環境で使用すると Trim コマンド発行の瞬間に I/O スループットが低下する。また、SSD の機種ごとのアーキテクチャによって様々であるが Trim コマンドをきっかけに GC を行う為その後暫くの間 I/O スループットが低下する機種もある。(平たく言うと Trim 発行の瞬間や発行後暫くもっさりする場合がある) 以上のような環境 (RAID 環境、Trim コマンド発行時の I/O スループット低下が問題になる環境、その他 Trim コマンドが使用不能な環境) では Trim コマンド無しでも速度低下しにくい東芝製か SLC かつ予備領域の割合が高いエンタープライズ向け SSD が必須である。 Trim コマンドを使用するには ①Trim コマンドを発行する OS か Trim コマンド発行ユーティリティ(とそれらに対応したファイルシステム)を使用し ②Trim コマンドサポートしているドライバを使用する必要がある。 ①の Trim コマンド発行をサポートしている OS 例 Windows 7 / Server 2008 R2 以降 (+ NTFS) Linux カーネル 2.6.33 以降 (+ ext4) Open Solaris FreeBSD 8.1/8.2 以降 MAC OS X ver 10.6.6 (+ HFS Plus)。但しデフォルトではデバイスネーム先頭 9 文字が「APPLE SSD」になっている SSD (つまり純正 SSD) に対してのみ有効になっている。 Trim コマンドをサポートしない Windows XP や Vista のようなレガシー OS でも以下のようなユーティリティを使用する事で条件や制限は付くものの Trim コマンドを使用することが出来る場合もある。但しこれらの Trim 発行ユーティリティもそれぞれ特定のファイルシステムにしか対応していない。(SSD TOOL BOX ではダイナミックボリュームではない NTFS 限定、等) また、Trim 対応のドライバでないと動作しない可能性もある。(SSD TOOL BOX では記載されているが Wiper.exe、SSD Magician は特に記載なし) Intel の SSD TOOL BOX (Windows XP 以降 + Intel 製 X25-M G2 以降の SSD のみのサポート) OCZ の Wiper.exe (Windows XP 以降 + OCZ の Indilinx 搭載 SSD (Vertex) のみサポート) G.SKILL の Wiper.exe (Windows XP 以降 + G.SKILL の Indilinx 搭載 SSD (Falcon) のみサポート) hdparm-9.17 以降 (Linux 用、全ての Trim 対応 SSD をサポート) Samsung の SSD Magician (Windows XP 以降 + Samsung 470シリーズのみサポート) ②の Trim コマンドをサポートしている Windows 用ドライバの例 Windows 7 標準の Microsoft AHCI ドライバ Windows 7 標準の Microsoft IDE ドライバ Intel チップセット環境のみで使用できる IRST 9.6.0.1014 以降 AMD チップセット環境のみで使用できる Catalyst 10.11 以降 (AMD AHCIドライバ 1.2.1.275 以降) Marvell 91xx 用ドライバ v1.0.0.1051 以降 これらの Trim 対応ドライバは動作が確認できたもののみを掲載しており、これ以外のドライバが Trim 非対応であるという意味ではない。Trim コマンドの効果はドライバと SSD の組み合わせによって異なり、SandForce と Microsoft AHCI ドライバ では効果が低い。原因は不要なアドレスの通知方法がドライバによって異なる事が原因のようだ。また Indilinx Barefoot と AMD AHCI ドライバ の組み合わせも Marvell 製ドライバに比べやや効果が低い。IMSM 8.x~ IRST 9.5 は Trim コマンドには対応しているが、Windows 7 の Trim コマンド発行に対応していない為、Intel SSD TOOL BOX と併用しない限り Trim コマンドを使用出来ない。(参考、PDF) Windows 7 の Trim コマンドの有効・無効化・状態確認方法 Windows 7 環境で Trim コマンドが発行されているかどうかの確認方法は以下の通り 1,管理者権限でコマンドプロンプトを開く 2,"fsutil behavior query DisableDeleteNotify"と入力して Enter 3,"DisableDeleteNotify = 0"と表示されたら有効、1なら無効になっている 4,仮に無効になっていた場合は"fsutil behavior set DisableDeleteNotify 0"と入力して Enter で有効化 (逆に無効化したい場合は"fsutil behavior set DisableDeleteNotify 1"で Enter) あくまで Windows 7 が Trim コマンドを発行しているかどうかの確認であって、ドライバや SSD が Trim コマンド非対応の場合は効果は無い。Windows 7 は Trim コマンド非対応の HDD や SSD に対しても常に Trim コマンドを発行しており、Windows 7 が Trim コマンドを発行しているからといって SSD 側が Trim コマンドを受信し SSD 内部で何らかの効果を発揮しているとは断定出来ない。エンドユーザーレベルでは実際に SSD が Trim コマンドを受け取った後に内部で何らかの処理をしているかどうかを確実に確認する方法は無く、Trim コマンド発行後に SSD に何らかの挙動の変化があるかを観察する事である程度推測が出来るだけである (SSD によっては Trim コマンド発行後に速度低下が回復したり Trim をきっかけに GC を行うため発行後暫く I/O スループットやレイテンシに変化がある場合がある)。仕組み上は IDENTIFY DEVICE 情報の Trim コマンド対応ビットが有効化されているだけで、Trim コマンドを受け取っても内部で何の処理もしないという事も可能。(RealSSD C300 FW 0001 等はこの可能性がある) procmon 2.91 を使用した Windows 7 の Trim コマンドのモニタリング方法 (OCZ Forum より) Force Trim ツール (強制 Trim) - Windows 7 環境で Windows 7 ネイティブの Trim 発行が有効な環境でのみ効果を発揮するツール。ドライブの空き領域をダミーデータで埋めた後に削除する事で Windows 7 の Trim コマンド発行を誘発する。同じ原理のツールが複数確認されている。Windows XP や Vista では全く効果は無い。OCZ フォーラム - Here's a tool to force-TRIM your entire drive、SSDTOOL.exe (Crucial フォーラムより、直リン) Windows 7 で TRIM コマンドを発行するケースの例(SSD TOOL BOX 等のユーティリティや他の OS では発行するタイミングが異なる) @IT ソースでは パーティションの3分の2以上を使用した状態でファイルを(本当に)削除した場合 ゴミ箱を空にした場合 パーティションを削除した場合 等に Trim コマンドを発行し、 ファイルをゴミ箱に移動した場合 パーティションをフォーマットした場合(たとえフルフォーマットでも) 空のパーティションを削除した場合 には Trim コマンドが発行されない事になっている。 MSDN Blogソースでは ファイルを削除した場合 パーティションをフォーマットや削除した場合 ファイルの上書きや圧縮 (によってファイルサイズが変化) した場合 システムの復元 (スナップショット) 等に Trim コマンドを発行すると説明されている。 Linux カーネル 2.6.33 以降での Trim コマンド発行 (Block Discard) 方法 ext4 をマウントする際に "discard" オプションを指定する。これだけ。ログ等は出力されない。こちらで公開されているスクリプトを使用する事で挙動を確認可能。※ファイルシステムは今のところ ext4 のみの対応。 対応ディストリビューション Fedora core 13 以降 Ubuntu 10.10 以降 Red Hat Enterprise Linux 6.0 以降 CentOS 6.0 以降 等 Mac OS X 10.6.6 での Trim コマンド発行方法 現状はデバイスネームの先頭9文字が"APPLE SSD"に一致する機種 (つまり純正 SSD) のみの対応だが、TRIM Support Enabler for Mac を使用する事で全ての機種に Trim コマンドを発行できる状態になる (IOAHCIFamily.kext のバイナリ中に "APPLE SSD" という文字列があり、これを "000000000" で埋めると全ての機種に対して Trim コマンドを発行出来る状態になるが、これを自動で行うツール)。このツールには不具合がある可能性がある為、トラブルを自己解決できる人のみ使用すること。 Trim コマンド発行方法 ※今のところ対応ファイルシステムは HFS+ のみ確認 (hardmac) 1、シングルユーザーモードで起動する (command/Appleキー + Sキーを押しながら起動) 2、コマンドラインにて "fsck -ffy" と入力し リターンキーを押す 3、"reboot" と入力しリターンキーを押すと通常のマルチユーザーモードで再起動する AHCI モードと IDE モード +クリックで展開 IDE モードは通常のパラレル IDE とコマンドの互換性がある (エミュレーション) モードで、AHCI モードは SATA2 で定義された NCQ やホットプラグやスタッガードスピンアップ、ポートマルチプライヤー対応等の新機能 (これらの機能はメーカーが選択的に採用するかを決定出来るため、SATA2 対応 HDD/SSD であっても機種によって対応していない場合がある) をサポートする IDE とは全く互換性の無い動作モードで両モード時は物理的に同じ SATA ポートであってもそれぞれ別のホストコントローラとして OS に認識される。通常 BIOS で両モードの切り替えが可能。オンボード RAID 付きのマザーの場合は更に RAID モードも選択できる。RAID モードのポート・RAID カードに接続していて RAID ボリュームの一部でないドライブは AHCI 同等の動作モードとなる。メーカー製 PC では IDE/AHCI いずれか片方しかサポートしていない場合がある。以下は Windows OS でのモード切替方法だが、他の OS でもそれぞれのモードに対応した別々のドライバが必要になる可能性がある。最近は HDD も SSD も AHCI モードに最適化されており、AHCI モードでないと公称速度が出ない場合が多いので特殊な理由が無い限りは AHCI モードで使用するべきである。 IDE モードから AHCI モードに変更するには (Windows 2000~XP の場合) Windows XP 以前では OS による AHCI のサポートは無い。SATA コントローラーチップのメーカーが AHCI モードに対応したドライバを配布している時のみ AHCI モードの使用が可能。ドライバが入手できた場合、まずドライバをインストールし再起動し BIOS 設定画面にて AHCI モードに変更した後 OS を起動する事で AHCI モードに変更が出来る。AHCI モード接続の SATA デバイスに新規に OS をインストールする場合はインストール画面で F6 キーを押し対応したドライバを FDD で読み込ませる必要がある (nLite 等でドライバ統合済みのインストールディスクを作成する事も可能)。 IDE モードから AHCI モードに変更するには (Windows Vista以降の場合) ハードウェア (BIOS、SATAコントローラー/SSD/HDDがSATA2.5以上に対応している事) が AHCI に対応しているのに SSD や HDD が IDE モードで動作している場合、レジストリの「HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci」の値を「0」に書き換え、再起動し BIOS 設定画面にて AHCI モードに変更した後 OS を起動する。すると標準の Microsoft AHCI ドライバが有効になる。但し、この作業は接続されている全ての SATA コントローラー/SSD/HDD が AHCI 2.5 以降に対応していない場合はブルーバックエラーになる。 IDE→AHCI変更ツール (Windows 2000~7、32/64bit 対応) IDE モードでインストールした OS 環境を簡単に AHCI モードに切り替えるツール。 配布ページ ハイブリッド HDD ってどうなの? +クリックで展開 NAND フラッシュメモリと HDD を組み合わせたハイブリッド HDD には何種類かの方式があり、 ① HDD に NAND フラッシュメモリのキャッシュを組み込んだ OS 非依存で HDD と互換性のあるタイプは Seagate の Momentus XT (2.5"SATA、7,200rpm + Samsung 4GB SLC) の他、何社かの HDD メーカーが開発中としている。 ② HDD に Windows Vista 以降に搭載された機能"Windows ReadyDrive"で使用できる NVCache を組み込んだ OS 依存型ハイブリッド HDD としては旧型の Seagate Momentus 5400 PSD (2.5"SATA、5,400rpm + 256MB SLC) と Samsung Spinpoint MH80 (2.5"SATA、5,400rpm + 128/256MB SLC) がある。対応 OS 以外では単なる 5,400rpm の HDD としてしか利用できない。 ① と ② は微妙に速度は向上するもののベンチスコアや体感速度の大幅な向上は無い。① の OS 非依存のものであれば選んでも損は無い。その他は SSD と HDD を同時接続して SSD を HDD のキャッシュとして使用する方式で、 ③ 専用のハードウェアを使用し、OS 非依存でホストからは単体の HDD として認識される SilverStone SST-HDDBOOST (初期は完成度が低かったものの最新ファームウェアで性能が向上している。2.5"SSD を 3.5"形状に変換するマウンタの形状になっており、HDD へ接続する為の SATA コネクタがある。HDD のデータの内先頭から SSD と同じ容量だけ SSD にキャッシュされる仕組みで読み出しのみ高速化、耐障害性は並) ④ RAID コントローラーを利用し、専用ドライバを必要とするため OS 依存型のものは Adaptec maxCache 2405Q/5805Q/5805ZQ (アクセス頻度の高いデータをキャッシュ)、Marvell HyperDuo (Marvell 88SE9130 + Windows インボックスドライバで動作、88SE9128 搭載マザーボードの一部も対応している、スパニング (対障害性低下) とキャッシュモード)、Intel Smart Response Technology (Z68 チップセット + IRST 10.5 以降、SSD の内キャッシュとして利用できる容量は 18.6GB~64GB に制限、ライトスルーかライトバック (対障害性低下) 方式のキャッシュとして利用) がある。 ③ と ④ は組み合わせる HDD/SSD によって大きくパフォーマンスに差が出、もちろん使用する SSD 単体よりは遅くなり、Trim コマンドに対応しない為 SSD 側は速度低下してしまい、また SSD へファームウェアアップデートや Secure Erase をする際は ③ はいちいち物理的に SATA コネクタを繋ぎ変えたり ④ の場合は OS 上で設定を変更する必要がある事から、バグが多く頻繁にファームウェアアップデートがリリースされていたり速度低下の大きい SSD は適さず、組み合わせるのに使用する SSD は単体で使用する場合よりも更に厳選する必要がある。Intel は Intel Smart Response Technology を想定した SSD 311 をリリースする予定になっており、これは速度低下しにくく速度低下しても極端に遅くなりにくい SLC 採用で、枯れた (といっても時々 8MB 病が報告されているが) G2 系コントローラーを使用している為にキャッシュ用として向いている。その他には MLC だが速度低下せず安定している東芝製やその他の SLC 採用のエンタープライズ向け SSD 等が向く。 ぶっちゃけた話、SSD は単体で OS 入れて使って HDD はデータ用にすればいい。ハイブリッドは魔法ではないので SSD をキャッシュとして使用してもキャッシュされたデータ以外は速くならないし、SSD の容量以上はキャッシュ出来ない。どうしてもブートドライブの容量が 2TB や 3TB 必要かつ速くしたいとかの特殊な用途に向く。何?SSD と ANS-9010 でハイブリッドしたい?そうかそうか、出来るかわかんねーけどやってみろよ デフラグって効果あんの? +クリックで展開 HDD の場合は効果が高いデフラグだが、SSD の場合は物理アドレスと論理アドレスが異なる為、物理アドレスレベルの影響と論理アドレスレベルの影響を分けて考える必要がある。(デフラグツール等で分析の結果断片化が発生していても、SSD 内部では断片化が殆どしていない場合もあるしその逆もある) 論理アドレスレベルではフラグメントしていない方が高速になる。SSD 内部での物理アドレスの管理はページサイズかそれ以上の単位 (3xnm 世代は 4KiB が多く、2xnm 世代は 8KiB 程度) で行っており、大抵の SSD は SSD コントローラーに NAND フラッシュメモリを 8 個以上並列接続しページサイズをストライプサイズとした RAID0 のような状態になっている為、論理アドレスレベルでページサイズより大きなブロックサイズのアクセスが発生するとそれぞれの NAND フラッシュメモリに同時アクセスでき高速化出来るのが理由。但し同時アクセスの上限を超えたブロックサイズのアクセスがあってもそれ以上高速化は出来ないので断片化を完全に解消しても効果は薄い。同時アクセスの上限は SSD によって大きく異なるが、32KiB~128KiB 程度で頭打ちになる事が多い。AnandTech では毎回様々なブロックサイズでのパフォーマンスの違いを計測しており、ATTO Disk Benchmark でも確認できる。(これらは QD=4 での計測だったりするので実用時のパターンとは異なる場合もある) また、CrystalDiskMark でも SSD の場合は機種によっては 512KB と Seq が殆ど変わらない事が確認出来る。つまり、1MIB のファイルが 4KB ごとに断片化している場合は明らかにアクセスが遅くなるが、32~128KiB 程度ごと (SSD の機種による) に断片化している状態と全く断片化していない状態ではパフォーマンスは大差無いということである。 物理アドレスレベルではデフラグを行うと多数のランダムライトが行われる為 SSD によって (特に多くの MLC 搭載の機種) は顕著に速度低下してしまい、更に無駄な書き込みで無駄に寿命を縮める事になる。但し SSD によってはデフラグ中に発生するランダムライト等によってアクティブ GC が励起される為に速度低下が回復するものもある。つまり物理アドレスレベルではデフラグは基本的に逆効果で、効果があったとしてもそれはアクティブ GC が励起されただけである。Intel 純正 SSD の場合はランダムライトで GC が励起されることが多いので結果的にデフラグを行う事によって速度低下が回復できる場合もあり、RealSSD C300/C400 ではランダムライトでは GC は励起されないのでデフラグは逆効果になる場合が多い。つまりデフラグで GC を励起できるかどうかは機種によって異なり、デフラグは確実な方法とはなり得ないという事である。GC を励起させるには他の方法もあるのでデフラグ自体は行う必要が無い。 総合すると論理アドレスレベルの断片化対策としてはファイルシステムのブロックサイズ (NTFS ならクラスタ/アロケーションユニットサイズ) を 32~64KB に設定してしまうのが最も確実な方法であり、それ以上に論理アドレスが連続していても大した効果は無く、デフラグの出番は無い。物理アドレスレベルの断片化が原因の速度低下に対しては Trim+GC や Secure Erase が最も確実な方法であり、こちらもデフラグの出る幕は無い。尚、Microsoft や Intel は SSD に対するデフラグを推奨していない。 JMF601/602 搭載 SSD 等の"プチフリ"問題を抱えている上 Secure Erase や Trim に対応していない旧機種はランダムライトが多数発生するとプチフリが発生しやすくなる為、空き領域のデフラグがやや効果がある (というより他に打つ手が無い) が、そういう SSD の場合は窓から投げ捨ててしまって、まともな SSD を買ってきて換装する方が更に効果が高くお勧めである。
https://w.atwiki.jp/vippc2/pages/48.html
SSD 早い話が「円盤のディスクでなくて、超高速なUSBメモリみたいなの(フラッシュメモリ)を使ってHDD代わりにする」と考えてもらえばいい。 具体的なパーツはおすすめパーツリスト参照 SSD容量 タイプ3D NANDについて サイズ 接続規格SATA PCI-Express M.2 知っておきたい知識RAID 神パーツのSSDについて SSDを買った感想等 何故SSDはネ申速なのか 容量 お高いからOS&ゲーム用って人→1TB~2TBおすすめ(1TBだと同じ容量のHDDとそんな値段変わらんのね)。 それ以外の人はどんどん積もう。 HDDなんか窓から投げ捨てろ。 タイプ SSDにはSLC、MLC、TLC、QLCの4タイプがある。 これらによって違うのは主に耐久性と価格。 SLC:1つのセルに1つのデータが組み込まれる。耐久性が非常に高いが、あまりに高価なのでエンタープライズ向け。自作PC向けにはもう出回っていない。 MLC:1つのセルに2つのデータが組み込まれる。SLCよりは耐久性が劣るが、一般用としては十分すぎる。SLCより安価で、TLCより高価。SamsungのEVO870がSATAの癖にMLCで驚いた TLC:1つのセルに3つ以上のデータが組み込まれる。現在の主流で、MLCよりも耐久性・価格共に低い。しかしコスパは抜群。耐久性も、3DTLC採用などによりベンチマーク走らせっ放しなどの過酷な環境でなければ、5年以上生き続ける。 QLC:1つのセルに4つ以上のデータが組み込まれる。SSDの平均価格を下げるために開発されており、2018年から製品の販売が始まった。しかし、一般に出回ってから日が短いため、書き込み速度に難がある。 3D NANDについて 実は、SSDの基板に占めるフラッシュメモリの面積は既に飽和してしまった。 そこから大容量化を行うには、フラッシュメモリの回路の面積を小さくする必要があるのだが、それも限界まで来てしまった上、小さくし過ぎるとデータが壊れやすくなる。 そこで、フラッシュメモリを縦に積み上げる方式が開発された。それが3D NANDである。 このおかげで、フラッシュメモリの面積に余裕ができて耐久性が増し、しかも簡単に大容量化ができる。 かつて、TLC SSDは「書き込み速度が遅くなる」と言われていたのが、3D NANDのおかげで解決。 これからは3D NANDのSSDを買おう!「3D NAND」の表記が無いSSDは避けろ!(QLCは3Dでも普通のTLCと同じく遅くなるが) サイズ 標準的な2.5インチ型、コンパクトなM.2型、そしてPCIeスロットに刺して使うPCIe型がある。 詳細は下記。 接続規格 SATA 一般的なSSDに使われる接続規格。 マザボとSSD、内蔵HDD、光学ドライブを繋ぐ規格であるためストレージ以外でも重要。 速度ごとにSATA6Gbps(SATA3)>SATA3.0Gbps(SATA2)>SATA1.5Gbps(SATA)と分かれている。 SATA達は接続の互換性はあるけど、最近のマザボもSSDも内蔵HDDも光学ドライブもSATA3で最速規格。 やったぜ!投稿者変t(ry ちなみに最大速度の理論値はこんな感じ。 世代 最大速度 SATA 1.5Gbps≒150MB/s SATA2 3Gbps≒300MB/s SATA3 6Gbps≒600MB/s SSDは読み書き速度500MB/s前後なのでSATA3で繋がないと生かせないので注意(最近のは大体SATA3なので中古で組まない限り大丈夫だが)。 ※SATA - Wikipedia PCI-Express 一部の高級SSDに使われる接続規格。 SATAよりもかなり高速であり、グラボの接続と同じ規格である。最近はM.2に取って代わられ影が薄い 数百万円するものも多々あり、一般用途でPCIExpressのSSDを見ることはない(M.2のスロットがないときはこの規格から変換カードで接続することになるが)。 M.2 2015年ぐらいから流行り始めた規格。 一言で「M.2 SSD」といっても、内部的な接続方式として、SATAとNVMe(PCI Express)がある。SATAだとその名の通りSATAと同じ速度しか出ないため、利点は省スペース&ケーブル不要なだけであるが、NVMeならその倍以上速い。 なお、2014年以前の古いマザーボードだと、M.2スロットが無いものがほとんどなので使用不可。激安の中古で組まない限り巡り合うことはないが(PCIExpress変換で刺そう) 価格.comを見るならインタフェースにPCI-Expressと書いてあるものを選ぼう。 NVMe SSDの場合、内部的にPCI-Express Gen5で接続しているものと、PCI-Express Gen4で接続しているものと、PCI-Express Gen3で接続しているものの3種類がある。 Gen5のほうは死ぬほど高速だが、発熱対策にかなり気を使う必要がある(ファン付きヒートシンクが必要なレベル今のところメッチャ爆音、ヒートシンクなしだとHDD波の速度)。 Gen4のほうはPS5くらい高速で、発熱対策は安いヒートシンクペタで済む?貼らなくてもなんとかなる?(移行に伴うOSクローン中はヒートシンク貼ってなかったけどそこまで速度落ちなかった) ※但し規格共通化によるコストダウンの都合上かGen3並みの読み込み3200MB/sの速度の製品もあったのでレビューにも気をつけるべし もっともその場合発熱は気にしなくて良いが Gen3のほうは発熱が穏やか(RX6800直下のグラボ直下でヒートシンクなしでも50~60度前後)だが、速度はそこそこ(それでもSATAの6倍くらい速い)。 ※但しM.2黎明期(2015年~Gen4が出てくる2019年まで)のGen3製品は発熱注意、中古でしか売ってないだろうが ちなみにNVme SSDの最大速度の理論値はこんな感じ。 世代 最大速度 Gen3 3940MB/s Gen4 7880MB/s Gen5 15760MB/s Gen5に至っては2世代前のメインメモリDDR3-1600並みの速さ 速すぎてエグいてぇ!もはやメモリ積まなくてもパソコン動きそう!やったぜ!投稿者h(ry Gen5 SSDは読み書き速度14000MB/s前後なのでGen5で繋がないと生かせないので注意。下位互換はあるので動くには動くが ※NVMe - Wikipedia 知っておきたい知識RAID 複数台のSSD、HDDをひとつにまとめて、高速化したり安全性を高める方法。 普通にやれば2倍近く速くなる。 M.2 Gen4 SSDなら14000MB/sとか。 マザボのオンボ機能でだいたいできる。 詳しくはRAID?なにそれおいしいの?を参照。 神パーツのSSDについて 最近PCが重い!起動が遅い! │ ├ 1.PCを買い換える │ │ [まちがい] │ 確実な方法ではありますが、お金がかかるのが難点です。 │ それよりも別の手段を探してみませんか? │ ちょっとしたパーツ交換でなんとかなるかも? │ ↑ │ ココがポイント! │ └ 2.SSDを使う [せいかい] …SSDを買うしかない。とにかく買え。信じるものは掬われる(キリッ SSDを買った感想等 SSDを買ったら彼女が10人出来て宝くじが三回当たり一部上場企業に就職が決まったのでカウンタック転がしてウハウハです!(24歳・童貞) SSDを買った次の日からちゃんと皮が剥けるようになりました!(30歳・真性) SSDを買ったら友達が出来ました!激レアエロ同人誌も手に入り、株で山勘が当たって税金の計算に忙しすぎです!未だに信じられません(26歳・童貞) Samsung SSD使ってる。先月秋葉行ってパーツ探しに行ったら見た瞬間に即決した。カッコイイ、マジで。速い。電源スイッチ入れると通電する、マジで。ちょっと感動。しかもM.2だから換装も簡単で良い。嘘かと思われるかも知れないけどRAID0にしたらCrystal Disk Markで14000Mbyte/sec位でマジでSamsung SSDで抜いた。(24歳・学生) 何故SSDはネ申速なのか HDDはデータを読むとき一々ヘッドをシークさせる必要がある。 通常NTFSのクラスタサイズは4kbyteなので、普段は4kbyte毎にシークをしている事になりランダムリード/ランダムライト4kbyte状態である。 この状態では殆どの時間シークに費やしており、読み/書きをしている時間は極々僅かになってしまう。 SSDの場合このシークが無い為に爆速なのである。 昔(2000年代後半の黎明期)はSSDの中にもライトキャッシュが無い奴やコントローラーチップやファームウェアが糞なものもあり、こいつらはHDDと大差なかったりHDDより遅いものもあったが最近はSunEastの様な中華SSDでもHDD以上のスピードが出る(但し信頼性はお察し)。 / ̄ ̄\ |JMicron.| \__/ | /  ̄  ̄ \ / \ / \ / ⌒ ⌒ \ よくぞ一番下まで見てくれた | (__人__) | 褒美としてJM搭載SSDを買う権利をやる \ ` ⌒´ / ☆. /ヽ、--ー、__,-‐´ \─/ / ヽ▼●▼ \ ||ー、. / ヽ、 \ i |。| |/ ヽ (ニ、`ヽ. .______ .l ヽ l |。| | r-、y `ニ ノ \ /Runcore/|____ l _|___|ー─ |  ̄ l `~ヽ_ノ_| ̄ ̄ ̄ ̄_.|/_TFTEC/| ./G.SKILL ヽ-'ヽ--' ./SiliconPower_/|_|____.|/| .| ̄ ̄ ̄ ̄ ̄ ̄|/| __| ̄ ̄ ̄ ̄ ̄ ̄ |/ IODATA ./|/|____ / ̄ CFD  ̄/|  ̄|___」/_ PhotoFast/| ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄|/|/Buffalo./|____ | ̄ ̄ ̄ ̄ ̄|/ KEIAN ̄/| ̄ ̄ ̄ ̄|/ A-DATA /SuperTalent_/|__ ̄|/__ /| | ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄|/ ̄OCZ  ̄/| ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄ ̄|/UMAX/| / | / ̄ Patriot/Transcend ̄/| ̄ ̄ ̄ ̄ ̄ |/ELECOM ̄/ ̄ PQI  ̄/|___|/ / | ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄|/ ./  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
https://w.atwiki.jp/flashssd/pages/61.html
【SSD】 SSDSA2MH080G1C5 【M/B】 NA801 【ATA】 交換しただけで設定は特にしてない 【環境】 XPPro SP3 【使用状況】 約1時間(HDDからの引越し終了後)20GB/80GB 【プチフリ】 なし? 【ベンチ】 CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo Crystal Dew World http //crystalmark.info/ Sequential Read 228.412 MB/s Sequential Write 77.203 MB/s Random Read 512KB 178.813 MB/s Random Write 512KB 75.709 MB/s Random Read 4KB 14.549 MB/s Random Write 4KB 28.195 MB/s Test Size 100 MB Date 2008/12/07 23 41 52 HD Tune Pro Results (参照) hdtune-read-scrn.png hdtune-write-scrn.png
https://w.atwiki.jp/flashssd/pages/77.html
ThinkPad X40 CrystalDiskMark 2.2 (C) 2007-2008 hiyohiyo Sequential Read 36.642 MB/s Sequential Write 10.605 MB/s Random Read 512KB 38.029 MB/s Random Write 512KB 2.426 MB/s Random Read 4KB 7.351 MB/s Random Write 4KB 0.020 MB/s Test Size 100 MB
https://w.atwiki.jp/paphi/pages/15.html
haskell random Haskellの乱数 乱数は疑似乱数に限定. import System.Random import Control.Monad.State 乱数の定義 乱数はseed値を与えると,値がランダムである無限リストを返す関数であるとひとまず定義する. 乱数の型を1から6までの整数とすると, inftyrand seed = [6, 5, 5, 3, ...] のようになる.ここで, inftyrand seed = x xs -- 先の例では, x = 6, xs = [5, 5, 3, ...] inftyrand seed == xs となるseed が存在すると仮定して,乱数を次のように定義することもできる. +seed の仮定について このseed はまず存在すると考えてよい. というよりは私の知る乱数は全て Seed - (a, Seed) という型で計算できる. 例えばC標準の線形randで連想されるアレが一番考えやすい.LCG, 線形合同法というらしい. http //en.wikipedia.org/wiki/Linear_congruential_generator 簡単に言うと,x = x * c + a (mod m).この乱数は next x = let y = x * c + a `mod` m in (y, y) と表すことができる.ここでSeedはただの整数値である. Seedをもう少し複雑にすれば,一気に生成するタイプにも対応できる.多分.(SFMTとか) Seedの一般化としてRandomGenがある...この辺から表現が曖昧に 複雑なSeed型からどうやって次の値を得るのか,ではなく, RandomGen型のinstanceであるgが next g - (Int, g) なる関数を持ち, そこから各種乱数値を生成している...と思う.未確認. いままで(というかLCGのみ?)値と考えてきたSeedを,次の乱数を生成できる状態と考えることによる一般化である. seed が存在するというより,Haskellの乱数は Seed - (a, Seed) 型の関数を主軸に構成されている,と表現したほうが正しいと思う. Stateを睨んだ乱数の定義 乱数はseed値を与えると,ランダム値一つと上記のseed で構成されるタプルを返す関数である. next Random a = Seed - (a, Seed) Random a は乱数によって生成できる型を表す. 乱数の計算を状態付き計算とみなすことが出来,その型は明らかにStateモナドである. newtype State s a = State (s - (a, s)) state (s - (a, s)) - State s a runState State s a - s - (a, s) evalState State s a - s - a evalState m s = fst (runState m s) nextのような関数からstateで値を作って,という形になるかと. System.Randomにある関数を使って,nextの例を一つ挙げておく. next = randomR (1, 6) まず後の定義から前の定義の乱数が生成しうることを示そう. State Seed 型がMonadのinstanceであるため,IO型の感覚でdo記法を扱えるし,Monadっぽい関数を使うこともできる. 例えばControl.Monadのsequence関数を使うと,inftyrandは次のように書ける. ついでにState型の使い方も併記.state被せないとMonadみたく扱えないはず...これで合ってるんだろうか? ir_state Random a = State Seed [a] ir_state = sequence . repeat $ state next inftyrand Random a = Seed - [a] inftyrand = evalState ir_state 無限リストを返す関数となる.Stateに限っては多分遅延評価につき安全. +do記法の例 do記法で書いてみる.極端な例ですまぬ. ir_state = do a1 - s a2 - s a3 - s a4 - s a5 - s a6 - s a7 - s a8 - s return [a1+a8, a2+a7, a3+a6, a4+a5] where s = state next IOとかで使ってみる 例として,この関数をIOにのせることを考える.System.Randomにお誂え向きの関数がある. getStdRandom (StdGen - (a, StdGen)) - IO a StdGen型は先ほどまでのSeed型と同じ役割を果たす. main = do ns - liftM (take 4) $ getStdRandom $ runState ir_state print ns ただ値1個だけとかならState経由せずにSystem.Randomの関数を直接使った方がいい. System.Random RandomGenの定義のせるけどこれ32bitと64bitで違ったりしないんだろうか.要調査. nextは説明済み,genRangeは範囲制限,splitって何だろう. class RandomGen g where next g - (Int, g) genRange g - (Int,Int) split g - (g, g) このStdGenは処理系標準の乱数という位置付け. data StdGen instance RandomGen StdGen mkStdGen Int - StdGen getStdRandom (StdGen - (a, StdGen)) - IO a getStdGen IO StdGen setStdGen StdGen - IO () newStdGen IO StdGen 処理系にStdGen型の値が1つあって,getStdGenはそれを直接,newStdGenはsplitを使って分岐させるイメージ. 実装見る限りLCGではない.何だろう. 型から推して知るべし.R=range.[a]は無限リスト. class Random a where randomR RandomGen g = (a,a) - g - (a,g) random RandomGen g = g - (a, g) randomRs RandomGen g = (a,a) - g - [a] randoms RandomGen g = g - [a] randomRIO (a,a) - IO a randomIO IO a IO [a]は無い.多分死ぬから. 注釈 State型の定義は本当はStateTを使ってるんだけどスルーしてる. StateTの中にももう一つMonadがあるんだけどそれはStateT内で完結すると考えて構わない.
https://w.atwiki.jp/dslua/pages/219.html
math.random 0以上1未満の乱数を生成します。()内に値を入れると0から値未満の値を生成できます。math.random()関数で乱数を発生させるときは、math.randomseed()で乱数の種を設定しないと、同じ値を同じ順番で返すことになります。 ------------------------------------------ -- math.random 標準ライブラリ(数学関数) random_sample.lua ------------------------------------------ function main() C_Black = color( 0, 0, 0) -- 黒(ブラック) C_White = color(255, 255, 255) -- 白(ホワイト) -- メイン画面サイズを変更 canvas.setMainBmp(500,300) canvas.drawCls(C_White) canvas.drawText("math.random サンプル", 10, 4, 24, C_Black) for no = 1,10 do canvas.drawText("No=" .. no .." " .. math.random() , 0, 20 * no + 35, 20, C_Black) end canvas.drawText("画面タッチで終了します。", 10, 280, 16, C_Black) touch(3) end main() math.randomのサンプルの実行結果です。 コメント(最大10行) 名前 コメント すべてのコメントを見る