タグ

cに関するkomagataのブックマーク (16)

  • インターネットサーバでのPthreadとepoll(2)

    >>(1)よりつづく 前回は単純な実装からマルチスレッド、スレッドプールと順に見て行きました。今回はいよいよepollを使った実装を紹介します。 epoll例- 4epoll.c 多重I/Oすなわち select(2) / poll(2) によるイベントループはマルチスレッドが普及する以前から利用されていました。 select(2) / poll(2) は複数のファイルディスクリプタ(ソケット)を調べ、I/O可能なものを返すシステムコールです。ソケットに対する読み取りはデフォルトではデータがなければブロック(データが到着するまで待つ)しますが、事前にI/O可能かを確認しておけばブロックすることはありません。1システムコールで複数のソケットを調べられる点も重要で、1プロセスで複数のクライアントに並行して対応できるようになります。しかし当然ながら、対象ソケット数の増加に応じて処理量が増えます。

    インターネットサーバでのPthreadとepoll(2)
  • memcached と libevent – reading memcached(2) : MYH

    何かリクエストを受け付けて処理をして返すという、サーバーでよく行われる処理を考えてみましょう。一度に多数リクエストを受け付けて同時並行的に処理が行えるようにしたい場合、1つのやり方としてマルチスレッド化してあるスレッドで accept(2) しておいて、それを別のスレッド(ワーカースレッド)に振り分け、そのスレッドでは recv(2) / send(2) で通信を行うという方法があります。しかし、その場合スレッド数を超えるリクエストを同時に捌けないという欠点があります。recv はまだデータが来てないという場合には待ちが発生しますので、待っている間そのスレッドは遊んでしまって無駄になってしまいます。スレッドを CPU のコア数より多めに取っておけばそれは回避できますが、スレッド切り替えのオーバーヘッドがかかり、またスレッドを生成出来る個数の上限も合って、あまり多数のクライアントをさばくこと

  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    komagata
    komagata 2010/09/10
    2Dゲームライブラリ
  • apache module 開発事始め : DSAS開発者の部屋

    先日は,必要に迫られて Apache 1.3 の mod_access を改造したという話を書きました.その時は単にあるものを改造しただけでしたが,ふと思い立って,一から Apache 2.0 用のモジュールを書いてみました.書く上で色々 Web サイトを探してみたのですが,あまり日語の入門向けの文章が見あたらなかったので,開発する上で分かったこと(と言うほど大したものじゃないですが)をまとめておこうと思います. フェーズには,例えばそのリクエストを受け付けるか拒否するかを決めるフェーズや,リクエストされた URI と実際のディスク上のファイルとの間の対応付けを解決するフェーズ,そしてもちろん実際のレスポンスを生成するフェーズ等があります.hook 関数を挿入するポイントはこれらのフェーズになりますが,もちろんその全てのフェーズのための関数を用意する必要はありません.また個別の設定を施す

    apache module 開発事始め : DSAS開発者の部屋
  • ApacheModuleでWebアプリケーションをつくろう

    1.はじめに Webアプリケーション開発の現場で使用されている開発言語には、JavaPerlPHP、最近であればRubyPythonなどがあります。この分野ではC言語も、CGIによるWebアプリケーション開発で旧来から用いられていますが、最近の開発者にはあまり馴染みがないかもしれません。当時の新技術であったJavaと比較して、あまりにも遅い結果が出ていたからとも言われています。 しかし、Webサーバの「Apache」、データベースの「PostgreSQL」「MySQL」、OSの「Linux」など、各所でオープンソースソフトウェア(OSS)の開発言語には、依然としてC言語が多く用いられています。このようにC言語は、Webアプリケーション開発の現場で使われるケースは減ったものの、現在でも重要な開発言語の一つです。 そこで今回は、Apache 2.2のmod_dbdで実装された「データベー

    ApacheModuleでWebアプリケーションをつくろう
  • iPhone で 3D CG! OpenGL ES を使ってみよう - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 最近 iPhone を買った勢いで iPhone プログラミングを始めました。これまでも iPod touch があったのでその気になればできたのですが、 Objective-C や Cocoa を覚えるのが面倒くさくて手を出していませんでした。しかし、 iPhone を使っているうちに面白い題材に気付いたのです。そう、 OpenGL です。 実は私は数年前までは

  • glpng

    Whole document tree PNG loader library for OpenGL v1.45 (10/7/2000) Ben Wyatt ben@wyatt100.freeserve.co.uk Introduction This is a library for OpenGL to load PNG graphics files as an OpenGL texture as easily as possible. It also has a number of options for generating the alpha channel and mipmaps. It is implemented using modified versions of the LibPNG 1.0.2 and ZLib 1.1.3 libraries. This software

  • OpenPorts.se | The OpenBSD package collection

    Description This is a library for OpenGL to load PNG graphics files as an OpenGL texture as easily as possible. It also has a number of options for generating the alpha channel and mipmaps.

  • GLUTによる「手抜き」OpenGL入門

    資料: 今までにあった質問 リフレッシュレートの変更 AUX 版, Indy 版, 書籍版 床井研究室 (OpenGL 関連記事) 柴山 健伸 先生 (システム工学部情報通信システム学科) の混沌としたサンプル 陳 謙 先生 (システム工学部デザイン情報学科) の Motif を使ったサンプル 中山 礼児 氏 (経済学部 2000 年卒) の Delphi についての解説 The OpenGL WEB Site (OpenGL の総山) GLUT - The OpenGL Utility Toolkit (OpenGL.org の GLUT のページ) OpenGL Code & Tutorial Listings (OpenGL.org のチュートリアル集) OpenGL Technical FAQ (OpenGL について良く聞かれる質問) OpenGL FAQ 日語 (OpenG

  • C言語〜ゲームプログラミングの館〜

    ※ 更新履歴 ※ 2017/11/03 ・sp.8章追加 2017/10/11 ・配布しているプロジェクトをVisualStudio2017に更新(それにまつわる説明も更新) 2015/09/12 ・s.3章 Androidのようなボタンの作り方(C++) 追加 2013/09/02 ・VisualC++2012のプロジェクトを追加 2013/02/23 ・d3.5章追加 2013/02/20 ・d3.1章追加 ・d3.2章追加 ・d3.3章追加 ・d3.4章追加 2013/01/19 ・sp3章追加 ・sp4章追加 ・sp5章追加 ・sp6章追加 ・sp7章追加 2012/06/23 ・3.14章追加 2012/06/16 ・sp1節追加 ・sp2節追加 2012/02/11 ・d6節追加 2011/11/10 ・h11章追加 2011/10/31 ・s1章追加 ・s2章追加 2011/

  • GNU コーディング規約: Preface

  • Casinonic Australia – how to get much pleasure?

    Advantages Verified casino  Over 1000 games  Fast payouts  First deposit bonus  24/7 player support Know more Casinonic Review - Games, Bonus and Sign-in Form Casinonic is a representative of the Australian gambling industry. Recently Australian casinos have become popular among gamblers. They guarantee a fair gambling experience and a great variety of gambling options. It appeared in 2019 and has

    Casinonic Australia – how to get much pleasure?
  • IBM D-BUSを使用してデスクトップ・アプリケーションを接続 - Japan

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM D-BUSを使用してデスクトップ・アプリケーションを接続 - Japan
  • DSAS開発者の部屋:オープンソースを楽しむエンジニアの二日目 - ftraceコマンドを書く

    昨日のエントリ オープンソースを楽しむエンジニアの一日 では、特定のプログラムの関数呼び出しをトレースする方法を考えてみました。どうやら、gcc のプロファイリング関数と LD_PRELOAD を使えば比較的簡単に実装できそうだという事がわかりました。 今日はこれらの仕組みを利用して、ftraceコマンドを作ってみましたのでご紹介します。 さすがにシェアードライブラリだけ作って「あとは自分でLD_PRELOAD指定してね☆」というのも使い勝手が悪いので、strace や ltrace と同じような操作感覚で使えるようなコマンドにしてみました。プロファイル関数や LD_PRELOAD の使い方の参考にもなると思いますので、もし興味がありましたら以下のリンクからダウンロードしてご利用下さい。 ftrace-0.90.tar.gz (4215bytes) ※ 5/26追記: naoyaさんからパ

    DSAS開発者の部屋:オープンソースを楽しむエンジニアの二日目 - ftraceコマンドを書く
    komagata
    komagata 2008/03/13
    糞便利
  • GtkMozEmbed: Embedding Mozilla into Gtk Applications

    You are here: Unix project page > GtkMozEmbed: Embedding Mozilla into Gtk Applications GtkMozEmbed: Gtk Mozilla Embedding Widget Introduction Function Reference Signal Reference FAQ Revision Information gtkmozembed2.cpp Introduction GtkMozEmbed is an easy-to-use widget that will allow you to embed a Mozilla browser window into your Gtk application. It's designed to be easy to use and uncomplicated

    komagata
    komagata 2008/03/13
    APIとSignalが丸分かり!
  • 「攻殻機動隊」「電脳コイル」の世界を実現! - ARToolKitを使った拡張現実感プログラミング

    仮想世界と現実世界を融合する技術は,拡張現実感(Augmented Reality:AR)と呼ばれています. おおげさな言い方をするとARは現実の世界に情報を「上書き」することができる技術です. アニメや映画にでてくる「電脳」を想像してみてください. 手のひらの上に3Dキャラクタを表示したり,現実の世界でデジタル・データに触れてみたり… そんな魔法のような技術です. ARToolKitは,ARアプリケーションの実装を手助けするC言語用のライブラリです. ARToolKitを使うと,紙に印刷されたパターンをカメラで読み取り, その上に3Dオブジェクトをオーバーレイ表示するアプリケーションが簡単に作れます. 来は非常に敷居の高い技術なのですが,このライブラリは「難しい部分」の処理を 全てやってくれます. …というわけで今回はARToolKitを使って近未来の技術 「拡張現実感」 を体験してま

    komagata
    komagata 2008/03/13
    おもしろそう
  • 1