Use one platform to discover, prioritize, curate, and build all your open source.

移転しました http://please-sleep.cou929.nu/20100708.html
2009年11月13日 比較を 0 と行うという最適化は有効なのか ? 多くの CPU の命令セットでは、0 との比較を特別扱いしています。 そのため、ループを書く際には、なるべく 0 と比較するように書いた方が速いので良い、という主張をたまに聞きます。 しかし、一般的な for 文のイディオム for (i = 0; i < N; i++) を崩してまで、0 と比較するように書く意味が、本当にあるのでしょうか ? それぐらいは、現代のコンパイラならば勝手に最適化してくれそうな気もします。 というわけで、x86、ARM、SH、MIPS、PPC で検証してみました。 x86 は、手元の MinGW の gcc 4.4.0 です。 それ以外の CPU は、弊社の exeGCC 4 (GCC 4.3.3 ベース) を使用しました。最適化レベルは、全て一般的な -O2 です。(FPU は無関係だと
Programming Languages: Application and Interpretation by Shriram Krishnamurthi
今回はCUDAを使って画像合成(アルファブレンディング)をやってみた。元のソースコードは下記を参照。 http://d.hatena.ne.jp/hiroki0/20090914/1252931917 テスト環境は下記の通り。画像ファイルの読み込みには、MacPorts経由でインストールしたOpenCVを利用した。 MacOS X 10.5.8 CUDA Toolkit 2.3 MacBook Pro 13"/Core2 Duo 2.26GHz/4GB/GeForce 9400M 画像ファイル:1600x1200 (pixel)のbmpファイル まずは(1)CPUでの合成を行い、(2)次にGPUでの合成処理を行った。また「CUDAメモリ転送のパフォーマンス」でも記載したように、通常のメモリを転送元に指定するより、'pinned memory'を使う方が速いので、(3)一旦pinned me
Name Last modified Size Description Parent Directory 15-Oct-2007 12:11 - 2000.09.14 12-Jun-2003 11:57 5k 2001.09.20 12-Jun-2003 11:57 5k 2002-9-26.aux 12-Jun-2003 11:57 1k 2002-9-26.dvi 12-Jun-2003 11:57 7k 2002-9-26.pdf 12-Jun-2003 11:57 93k 2002-9-26.ppt 12-Jun-2003 11:57 46k 2002-9-26.ps 12-Jun-2003 11:57 339k 2002-9-26.tex 12-Jun-2003 11:57 5k 2002-9-26/ 12-Jun-2003 11:57 - 2002.09.2
BOW主催の「DeskTopLive.xna」というイベントに行ってきたよ! 「DeskTopLive.xna」というイベントに行く予定 「DeskTopLive.xna」は先日さらっと記事にした通り、「Xbox Live向けのゲームを2時間でライブプログラミングする」というイベント。 2時間でいったいどれだけのゲームができちゃうのかが気になって行ってみたけど、これが思いのほか面白かったのだ。 イベントの開催場所は六本木にあるSuperDeluxe。 会場内にはXbox360が並べてあって、Xbox Liveのゲームがプレイできる状態になってた。 ここでプレイできたゲームは、今回ライブプログラミングする東京工芸大学の学生さんによる作品だったみたい。 「DeskTopLive.xna」はマイクロソフト協賛のイベントなので、マイクロソフトの人が「そもそもxnaってなんだ?」ってところを話してた
Last update 1999/08/07 Scheme処理系の制作 第1回 (C)平山直之 無断転載は禁止、リンクはフリー 誤字脱字の指摘は歓迎 ゲームとスクリプト はい、また例によって行き当たりばったりな企画です。 といっても、相当長い間私の心の大きな部分を占めていた問題ではあります。 それは言語の処理系の必要性についての問題です。 ゲーム制作、特にRPG・アドベンチャーなどの「シナリオ」の重要性が高いものを作るのに必要不可欠なものに、「イベントスクリプトの処理系」というものがあります。ネットでもこうした「イベントスクリプトの処理系」について考える人が少なくないのも、こうした必要性の表われと言えるでしょう。 しかし、こうした処理系は、それぞれのプログラマが独自の文法でプロジェクトごとに作り直しているのが現状です。これが、コードの再利用、ひいては「気楽にゲームを作る」上での大きな障害に
4月18日に、IGDA日本のSIG-GT第13回セミナー、「続・ゲームにおけるスクリプト言語の現状」が開催されました。ゲーム開発でのスクリプト活用事例とともに、組み込みスクリプト言語の開発についても講演がおこなわれ、クロノ・トリガーやサクラ大戦Vでの事例、さらに現在開発が進んでいるオープンソースの「Xtal(クリスタル)」の開発舞台裏などが紹介されました。 ■SFC時代の組込スクリプト言語 スクウェアでクロノ・トリガーやファイナルファンタジーVIIなどの開発に携わった小久保啓三氏(現、HAL東京)が、クロノ・トリガー開発の際に作成した、キャラクタ(アクター)の並列動作を記述できるスクリプト言語「ATEL(Active Time Event Language/エーテル)」の文法と内部動作等を解説しました。 ATELは、バッチファイルやBASICプログラムぐらいの難易度で、キャラクタ同士の並列
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
http://www.igda.jp/modules/eguide/event.php?eid=58へ行ってきた。 CRI Scriptの実装の話が面白かったです。 メモをとりました。内容は保証しませんので… CriScript @ errorの人 趣味と実益をかねて開発 コンシューマーゲームのゲームエンジンの組み込みをやっている 大規模ゲーム開発では、スクリプト言語はスタンダード 特にヨーロッパ、アメリカ 予言 五年後、ゲームコードの殆どはスクリプト言語で記述される。 CriScript オープンソースのECMA262実装 Win32/Xbox360/OSX/iPhone SPUにも移植したいが… 標準仕様の採用 利点 ある程度こなれた言語仕様 既存のテストコードが使える オープンである 欠点 仕様規模が大きい(ゲームには不要そうな機能も) ヲレ拡張が難しい 組み込みに向いていない仕様も
高水準スレッドライブラリ java.util.concurrentのような高水準スレッドライブラリを作ってみようと思います。ここに書いているAPIはまだ決定ではありません。 Rui:ThreadLibrary:Future Rui:ThreadLibrary:BlockingQueue Rui:ThreadLibrary:Executor Rui:ThreadLibrary:Latch Rui:ThreadLibrary:NonBlockingHashTable ほかに書くつもりになっているもの: アトミック変数 ほかロックフリーなデータ構造(気が向けば) 最新のソースコードはこちら: http://gauche.svn.sourceforge.net/viewvc/gauche/Gauche-threadlib/trunk/
_ [Ruby] Rubyの互換性警告ライブラリを作ってみました / Je viens de faire un librairie qui alerte la compatibilité de Ruby. HikiのRuby-1.9対応をしていて、よくあるはまりどころを見つける良い方法はないかと思い、Ruby-1.8で動かしたまま、互換性の問題のあるメソッドを呼び出す時に警告を出すライブラリを作ってみました。 例えば、「Ruby-1.8では String#to_a は存在しますが、Ruby-1.9ではエラーになる」という風に無くなってしまうものに関しては、ruby -wで実行すれば、 warning: treating String as Enumerable object is deprecated; use String#each_line/lines と警告を出してくれるのでいいので
Webブラウザ上で使えるプログラミング言語は限られたものだけだ。JavaScript、ActionScript、Javaアプレット、ActiveXなどだろうか。それ以外のRubyやPerl、Python、PHPといった言語はサーバサイドで使うしかなかった。 HTMLのソース。確かにRubyだ。もちろん実行できる しかしその可能性が広がるかも知れない。HTMLにRubyやPython、そしてXAMLといった言語がそのまま書け、そして実行できるのだ。 今回紹介するオープンソース・ソフトウェアはGestalt、Webブラウザ上でRuby/Python/XAMLを実行可能にするライブラリだ。 種明かしをすれば、使っているのはSilverlightだ。Silverlightは言わずと知れたマイクロソフトの技術であり、.NET系だ。そしてGestaltはIronRubyやIronPythonといった.
チェコのソフトウェアベンダーJetBrainsは7月24日(現地時間)、目的に応じてプログラミング言語を作成/拡張できるソフトウェア開発環境の正式版「JetBrains Meta Programming System(MPS)1.0」を発表した。言語指向プログラム(LOP)という新しいコンセプトを土台にしたもので、初の正式版となる。Windows、Mac、Linuxに対応、ビルドやソースコードを同社Webサイトより入手できる。 MPSは、同社が2003年に研究プロジェクトとして開発したLOPに基づく開発環境。MPSを利用することで、クラスやメソッドを作成する感覚で目的に応じたプログラミング/データ記述言語(ドメイン固有言語、DSL)を容易に開発できる。DSLはソフトウェア開発や既存言語の拡張に利用できるという。JetBrains社内でも、MPSを利用して製品を開発しているとのことだ。 MP
図解求む。 以下「プロトコル処理」と「メッセージ処理」を分けて扱っているが、この差が顕著に出るのは全文検索エンジンや非同期ジョブサーバーなど、小さなメッセージで重い処理をするタイプ。ストリーム指向のプロトコルの場合は「プロトコル処理」を「ストリーム処理」に置き換えるといいかもしれない。 シングルスレッド・イベント駆動 コネクションN:スレッド1。epoll/kqueue/select を1つ使ってイベントループを作る。 マルチコアCPUでスケールしないので、サーバーでは今時このモデルは流行らない。 クライアントで非同期なメッセージングをやりたい場合はこのモデルを使える: サーバーにメッセージを送信 イベントハンドラを登録;このときイベントハンドラのポインタを取っておく イベントハンドラ->フラグ がONになるまでイベントループを回す イベントハンドラ->結果 を返す 1コネクション1スレッ
新人教育にて講師をやる事になりました。そこで新人に与える課題を考えているのですが、何か良い課題はないでしょうか? 講義は課題プログラムを与えてプログラミング、後でプログラムのアルゴリズムの説明を各人に行わせる。という形なので、各自が異なるアルゴリズムになってくれるのが理想です(閏年を求める等、パターンがある物はパス)。 このアルゴリズムにプログラミングテクニックの小技(f = -f)とかがでてくると面白いかなぁ。とか考えています。この手の課題で悩んでいる方、アドバイスをお願いします。
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "コンパイラ最適化" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2018年10月) コンパイラ最適化(コンパイラさいてきか、英語: Compiler optimization)では、コンピュータ・プログラムの最適化に関する話題のうち、もっぱらコンパイラに関係するものに関して説明する。最も一般的な要求はプログラムの実行時間を最小化することであり、その次に使用するメモリ量を最小化することである。また、携帯可能なコンピュータが増えるにつれて、消費電力を最小化するという最適化も生まれてきた。 一部のコード最適化問題はNP完全問題であることが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く