C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VB2005への移行についておたずねします。


(過去ログ 4 を表示中)

[トピック内 14 記事 (1 - 14 表示)]  << 0 >>

■4255 / inTopicNo.1)  VB2005への移行についておたずねします。
  
□投稿者/ YM 二等兵(9回)-(2006/06/11(Sun) 00:58:13)

分類:[VB.NET] 


分類:[VB.NET] 

私は計測プログラムの作成および、そのデータの分析を行っています。.NETで
当初、CもVBも土台が同じになり処理速度がほぼ同じになると歓迎しました。

この春から新規プログラムは、VB2005とまず部品作りにとりかかりました。
検査結果はデータグリッドに貼り付けるのですが、VB6の場合、100万件以上の
検査データがあってもストレスがありません。しかしVB2005では立ち上がる
だけでもとんでもなく時間がかかります。仮想モードがあったりするそうですが
私にはハードルが高く、VB2005でのデータベースはこう扱うんだとの書籍が出
れば購入するつもりでいます。しかし、本日下記の単純なプログラムの処理時間
を比較したところ、(パソコンはアスロン4000、OSは2000プロフェナル)

For L = 1 To 20000
OkuriM = OkuriM + str(L)
Next

VB2005 約2秒 VB6 約 0.6秒でした。 体感としては遅いと感じていまし
たが、確かに遅いことが確認できました。

今後は、VB2005にもなれなくてはと思うので、スピードの要求する部分は共有
メモリを使いVB6で行おうと考えております。

また、NET2002でシステムを構築された方は、2003,2005となりバージョンアッ
プがあれば大変だろうと思います。さらに次のNETのバージョンはどうなるか詳細
不明だとのことです。

処理速度が遅い、そして100%の下位互換のない次々のNETのバージョンに他の方
はどうお考えなのか、対処されているのか、おたずねしたいです。
私の部門は一人なのでたずねる相手もありません。よろしくお願い致します。

 *VB2005のおかげで少し行儀のよいプログラムが書けるようにはなりました。*



0
引用返信 編集キー/
■4256 / inTopicNo.2)  Re[1]: VB2005への移行についておたずねします。
□投稿者/ 中博俊 神(502回)-(2006/06/11(Sun) 01:13:55)
中博俊 さんの Web サイト

分類:[VB.NET] 

まず
For L = 1 To 20000
OkuriM = OkuriM + str(L)
Next
なんていうコードは普通書かないので、処理比較としては不適切
Dim sb As New StringBuilder()
For L = 1 To 20000
sb.Append(str(L))
Next
のようなかんじにします。

>仮想モードがあったりするそうですが
>私にはハードルが高く、VB2005でのデータベースはこう扱うんだとの書籍が出
>れば購入するつもりでいます。

仮想モードは特に複雑でもなんでもないのでがんばってください。
ただ、100万件表示することに何の意味があるのかは検討する余地が大いに有ります。
100〜200を超えると人間の許容量を超えています。

>今後は、VB2005にもなれなくてはと思うので、スピードの要求する部分は共有
>メモリを使いVB6で行おうと考えております。

そんなに簡単には呼び出せないので、VB6は素直に捨てましょう。

スピードを要求するのであればC++ではないでしょうか?C++/CLIという道もあります。

>また、NET2002でシステムを構築された方は、2003,2005となりバージョンアッ
>プがあれば大変だろうと思います。さらに次のNETのバージョンはどうなるか詳細
>不明だとのことです。

何の情報かわかりませんが、次の詳細も発表されてますよ。

>処理速度が遅い

遅いと思ったことはありません。
#起動時間はちょっと遅いんだけど・・・

>そして100%の下位互換のない次々のNETのバージョンに他の方
>はどうお考えなのか、対処されているのか、おたずねしたいです。

100%互換が無いのはVB4も5も6も7も7.1も8も同じです。



0
引用返信 編集キー/
■4257 / inTopicNo.3)  Re[2]: VB2005への移行についておたずねします。
□投稿者/ YM 二等兵(10回)-(2006/06/11(Sun) 21:05:13)

分類:[VB.NET] 

ご意見ありがとうございました。参考に致します。

なお、StringBuilder をビルドしたところ、「型 StringBuilder が定義されて
いません」とのエラーがでました。無料のバージョンでは無理なのかと判断していま
す。

0
引用返信 編集キー/
■4258 / inTopicNo.4)  Re[3]: VB2005への移行についておたずねします。
□投稿者/ 名無しぃシャープ 准尉(110回)-(2006/06/11(Sun) 21:42:52)

分類:[VB.NET] 

No4257に返信(YMさんの記事)
> ご意見ありがとうございました。参考に致します。
>
> なお、StringBuilder をビルドしたところ、「型 StringBuilder が定義されて
> いません」とのエラーがでました。無料のバージョンでは無理なのかと判断していま
> す。

System.Text.StringBuilder。ぷ。

