「SSE」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
8行目: | 8行目: | ||
== プログラミング == | == プログラミング == | ||
− | [[MMX,]][[3DNow!]], | + | [[MMX,]][[3DNow!]],SSEまでの世代はこららに対応したまともな[[コンパイラ]]がなく[[アセンブラ]]を用いて[[プログラム]]を組んでいた。[[C言語]]や[[C++]]で大枠を書いて、[[インラインアセンブラ]]で部分的に高速化を試みるという書き方が主流であった。 |
後に機能強化された[[SSE2]]や[[SSE3]]、[[SSSE3]](Supplemental/補足的なSSE3)、[[SSE4]]などが登場している。この世代になると[[C言語]]などの[[コンパイラ]]も優秀になり[[アセンブラ]]で書くことはほとんどなくなった。 | 後に機能強化された[[SSE2]]や[[SSE3]]、[[SSSE3]](Supplemental/補足的なSSE3)、[[SSE4]]などが登場している。この世代になると[[C言語]]などの[[コンパイラ]]も優秀になり[[アセンブラ]]で書くことはほとんどなくなった。 | ||
15行目: | 15行目: | ||
[[Windows]]で[[Visual C++]]が主流だった時代の[[ソフトウェア]]は99.9999%が「SSE非対応」どころか「[[i386]]」をターゲットに[[コンパイル]]されていた。SSEどころか[[i486]]や[[Pentium]]の機能も使われていない。これはほとんどの[[ソフトウェア]]は「[[最低動作環境]]」となる[[PC]]のスペックを下げることで「多くの人に使ってもらおう」という[[最小公倍数]]的な考え方であったためである。 | [[Windows]]で[[Visual C++]]が主流だった時代の[[ソフトウェア]]は99.9999%が「SSE非対応」どころか「[[i386]]」をターゲットに[[コンパイル]]されていた。SSEどころか[[i486]]や[[Pentium]]の機能も使われていない。これはほとんどの[[ソフトウェア]]は「[[最低動作環境]]」となる[[PC]]のスペックを下げることで「多くの人に使ってもらおう」という[[最小公倍数]]的な考え方であったためである。 | ||
− | [[MMX]]が登場した当初はその話題性から「MMX対応版」「MMX非対応版」といった二種類の実行ファイルを用意した[[ゲーム]]などもあったが、[[3DNow!]] | + | [[MMX]]が登場した当初はその話題性から「MMX対応版」「MMX非対応版」といった二種類の実行ファイルを用意した[[ゲーム]]などもあったが、[[3DNow!]]や[[SSE]]の時代になると話題性も薄れベンチマークソフトくらいしか対応ソフトがなくなった。 |
また、ベンチマークソフトみたいに何秒間も負荷100%で砂時計カーソルを表示するような処理でもない限り大して速くはならないという事実が[[プログラマー]]たちに知れ渡り「開発コストに見合わない」という認識が広まったことで対応ソフトはどんどん減っていた。 | また、ベンチマークソフトみたいに何秒間も負荷100%で砂時計カーソルを表示するような処理でもない限り大して速くはならないという事実が[[プログラマー]]たちに知れ渡り「開発コストに見合わない」という認識が広まったことで対応ソフトはどんどん減っていた。 | ||
22行目: | 22行目: | ||
SSEがまともに使われだしたのは[[Java]]などの[[JITコンパイラ]]の技術が発達し「SSEの有無」を実行環境で判別してコンパイルするようになってからである。 | SSEがまともに使われだしたのは[[Java]]などの[[JITコンパイラ]]の技術が発達し「SSEの有無」を実行環境で判別してコンパイルするようになってからである。 | ||
− | + | ただJavaでSSEを使うようなプログラムを書くかと言われると、まず書かない。やっぱりベンチマークソフトくらいしか使っていない。 | |
=== オープンソース界隈 === | === オープンソース界隈 === | ||
[[ソースコード]]を落としてきて実行環境でコンパイルするスタイルの[[オープンソース]]界隈ではなんぼか使われていた。一昔前は「[[apache]]や[[mysql]]の性能を向上させる方法!」などとして[[ググる]]とよく出てきていた。 | [[ソースコード]]を落としてきて実行環境でコンパイルするスタイルの[[オープンソース]]界隈ではなんぼか使われていた。一昔前は「[[apache]]や[[mysql]]の性能を向上させる方法!」などとして[[ググる]]とよく出てきていた。 | ||
− | ただ[[オープンソース]]界隈も[[CentOS]]や[[Ubuntu]] | + | ただ[[オープンソース]]界隈も[[CentOS]]や[[Ubuntu]]が主流になり、「configure;make;make install」が廃れ、パッケージからソフトウェアを入れるのが主流になったことでやっぱりベンチマークソフトくらいしか使われていない。 |
== ベンチマーク == | == ベンチマーク == | ||
65行目: | 65行目: | ||
* [[AltiVec]] ([[Velocity Engine]]) | * [[AltiVec]] ([[Velocity Engine]]) | ||
* [[ベクトルプロセッサー]] | * [[ベクトルプロセッサー]] | ||
− |