
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
少なくとも、現時点では、スクリプト言語の中で比較しても
Ruby は遅いほうだといわれることが多いですね。
perl,python等は、まず中間言語にコンパイルして、それを実行するという形をとっていますが、Rubyはほんとにインタプリタとして実行されてます。
Rubyにももうすぐこの仕組み(中間言語)が取り入れられることにはなっています。
もっとも、遅い原因は、Rubyは言語仕様としてコンテキストによって振る舞いがかわることが多いので、実行時にする必要があることが多いってのが大きいみたいですが。
ちなみに、普通、cgiなどとしてrubyを本格的に使う場合は、別プロセスとして、rubyを起動しっぱなしにしておく仕組みをとることがほとんどなので、起動時間は必要ありません。
No.4
- 回答日時:
異なる言語の速度比較の場合、他の言語では0.1秒で
実行される事に0.5秒かかるといった様に、体感速度
として感じる事のできない様な場合でも「遅い」と
される事が有ります。
結果が出るまでに1~2時間かかるのであれば実運用
には耐えられませんし、大量のアクセスが集中する
事が多く処理内容も複雑な場合には、コンマ数秒の
差が多きくなる事もあり得ますが、実運用に支障が
ない程度の速度差であれば特に気にする必要はないと
思います。
#処理速度に影響を与えるのは言語だけとは限りま
#せん。
No.3
- 回答日時:
そういった話で出てくるときはたいてい、
同じ仕事をするプログラム(スクリプト)をそれぞれの言語で作って比較したときに
Rubyは速度面でほかの言語に劣ることが多い。ということです。
C/C++とかJavaは言うに及ばず、同じスクリプティング言語の
PerlやPythonなんかにも遅れをとることが多いです。
Create your own Ranking | Gentoo : Intel® Pentium® 4 Computer Language Benchmarks Game
http://shootout.alioth.debian.org/gp4/benchmark. …
が、一応Rubyも高速化のための努力は続けられていますので
近い将来には状況は変わるかもしれません。
No.2
- 回答日時:
実行とは、処理が走る部分です。
例えば、 Apache + CGI(Ruby) の環境でしたら、URLを開いた場合に以下の順序で処理されます。1. クライアントPCから、WEBサーバのApacheにHTTP接続
2. Apacheがクライアントに返すべきファイルを探す
3. URLがCGI(Ruby)を示していた場合、Rubyを起動してRubyスクリプトを実行させる
4. 3. 出力された結果を、クライアントPCに返す
遅いのは3の部分ですね。
なお、Rubyの実装に関しては、パフォーマンスより生産性や可読性を重視する主義だと聞いたことがあります。理由は、パフォーマンスはハードをいいのを買えばなんとでもなるからです。なので、Javaやその他のLLよりも遅い可能性はあります。実際はどうか知りませんが。
No.1
- 回答日時:
Rubyは処理系がインタプリタとして作られています。
ですので、CやC++などのようなCPUが直接実行可能なコードに変換されていません。それらの言語と比較したとき、実行速度が遅いということですね。>>サイトを開いたときのことなんでしょうか?
C++と比べてRubyのほうが遅いでしょうが、ネットワークやディスクアクセスなど、その他もろもろ、桁違いに遅い部分がサイトが表示されるまでにあるので、私たちが使う範囲では、その差を体感できないと思いますよ。
ちなみにJavaも同系列の言語といえますので、「Rubyが遅い」といわれる方にとっては「Javaも遅い」という結論になりますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby MacBookAir起動時にRubyソースコードをコマンドラインで実行するには? MacのOS起動時 1 2022/04/18 01:55
- Mac OS MacOSのLaunchAgentsってなんですか?使い方など教えてください。 前の質問でLaunc 1 2022/04/24 02:06
- Ruby Ruby on Railsでサーバーを立ち上げるには 1 2022/08/28 16:16
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- Ruby Gitのクローンについて 3 2022/04/10 12:28
- その他(就職・転職・働き方) こっちは今日確実に電車がいつもより遅いのが決まってます。 毎日隣の県まで通勤していてこっちは遅れるて 3 2022/03/25 07:30
- 面接・履歴書・職務経歴書 面接と言うと面接場所に行き企業様と自分が対面で話すが一般的ですよね。 面接場所まで行かず電話だけで面 1 2023/04/08 21:22
- その他(IT・Webサービス) 今、プログラミングスクールの『Tec⚫︎cademy」のRuby on railsを受講しているので 1 2023/05/10 22:10
- Ruby Rubyについて質問です 1 2022/05/13 18:20
- UNIX・Linux Fedoraのupgradeで、libruby.so.3.0()がinstallできないという 1 2023/03/30 16:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
[teraterm] waitコマンドで停止...
-
「読み取りと実行」と「読み取...
-
バッチファイルの内容を表示さ...
-
exeファイルを実行するとコマン...
-
Access の VBA 実行中に他の操...
-
VBscriptが起動しない?
-
ネットワーク名が見つかりません
-
16進数の変換処理
-
.NETからストアドプロシージャ...
-
これってパソコンの最適化が完...
-
エクセル フォルダの画像を画...
-
VB.NETでのDOSコマンドを実行に...
-
PDFファイルを開き、印刷し、閉...
-
VBS実行時にコマンドプロンプト...
-
VBAでバッチファイルを1つ実行...
-
ExcelのVBAが特定のPC上でのみ...
-
リリース実行やExe実行で動作が...
-
複数のbatファイルを自動実行し...
-
VBAを使って名前をつけて保存を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
[teraterm] waitコマンドで停止...
-
バッチファイルの内容を表示さ...
-
exeファイルを実行するとコマン...
-
VBscriptが起動しない?
-
これってパソコンの最適化が完...
-
「読み取りと実行」と「読み取...
-
複数のbatファイルを自動実行し...
-
Windows System32 Security Hea...
-
ネットワーク名が見つかりません
-
エクセル フォルダの画像を画...
-
Excel(エクセル) VBA プロシー...
-
PDFファイルを開き、印刷し、閉...
-
Access の VBA 実行中に他の操...
-
バッチファイルが不正終了して...
-
VScodeのエラー解決法 Pythonの...
-
VBScriptでコマンドプロンプト...
-
pythonスクリプトを管理者権限...
-
VB.NETでのDOSコマンドを実行に...
-
batからexeを実行し戻り値を受...
おすすめ情報