0
引用返信 編集キー/
■4259 / inTopicNo.5)  Re[4]: VB2005への移行についておたずねします。
□投稿者/ YAS 伍長(54回)-(2006/06/12(Mon) 00:04:21)
YAS さんの Web サイト

分類:[VB.NET] 

2006/06/12(Mon) 00:04:41 編集(投稿者)

以下を参考にしてみてください。
http://support.microsoft.com/default.aspx?scid=kb;ja;306821

ちなみに,次のコードを実行すると私のPCでは「2896」と表示されました。
Dim SW As New Stopwatch
SW.Start()
Dim OkuriM As String = String.Empty
For L As Integer = 1 To 20000
OkuriM = OkuriM + Str(L)
Next
SW.Stop()
Debug.Print(SW.ElapsedMilliseconds)

一方で次のコードでは「22」と表示されました。
Dim SW As New Stopwatch
SW.Start()
Dim OkuriM As New System.Text.StringBuilder
For L As Integer = 1 To 20000
OkuriM.Append(Str(L))
Next
SW.Stop()
Debug.Print(SW.ElapsedMilliseconds)


0
引用返信 編集キー/
■4273 / inTopicNo.6)  Re[5]: VB2005への移行についておたずねします。
□投稿者/ Jitta 曹長(82回)-(2006/06/12(Mon) 21:43:54)

分類:[VB.NET] 

> *VB2005のおかげで少し行儀のよいプログラムが書けるようにはなりました。*
これが一番重要なことではないでしょうか。


> スピードの要求する部分は共有メモリを使いVB6で行おうと考えております。
そんな話は聞いたことがないですね。
普通、スピードを要求するなら、C 言語や、アセンブラだと思うのですが。

 また、比較対象が文字列操作だけ、というのも、変でしょう?演算処理や、メモリの確保/解放、コントロールの描画など、検討対象はもっとたくさんあると思いますけど?


> なお、StringBuilder をビルドしたところ
 msdn ライブラリが無償でダウンロードできるようになったので、ダウンロードして検索してください。
http://www.microsoft.com/downloads/details.aspx?FamilyID=373930cb-a3d7-4ea5-b421-dd6818dc7c41&DisplayLang=ja

0
引用返信 編集キー/
■4280 / inTopicNo.7)  Re[6]: VB2005への移行についておたずねします。
□投稿者/ YM 二等兵(11回)-(2006/06/13(Tue) 21:02:08)

分類:[VB.NET] 

名無しぃシャープ 様
ありがとうございました。

YAS 伍長 様
ご配慮感謝致します。ありがとうございました。

Jitta 曹長 様
ご意見ありがとうございます。

私は、VB6からVB2005への部品作りの段階で、VB2005は遅いなとの印象
を持っています。下記が速度テストとして適当かどうかわからませんが、例の
ひとつとして
(私は97のMDBを使用した検査プログラムの作成とデータ処理を行っています)

For L = 1 To 100000000 '1億回
S = L * 3
Next

を実行した場合、 VB6 0.203秒 VB2005 0.328 です。

MDBへのアクセス方法が、VB6 ADO を、VB2005 で使用しているせいか、データ
が多すぎるせいか、管理の都合でいまだアクセス97を使用しているせいか体感と
しては2倍近く時間がかかるのかなと思っています。

たとえば、会社では毎朝、女の子が、十数ベンチの集計処理(BackUpを含む)
を行っていますが、1.5倍に処理時間が増すのは困ります。もちろんC等使えば
速いのでしょうが、私のレベル内でしか行えません。

ご存知ないかもしれませんが、「N88BASIC」でホビーから、プログラムを
始め、それをそのままひきずっています。ご紹介いただいた「msdn ライブラリ.
....」 や今後も書籍を購入し .NET Framework上 での知識を得たいと思っ
ています。そうすれば処理速度も違ってくるのかなと思っています。

ありがとうございました。 







0
引用返信 編集キー/
■4281 / inTopicNo.8)  Re[7]: VB2005への移行についておたずねします。
□投稿者/ 中博俊 神(506回)-(2006/06/13(Tue) 22:50:05)
中博俊 さんの Web サイト

分類:[VB.NET] 

.NET上でADOを使ってはいけません。
まぁそのあたりの誤解も含めて地道に解消していく必要があるでしょうね。
ただ当然早くなる方向での進化はほぼ無くって、遅くなるけど別の意味で便利になる方向の進化しか普通はありえませんからそれも当然でしょうか。

0
引用返信 編集キー/
■4283 / inTopicNo.9)  Re[7]: VB2005への移行についておたずねします。
□投稿者/ YM 二等兵(12回)-(2006/06/13(Tue) 22:51:29)

分類:[VB.NET] 

YAS 伍長 様

申し訳ないです。書いていただいた内容をよくそしゃくせず、VB2005は

遅いと結論ずけて。明日、会社で確認致します。


