ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月19日(金) 15:34

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2005年7月03日(日) 05:15 
オフライン

登録日時: 2005年5月31日(火) 09:34
記事: 141
お住まい: 北海道
山本様にお願いがあります。
最近いくつかのスレでLine Inputの話が出ていますが,そこで
AB2のLine Inputが(システム内部で)どういう実装だったのか教えていただけないでしょうか。

Line Inputの高速化に使えないだろうか・・・ということです。

_________________
' ============================================================
' Sinryow Game Home Page - http://www.sinryow.net/
' Sinryow ActiveBasic Center - http://ab.sinryow.net/
' ============================================================


通報する
ページトップ
投稿記事Posted: 2005年7月05日(火) 11:24 
オフライン

登録日時: 2005年5月31日(火) 07:49
記事: 162
> Line Inputの高速化に使えないだろうか・・・ということです。

たぶん使えないです。
V2.6の Line Input# は、1バイトずつ読み込む仕組みになっているようです。
その上、ダブルクォートや空白文字などの特定の文字コードを検出して処理を変えるようなこともしていますから、一般には遅くなると考えられます。
ただ、かなり高度な最適化が適用されてますから、その分だけ高速化したものと思われます。


[追記] 7月5日 13:30
どうやら特定の文字コードを識別するのはある条件下にあるときだけで、通常は CR コードのみを判定するようです。CR を検出したら、その次が LF かどうかを検査する2段構造でした。
よって、改行コードが CR または LF だけの場合は期待した通りに動作しません。
試しに改行コードを LF に変換したテキストファイルを読み込むと、全文読み込んでしまいました。
また、CR の場合は動作せず、固まってしまいました。


通報する
ページトップ
投稿記事Posted: 2005年7月06日(水) 01:03 
オフライン

登録日時: 2005年5月31日(火) 09:34
記事: 141
お住まい: 北海道
> たぶん使えないです。
> V2.6の Line Input# は、1バイトずつ読み込む仕組みになっているようです。
> その上、ダブルクォートや空白文字などの特定の文字コードを検出して処理を変えるようなこともしていますから、一般には遅くなると考えられます。
> ただ、かなり高度な最適化が適用されてますから、その分だけ高速化したものと思われます。

ということは恐らく,内部ではC++のコードの力を借りられるため速いのでしょうね。

現在,まけイヌさんのコードを(直接)C++に変換してみているところです。

_________________
' ============================================================
' Sinryow Game Home Page - http://www.sinryow.net/
' Sinryow ActiveBasic Center - http://ab.sinryow.net/
' ============================================================


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[14人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean