かるあ のメモ

アクセスカウンタ

help リーダーに追加 RSS Microsoft AJAX Libraly の文字列処理

<<   作成日時 : 2007/03/02 21:47   >>

ブログ気持玉 0 / トラックバック 1 / コメント 0

Microsoft AJAX Libraly には文字列の編集を効率よく扱うために
Sys.StringBuilder クラスが存在します。
これは .NET の System.StringBuilder の用に効率よく文字列の連結を行うためのクラスです。
たとえば次のソースコードを実行した場合どの程度性能に差があるかわかると思います。

function ConcatString() {
  $get("concatStringTime").innerHTML = "開始時間 " + (new Date()).toString() + "<br />";
  var s = new String();
  for (var index = 0; index < 80000; index++) {
    s += index.toString();
  }
  $get("concatStringTime").innerHTML += "終了時間 " + (new Date()).toString();
}

function AppendString() {
  $get("appendStringTime").innerHTML = String.format("開始時間 {0}<br />", new Date());
  var s = new Sys.StringBuilder();
  for (var index = 0; index < 80000; index++) {
    s.append(index.toString());
  }
  $get("appendStringTime").innerHTML += String.format("終了時間 {0}", new Date());
}


僕の環境はではこんな結果になりました。
String の 結合:
開始時間 Fri Mar 2 21:32:32 UTC+0900 2007
終了時間 Fri Mar 2 21:33:27 UTC+0900 2007


StringBuilder の 結合:
開始時間 Fri Mar 2 21:33:27 UTC+0900 2007
終了時間 Fri Mar 2 21:33:28 UTC+0900 2007


まぁ実際にここまで文字結合をする処理はそうそうないと思いますが、
String の文字結合は 55 秒かかっているところが StringBuilder では 2 秒かかっていません。

Microsoft AJAX Libraly では他にも Javascript のビルドインオブジェクトに対する拡張が行われています。
JavaScript Base Type Extensions
たとえば String オブジェクトには文字編集を行う String.format() や空白を除く String.trim() が追加されています。

他にも 配列の列挙を行う Array.forEach() や 各オブジェクトの型を取得する Object.getType() など今まで Javascript だと手に届きにくかった操作を簡単に行うことができるようになっています。

設定テーマ

関連テーマ 一覧

月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(1件)

タイトル (本文) ブログ名/日時
JavaScript から ASP.NET Webservice のメソッドを呼び出す。
かるあ のメモ からです。 JavaScript から ASP.NET Webservice のメソッドを呼び出す。 JavaScript から ASP.NET Webservice のメソッドを呼び出す。(2) ...続きを見る
ナオキにASP.NET(仮)
2007/03/09 16:23

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文