0
引用返信 編集キー/
■4284 / inTopicNo.10)  Re[8]: VB2005への移行についておたずねします。
□投稿者/ YM 二等兵(13回)-(2006/06/13(Tue) 23:04:38)

分類:[VB.NET] 

中博俊 様

あと15年は自分ではプログラムが組めると思っていますので
地道に解消していきます。

ありがとうございました。

解決済み
引用返信 編集キー/
■4286 / inTopicNo.11)  Re[9]: VB2005への移行についておたずねします。
□投稿者/ YAS 伍長(56回)-(2006/06/13(Tue) 23:54:02)

分類:[VB.NET] 

本筋と関係ないところにレスをしますが...

>ご存知ないかもしれませんが、「N88BASIC」でホビーから、プログラムを
>始め、それをそのままひきずっています。

私もN-BASICやF-BASICが原点です。お互いにがんばりましょう。

解決済み
引用返信 編集キー/
■4302 / inTopicNo.12)  Re[7]: VB2005への移行についておたずねします。
□投稿者/ Jitta 曹長(84回)-(2006/06/14(Wed) 21:29:38)

分類:[VB.NET] 

 私の原点は N60-BASIC ですよぉ〜o(^-^)o

 VB6 以前とくらべて、VB.NET 以降はオブジェクト指向言語としての色が濃いですから、オブジェクト生成のオーバーヘッドがかかっているかもしれませんね。

 ところで、VB6 では Integer は 16 ビットなんですね。
VB2005 では 32 ビットです。
何か影響あるかな?
VB 7.1 にて変数の宣言を Integer と Long で比較すると、Integer 0.27 秒に対して、Long 7 秒でした。。。
ま、32 bit OS だからな。。。
16 bit では 1億を表現できず、Short での時間は計れませんでした。
Option Strict Off にして、型宣言をしないと、60 秒もかかった。。。
ついでに Decimal も試すと、23 秒。


解決済み
引用返信 編集キー/
■4335 / inTopicNo.13)  Re[8]: VB2005への移行についておたずねします。
□投稿者/ YM 二等兵(14回)-(2006/06/15(Thu) 20:54:56)

分類:[VB.NET] 

思い起こせば、パソピア、8801、MR、VXと購入しデイスプレイとプリンター等
をあわせれば、この段階で100万円を超えてしいました。今はなんと幸せな環境
かと思います。

YAS 様
VBの約0.6秒に対して、 0.017秒前後(自宅)となっています。
この数字には驚きました。早くできる処理方法もあるんですね。

* 私はESC/Pを操作するプログラムは、今も FBASICV63 を使用しています。

Jitta 様

Dim s As Long
Dim L As Long
 For L = 1 To 100000000 '1億回
s = L * 3
Next

を会社で10回連続(手動クリック)を実行したところ

    VB6(long)  VB2005(Integer) VB2005(long)

Min 0.171 0.218 2.321
Max 0.235 0.375 2.937
Ave 0.186 0.282 2.737

でした。

メモリブロック共有について
AD変換およびIOボード使用の評価プログラムはVB2005でと考え部品
作りを始めました。マネージコードのボード用DLL(?)が用意されていな
い現状で無理にVB2005で動かす必要もないのですが、VB2005も覚
えなくてはとの気持ちで始めました。しかしデータの印刷はTwip単位で、デー
タの総数も数十万にもおよぶことからメモリブロック共有を行いVB6で簡単に
印刷を行うこととしました。本末転倒したプログラムになりますが、量産用で
はないのでまあいいかと考えています。

msdn ライブラリについて
私には従来マイクロソフトのレファレンスをみても敷居が高く、他の書籍を購入
していました。まだ部分的にしかみていないのですが、これは私でもわかる説明
かもしれないと思っています。

YAS 様 Jitta 様 どうもありがとうございました。

0
引用返信 編集キー/
■4336 / inTopicNo.14)  Re[9]: VB2005への移行についておたずねします。
□投稿者/ Jitta 曹長(85回)-(2006/06/15(Thu) 21:17:06)

分類:[VB.NET] 

No4335に返信(YMさんの記事)

> msdn ライブラリについて
> 私には従来マイクロソフトのレファレンスをみても敷居が高く、他の書籍を購入
> していました。まだ部分的にしかみていないのですが、これは私でもわかる説明
> かもしれないと思っています。

 「目指せ MVP for MSDN」(そんな分野は無い)な私として、「敷居が高い」という言葉は放っておけませんね(笑)

MSDN を読み解くコツのひとつは、「目次とリンク」を使いこなすことです。
また、「直訳」的な言葉が多いので、繰り返し読み直すことも必須。
また、「リファレンス」部分だけでなく、読み物的なトピックをあさってみると、案外そっちの方がわかりやすかったりします。
ただし、アメリカン ウイットには注意。日本人にはついて行けません(--;

0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -