質問

どのような処理のオーバーヘッドの長さ()関数にREXXの文字列の長さは?


更新:を使用してい:

  • ユニREXX(R)バージョン297t
  • オープンREXX (TM)Copyright(C)iX株式会社 1989-2002.All rights reserved.
役に立ちましたか?

解決

オーバーヘッドは0長さは、ディスクリプタに格納されている。

ニールMilsted UNI-REXX(冗談)の作者ます。

他のヒント

これは、実装に完全に依存します。あなたは、OS / 2用のREXX、のz / VMのREXX、REXXのz / OS用、Windows用OOREXX、REXX / 400またはレジーナを意味していますか?

IBMのうちREXX言語の仕様では、

何もない機能がカバーの下に実装されているか、それはO(N)可能性が決まりますが、文字列またはOをスキャンする場合(1)長さがどこかに文字列で格納されている場合。

それはだ場合は、の本当にの重要な、最高の長さが違いを作るかどうかを確認するためにベンチマークコードをテストします。

私はよく分かりません。私は私の日にいくつかのRexxを書いたが、私は長さ()関数のパフォーマンスの問題があったことがありません。これは、スケールの方法は、おそらくRexxのパーサの実装に依存されます。

私は、REXXスクリプトを書きたいという10文字のおとり捜査の「長さ()」の回10.000呼び出し、その後、100文字の文字列で、その後、1000年の文字列でます。

グラフが得られ倍をプロットすると、あなたのパフォーマンスが低下する方法についての近似を与えるだろう。

このすべてを言って、私の推測では、パフォーマンスの低下は、O(N)のように、最も直線的であるということです。 ( http://en.wikipedia.org/wiki/Big_O_notation を参照してください)。

これの言語の実装固有の。実際に私がAREXX(Amigaの実装を)書いて、それは15年前、私は今、すべてのREXXを書いたので、長い時間でした。 : - )

あなたはあなた自身のテストルーチンを書くことができます。増加の長さの文字列を生成し、それが高性能なタイマーを使用して()の長さを取得するのにかかる時間を測定します。テキストファイルベースのカンマ区切りの表に時間と文字列の長さを保存する場合は、 gnuplotのを使用して、それをプロットすることができます。そして、あなたはそれがどのようにスケーリングするか非常に明確に表示されます。

編集:彼は多かれ少なかれ同じことを書いたので、私は最初のロルフの答えをチェックしている必要があります。 : - )

私は、IBMのメインフレームのバージョン、OS / 2のために従来のREXXのバージョン、およびオブジェクトのRexxの実装のいずれかのために話すことができます。長さは、ストリング記述子に格納されているので、オーバーヘッドは文字列の長さとは無関係です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top