パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Mona ver.0.1.5 リリース」記事へのコメント

  • 出てくるんだろうなぁ。。。
    ・Mona搭載PC
    ・Mona搭載モバイル
    ・Mona搭載ケイタイ
    ・Mona搭載PSX

    #搭載する意味があるのか分からないがID
    • ねたにまぢれす。

      Monaは基本的にC++で開発されているので、携帯等のプアな環境には向きません。
      もっとも、最近の携帯は数世代前のPDAよりも強力になってきてますが。
      • C++ って、どういう点がプアな環境に向かないんですか?いや、ちょっと考えてみたけど本質的な弱点を思い付けなかったもので…。
        • C++のバイナリはあまりに遅く、OSとしては使い物にならない。
          そう言ってカトラー氏はC++のコードをCで書き直したとか。

          初代NT開発時の逸話ですから、当時とはコンパイラの最適化周り等
          事情は多分に異なるでしょうが、一般PCでは気にならないことも
          プアな環境では大きく響いてくることはお分かりかと思います。
          私の主観ではありますが、まだ資源の限られた状況で気ままに
          走らせられるとは思いません。
          親コメント
          • Re:Mona搭載・・・ (スコア:3, 参考になる)

            by passer-by (13494) on 2004年02月16日 18時48分 (#496809) 日記
            なるほど…。

            しかし、かつて同じようにCのバイナリはあまりにも効率が悪く使いものにならないとMC68000で大量のアセンブラコードが書かれた事がありましたが、今では「gccの吐く68000コードはあまりにも効率が良く人間がいじる余地がない」という声を聞きますよね。また、かつてBe-OSは当時の環境 (今のPDAよりプアだったように思います) で高いパフォーマンスを見せていたように記憶しています。

            コンパイラと設計次第だったりはしませんかね。いや、「使っちゃいけないC++の重要な機能」なんてのがあれば本質的な弱点なのでしょうけど…。

            親コメント
            • Re:Mona搭載・・・ (スコア:1, 参考になる)

              by Anonymous Coward on 2004年02月16日 20時55分 (#496892)
              まあ、なんというか比較の問題なのだけど。

              例えば C でサイズの大きい構造体を call by value の引数にして関数呼出しすると、スタックに大きいデータを積む関係で、実行速度は遅くなりますよね。
              C で書く場合には、ほんの幾つかの点に気をつけてれば上の例のような状況を避けて実行速度の速いコードを書けるのですが、C++ で書くと、このへんの見通しが極端に悪くなるので、かなり大変なんですよ。

              C++ を使って、ちゃんとカプセル化して、実行速度の速いコードを書けるってかなりの上級者ではないかな。

              同じように実行速度が必要なGUIの場合はクラスライブラリ化した方がメリットがあるから、頑張って高速化したけど、OSの場合はそこまでやるメリットがあるかどうかもポイントなんじゃないですかね。
              親コメント
              • by passer-by (13494) on 2004年02月16日 21時07分 (#496900) 日記
                例えば C でサイズの大きい構造体を call by value の引数にして関数呼出しすると、スタックに大きいデータを積む関係で、実行速度は遅くなりますよね。
                ...
                C++ を使って、ちゃんとカプセル化して、実行速度の速いコードを書けるってかなりの上級者ではないかな。
                あー、なるほど。確かにそれはありますね。そういえばC++ではないけど他人様のそういった感じのコードを片端から叩いてパフォーマンスチューニングをした覚えも…。

                納得しました。高パフォーマンスは可能だけどそれなりの労力が必要って事ですね。ありがとうございます。

                親コメント
              • by Anonymous Coward
                逆のアプローチで、virtual とか template とか、C++特有の複雑な機能は一切使わず、
                ・クラスメソッドで名前空間がすっきり
                ・関数のオーバーロードにより、同機能のAPIは同名の関数で呼び出せる
                ぐらいのベターCとして使えば、
                Cと比べて効率は落ちず、しかも、読みやすいものになるんじゃないかと思うんですがどう
              • by Anonymous Coward
                Mozilla はわりとそんな感じで C++ 使ってたり(部位にもよるけど)

                まぁMozillaはあらゆるプラットフォームの C++コンパイラを通すために使い方を厳しく取り決めているという理由もあるんですが。
            • by Anonymous Coward
              >今では「gccの吐く68000コードはあまりにも効率が良く人間がいじる
              >余地がない」という声を聞きますよね。

              稀にそういう話も聞きますが、大概の場合、C かアセンブリ、あるい
              は両方に精通されてない場合が大概ですな。

人生unstable -- あるハッカー

処理中...