1 名前:デフォルトの名無しさん [2007/04/25(水) 01:16:57 ] 最近までDelphi使ってたんだが今日ちょっとVC++使ってみた 全部個人的な見方だが Delphiの長所 コンパイル早すぎて噴いたwwwww Delphiの短所 ファイルの容量がでかすぎ(´・ω・`) VC++の長所 コンポの初期UIがOfficeXPスタイル VC++の短所 コンパイル速度遅すぎだろwww
82 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 08:58:23 ] 良く考えたら、C++コードのクラスライブラリが他0$に移植されるとアウトという問題がM$にもあるね。 そう考えると、クラスライブラリのパクリを抑止する対策: 某 → ライブラリはDelphi言語とする M$ → MFC:使い難いGUIビルダーでC++市場を破壊する ドトネト:ライブラリおよび実行環境をドトネトCLIとする だね。
83 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 08:58:37 ] というかC++の範囲では 動的型情報が貧弱すぎて実現出来ないだろ pulished とプロパティを拡張しないと無理
84 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 09:06:13 ] オレ様はC++しか読めないから全部C++に汁! っていうメリットぐらいか
85 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 09:11:07 ] 何でもっとクロスプラットフォームな開発環境を作らないんだろう。。
86 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 09:19:37 ] いや、だから表向きクロスプラットフォーム&実は囲い込み: → >>82 の通りの戦略。
87 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 10:17:05 ] つまんね
88 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 13:50:13 ] Xプラットフォームは重くなるからイラネ
89 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 13:59:50 ] は?
90 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:17:04 ] COM10 以上のポートを開くには '\\.\'+'COM10' としなければいけないとか、 windowsは変な知識いっぱい必要だからな で、こんな知識詰め込んで俺様ぶってる奴みると、ダメだなとは思うが、自分が実は別の面でそうなってないかと不安にもなる
91 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:20:22 ] >COM10 以上のポートを開くには '\\.\'+'COM10' としなければいけないとか、 え”〜、そうなんだ。 どうやって調べたの?
92 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:24:24 ] 90ではないが、COM10でググると一発で出てきた。 support.microsoft.com/kb/115831/ja
93 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:33:22 ] サンクス COMのタコ足配線が使われてるわけなんだね。 今のPCにCOM無いけど。。。
94 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:21:14 ] 一台のパソコンでも、ハブ使って、その都度アチコチさしてたら、その都度別のポート番号が割り振られて いつの間にかCOM10超える事もあるような
95 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 15:14:19 ] >ハブ使って、その都度アチコチさしてたら 何をさすわけ? USBハブじゃないおね???
96 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:25:49 ] USBシリアル変換コネクタじゃね?
97 名前:デフォルトの名無しさん [2007/08/01(水) 03:54:46 ] >>1 結局、C++Builder最強ということでよろしいか?
98 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 21:15:20 ] boostとか揃えるもの揃えるとC++も凄いんだろうけど なんか環境整えるまでが物凄いめんどくさいイメージがある。
99 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 00:02:58 ] いや、環境の準備なんてわかれば大したことはない。 Boostなんて今ではVC++用のインストーラもあるし。 問題はその後にある……。
100 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 21:10:34 ] どこまでいっても終わりはない
101 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 01:46:56 ] なんでVBとC++を比べるスレが無いんだ?
102 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 05:50:12 ] 同門対決は好きこのんで行われないだろ。
103 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 10:22:36 ] 悔しいけど、デルフィは、使いやすい
104 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 20:16:27 ] V/Turbo C# Windowsネイティブ版が欲しい。
105 名前:デフォルトの名無しさん [2007/08/16(木) 04:12:24 ] VBとVC++は目的の住み分けが出来ているから比較は無意味。 Delphiは両方と被るから比較される。
106 名前:デフォルトの名無しさん [2007/08/16(木) 07:55:17 ] VBのポトペタ+イベント駆動なスタイルと被り VCのEXE/DLLのネイティブコードが書ける部分と被るというわけ?
107 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:40:14 ] コンポーネント作る側と利用する側の住み分けって事じゃね? M$の決めた住み分けだったが、その住み分けが間違いだった事をドトネトの存在で証明した。 これであとドトネトがネイティブ可能になれば...
108 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:43:39 ] 今時.NETかよ
109 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 11:00:46 ] 驚愕の事実。 外国ではDelphiの方が人気あるのかな。 books.google.co.jp/books?num=100&as_brr=0&q=Delphi&btnG=%E6%9B%B8%E7%B1%8D%E3%81%AE%E6%A4%9C%E7%B4%A2 VisualStudio の検索結果 259 件 C# の検索結果 60 件 Delphi の検索結果 11900 件
110 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:26:50 ] なんだよ外国ってwwwwwwwwwwww
111 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:22:58 ] 外国(がいこく)とは、自国以外のよその国を指す。
112 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 22:15:54 ] よその国(笑)
113 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 08:15:25 ] MSはgoogleを敵視しているから、googleの検索にはヒットしないのかな。
114 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 04:13:16 ] >>112 ttp://ja.wikipedia.org/wiki/%E5%A4%96%E5%9B%BD
115 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 10:14:36 ] >>113 VisualとStudioの間に空白を入れるだけで、格段に件数は増える。 また、Visual C++やMFCなどでの件数も考慮すべきだし、 Delphiの結果にはプログラミング以外のものが混じっている。
116 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 20:29:34 ] "Visual Studio"ならわかるが、Visual Studioと入力するのはインチキだろ。 ま、こんな検索件数で勝ったところで意味なんかないが。
117 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 20:16:56 ] >>114 なんか必死ですね?
118 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 21:55:32 ] ソースを示してるだけに見えるんだけど
119 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 20:47:24 ] >>118 なんで必死なの?
120 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 23:26:10 ] 俺には>>117 、>>119 の方が必死に見えますw
121 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 16:10:43 ] よほど悔しかったんだろうな。
122 名前:デフォルトの名無しさん [2007/10/06(土) 07:41:26 ] DELPHIは個人的に好きです
123 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:39:49 ] リアル厨房なんだろうけど、外国って表現があまりにも幼稚だからだろ。 それに"VisualStudio"で検索かけるなんて、ゆとりでも思いつかないよ
124 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:41:56 ] それから>>109 の検索結果は日本も含まれてるから 君が日本人じゃないのはなんとなく分かった。
125 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:42:11 ] まだ言ってる
126 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:44:51 ] リアル厨房なんだろう
127 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:49:37 ] 大の大人が中坊ごときでかっかするなよ。 余裕ねえな(笑)
128 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 19:26:25 ] 誰がかっかしてたの?
129 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 07:30:29 ] ガラスの自尊心 = 壊れ易く、外からは丸見え
130 名前:デフォルトの名無しさん [2007/10/09(火) 21:50:47 ] いままでずっと授業でDelphi使ってて 今年初めてVC++使ってるが、コンパイル速度遅すぎだろ常識的に考えて… 最初フリーズしたのかと思った。 Turbo C++はどうなんよ?
131 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:34:38 ] Turbo C++ Explorer使ってみればわかるさ Turbo DELPHI Explorerと一緒にインストールもできるし・・・
132 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:38:04 ] >>131 マジで? 最初はTurboC++使おうと思ってたんだが、Delphiのほう入れてたからダメかと思ってVC++選んだのに…意味ねぇ
133 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 00:06:30 ] C++は言語仕様が(Pascal/Delphiと比べると)巨大で複雑なのでコンパイルが遅いのは勘弁してやってください。 むしろ逆に考えるんだ。C++が遅いのではなくDelphiが早すぎなのだと。
134 名前:デフォルトの名無しさん [2007/10/18(木) 11:34:01 ] 言語仕様が複雑なんじゃなくて、ヘッダファイルの展開で時間がかかるんじゃないの?
135 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 12:00:37 ] アセンブラでさえ、前方にラベルがあると何度もソースを舐めるか、 ラベルを使った事を記録しておいて後で解決するような 複雑な処理をしなければならないのに pascalの場合文法がコンパイラが順に処理すればいいように作られている。 pascalでは事前に定義しなければならないとかね。 だから1パスで処理出来る。 つまり、順に処理すればいいというのはコンパイラにとっても言語仕様が簡単だといえる。 あと、ObjectPascalの場合、 まずunitの独立性が非常に高い。 だからリンカの負荷が非常に軽くなり、C/C++のように コンパイル・ライブラリアン・リンクを別にする必要がない。 また、unitの宣言部で必要な他のunitを宣言してるから、 一部のヘッダを変更しても依存関係をコンパイル結果から簡単に判断して 再コンパイルが必要なユニットを判断出来る。 これでトータルのコンパイル速度が爆速になる。
136 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 12:03:03 ] なんのためにC++はヘッダファイルがあるの?
137 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 13:07:42 ] >ヘッダファイル C言語→ ライブラリ利用側(コンパイラ含む)が構造体、関数定義を知るため。 C++→ クラスライブラリ利用側がクラス定義を知るため。
138 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 13:42:01 ] う〜ん、なんとなくわかったような・・ どうもありがとうございました。
139 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 13:47:26 ] Turbo Pascal開発時のフィリップカーンの命令: 全てオンメモリで処理しる! らしい。
140 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 15:39:17 ] 後方参照?
141 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 16:25:58 ] #include <windows.h> ってやるだけで、ものすごい数の使わないヘッダファイルを コンパイルするからね。
142 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 17:03:30 ] いちおう プリコンパイルヘッダーの技術はあるけど、マクロが多用されるから、あんまり効かない
143 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 02:45:56 ] Σ (゚Д゚;)ハッ この流れもしやDelphiモンリー? ∩ 先太り ( ⌒) ∩_ Delphi☆オンリー!! /,. ノ ( ,,E) ヒャッホゥ ./ /" / /" _n Delphi☆モンリー!! ../_、_ / / 盛り上がってキターー! ( l _、 _ / / ,_ノ` )/ ノ'_、 _ Delphi☆モンソー!! \ \ ( <_,` )(. Delphi☆/( ,_ノ` ) n ヽ___ ̄__∩ _、ヽ_ _ 、_ n \ ( E) / (ヨ,,. )( <_,` ) ( ,_ノ`)( .,E) ヽ_//
144 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 08:21:49 ] Delpi
145 名前:デフォルトの名無しさん mailto:age [2008/02/02(土) 22:18:10 ] や
146 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:47:02 ] 結局、VC++のが糞だと言うことはわかったが、 >>131 Turbo Delphiしかインスコできんがな。
147 名前:デフォルトの名無しさん [2008/02/05(火) 11:49:50 ] >>146 同意。 Deiphiの超絶大勝利だな。
148 名前:デフォルトの名無しさん [2008/02/05(火) 14:03:01 ] 普段Delphi使ってると、たまにオプソのVCプロジェクトコンパイルするときに、 遅すぎて日が暮れるよ・・・ Delphiなら10、20万行程度のリビルドくらい、今時のローエンドマシンでも5秒くらいで終わるのに
149 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 08:44:20 ] Delphiが高速な理由を考えてみた。 1、ユニット化が非常に上手い。 unit/uses によるモジュール化が上手い C/C++は #define やテンプレートがあるから、プリコンパイル技術だけではどうしようもない 2、文法のシンプルさ 使う変数とラベルは 事前に定義しなければならないなどの制限のおかげで 1回舐めただけで、コンパイルが出来る。 3、リソースも含めた1パスである事 c/c++ではコンパイラ・ライブラリ管理・リソースコンパイラ・リンカーが分かれているが Delphiは1パスで全てを行う DPRはCのOBJ相当だけど、1の効果でそのままライブラリでもある
150 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 18:24:05 ] C++で十分なら、JavaもC#も出てなかったと思う。
151 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 20:35:36 ] そうだな。お互い棲み分けができていると思うよ。
152 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:55:43 ] ナゼ言語と開発環境が交錯してるんだ?ATLや純粋なAPIなど他のライブラリを使った話題も何故無い。軽さはDelphiの比じゃないぞ。 大体MFCに頼るヘタレはC++で開発する意味は無いだろうに。
153 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 17:02:00 ] そりゃ、純粋APIをはじめて綺麗にラップしたのがDel/VCL。 汚くラップ下のがMFC。 ATLじゃポトペタ開発できないし中途半端。
154 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 17:21:24 ] そうそう、ポトペタしたい(GUIを作り込む)ときのためのものではないよ、VC++は。 裏方の仕事を任せればいいのさ、C++が必要なら。
155 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 17:28:40 ] 軽さというのがコンパイル速度の事ならAPI使うよりDelphiの方が軽いぞ。 VCL使わずAPIでコードで書いてもDelphiの方が短く綺麗に書けるぞ。 Cで書いたコードを組み込みたいならBCB使えばDelphiにリンク出来るよ。
156 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 17:30:15 ] Σ (゚Д゚;)ハッ この流れもしやDelphiモンリー?
157 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 21:35:27 ] APIで書くのをやってた頃の過去ログ pc.2ch.net/tech/kako/1009/10090/1009080085.html Halbowさんのページの homepage2.nifty.com/Mr_XRAY/Halbow/
158 名前:デフォルトの名無しさん [2008/02/12(火) 22:58:39 ] > Cで書いたコードを組み込みたいならBCB使えばDelphiにリンク出来るよ。 BCB使わなくてもDLLでもOK VC++でコンパイルしたのをよく使ってる
159 名前:デフォルトの名無しさん [2008/02/13(水) 01:47:23 ] >>155 コンパイル速度じゃどう足掻いたってDelphiには勝てんよ。実行バイナリーの事さ。
160 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:00:12 ] 結局、Windows 上で何か作るなら Delphi 以外の選択肢はねぇやろ?
161 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 04:34:12 ] それにしては、秀丸もBecky!もFFFTPもEmEditorもDelphi製じゃないわな。 DelphiはちゃっちゃっとGUI作るためのお子様用だよね。
162 名前:デフォルトの名無しさん [2008/02/18(月) 06:55:26 ] VBだって昔はおもちゃと言われてた。
163 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 07:06:32 ] そうだな。最近だとVCL使ってるのはSkypeくらいだもんな
164 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 07:07:12 ] DelphiはRAD使わないでコードしこしこ書けばファイルサイズ全く変わるだろ
165 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 07:27:48 ] >>161 秀丸もBecky!もFFFTPもEmEditorもDelphi登場前から書かれていたソフトやろ?
166 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:49:59 ] >>163 P2P系にVCL多いって結論だね。
167 名前:デフォルトの名無しさん [2008/02/18(月) 19:59:44 ] janeはDelphi製なんだろ?
168 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 23:41:35 ] >Delphi 以外の選択肢はねぇやろ? Delphi製のアプリなんか数えるほどしかないよ。何言ってるの?
169 名前:デフォルトの名無しさん [2008/02/19(火) 07:48:34 ] delphiで作った有名ソフトって何があるの? pc11.2ch.net/test/read.cgi/tech/1135654787/
170 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 23:31:17 ] 複数人で開発するならマイナー言語は瞬時に却下される さっさとVCに移行せろ
171 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 08:03:10 ] 一人で仕事貰ってきて一人で仕事して一人で納品してるからDelphiでいいんだよ。
172 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 08:43:10 ] >さっさとVCに移行せろ VCもマイナーなら、MFCもマイナー。
173 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 15:12:58 ] まぁ、優秀な人間ほどC++使える率上がるからなぁ 好みを別にすればDelphi使えるけどC++使えない優秀なPGってのは殆どいない、極々少数
174 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:08:45 ] 確かにDelphiのコンパイル速度は異常だよな それだけでもアドバンテージあるが もう開発が止まってるからもう比べ様がないな 9x系ならDelphiでいいよ
175 名前:デフォルトの名無しさん [2008/03/14(金) 23:24:27 ] 次期Delphiで、9xは切り捨てになりますが・・・>Delphi
176 名前:デフォルトの名無しさん [2008/03/15(土) 23:10:40 ] 次期Delphi? まだ生きてたの?
177 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:03:52 ] Qゲリオン
178 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 12:17:54 ] VC++使ってた方がWindowsの変化に追従しやすいってのはあるな。 ライブラリ(MFC)がほとんど何もしてくれないに等しいから。 俺はC++のサブセット+αみたいな仕様のDelphi言語が個人的に面白いと思うし、 良くできてると思うから完全に死に絶えるまではDelphiに付き合おうと思う。 なんていいながらバージョンは6で止まってたりするが…。
179 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 18:21:12 ] オレなんて、いまだに 3.1 を使ってるぜ。 XP まで動いたけど、今度 Vista で動かしてみよう。
180 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:09:54 ] 男前!ホレた! さすがに XP のスタイル対応は無理だよね。
181 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:24:02 ] やばい、C# に浮気しそう…。
182 名前:デフォルトの名無しさん [2008/10/28(火) 21:52:11 ] >>180 .manifest ファイルで誤魔化してる。
183 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 04:20:50 ] それが普通なんじゃないの? Cでもmanifestだろう
184 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 05:06:21 ] >>182 VCL 使ったアプリで単に manifest ファイル付けてもエラーになったりしない? XP Theme Manager は、3はサポートしてないと思ったんでね。
185 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 23:13:30 ] FOR I :=1 TO 1000000000 DO BEGIN L:=K MOD I; END; こういう、10億回ループの時間計測すると、 Delphi 1秒3 で、VB,C#、V++(2005)はいずれも14秒ほどで、10倍も違う。 こんなに違うものかな?
186 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 00:51:00 ] DelphiとVBの差はまぁそんなもんだろ。.NETのやつはやりようによってはもっと早くなるんじゃね? たとえばそのループをさらに何回かまわしてみるとか。
187 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 01:25:53 ] 自分ところでやってみた Debug Release VC++2005 3013 0(たぶん最適化されて端折られた) VC#2005 2620 2117 VB2005 2712 2097 Delphi6 3125 462 BCB6 3064 453
188 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 10:57:01 ] こんなに違うもんかい? exe をダブルクリックしてからの時間じゃないよね、当然。
189 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 21:51:14 ] var I, L: Integer; Time: DWORD; begin Time := timeGetTime(); L := 0; for I := 1 to 1000000000 do L := L xor I; Time := timeGetTime() - Time; WriteLn(Time); end; // int I, L; DWORD Time; Time = timeGetTime(); L = 0; for(I = 1; I <= 1000000000; I++) L = L ^ I; Time = timeGetTime() - Time; std::cout << Time << std::endl; // てめえらの結果書けや
190 名前:185 mailto:sage [2008/12/15(月) 22:43:37 ] 素数を求めるプログラムで処理時間を計測 した。(※メイン部分のみ、VB,C#,VC++もこれと同等なプログラム) DELPHIが速いのはわかるけど、VBがC#、VC++より速いのは不思議な気がする。 2秒153 TURBO-DELPHI 2秒392 VB 2005 2秒934 C# 2005 3秒155 VC++ 2005 ソースはDELPHIのもの、(ベンチマークが目的なのでアルゴリズムは最速ではない。) VAR I,J,N : INTEGER ; K,L,M : INT64 ; BEGIN; K:=1000000000; FOR I:=1 TO 50 DO BEGIN N:=0; M:= I + K ; FOR J:= 2 TO 2000000 DO BEGIN L:=J; IF M MOD L = 0 THEN BEGIN IF M <> L THEN N:=N+1; END; END; IF N = 0 THEN Memo1.Lines.ADD ( INTTOSTR(M) + ' は素数') ; END; END;
191 名前:190 mailto:sage [2008/12/15(月) 22:50:16 ] ちなみに、すべて、windowsフォーム アプリケーションでテスト 実行結果 1000000007 は素数 1000000009 は素数 1000000021 は素数 1000000033 は素数 -------------------END--- 1000000050 2153 MS TURBO-DELPHI INT64 1000000007 は素数 1000000009 は素数 1000000021 は素数 1000000033 は素数 ----- END ----------- 1000000050 Time: 2,392.00ms VB2005 INT64 1000000007 1000000009 1000000021 1000000033 -------end------1000000050 time 2934 C# 2005 1000000007 は素数 1000000009 は素数 1000000021 は素数 1000000033 は素数 --- end ---- 1000000050 Time: 00:00:03.1550000 VC++ 2005
192 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 23:36:26 ] VC++は最適化入れてないだろ?
193 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 23:38:33 ] 最近のコンパイラはint64の演算で自動的にSIMD使ってくれるんか?
194 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 02:47:51 ] >>190 は全部大文字で書くのをやめれや 醜くて見にくいわ
195 名前:190 mailto:sage [2008/12/16(火) 04:15:21 ] 同じものを J# でも作ってみたら、劇的に速かったので、パソコンを再起動してクリーンな状態なせいかもと思って全部再度テストしてみたら、 1732 ms turbo-delphi 2006 1811 ms J# 2005 2219 ms C# 2005 2223 ms VC++ 2005 2239 ms VB 2005 という結果になった、delphiが結局1番速いが、J#も肉薄してる。あとの3兄弟は同じくらい。 ちなみに、変数をすべてintにして測ったら、どれも 850ms程度で横並びだった。
196 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 04:25:26 ] 参考までに、VS2005 の J# のソース private void button1_Click(Object sender, System.EventArgs e) { int i, j, n; long k, l, m; String s; m = 0; k=100; s = this.textBox1.get_Text(); // textBox1 から 1000000000 を入力して k に代入 k = Long.valueOf(s).longValue(); this.textBox2.AppendText("-------start-----" + System.Convert.ToString(k)+ "\r\n"); long start = System.currentTimeMillis(); for (i = 1; i <= 50; i++) { m=i+k; n=0; for (j=2;j<=2000000;j++) // ここもルートm までで良いが、あえて時間をかけるために、200万回にしてる。ちなみにこれだと4兆までの素数が正確に求められる。 { if (m % j == 0) { if (m != j) { n=n+1;} //break; // ここで break すると劇的に速く計算できるが、ベンチマークテストなのでコメント化 } } if (n == 0) this.textBox2.AppendText(System.Convert.ToString(m) + " 素数 " + "\r\n"); } long stop = System.currentTimeMillis(); this.textBox2.AppendText("--- J# 2005 ---end---" + System.Convert.ToString(m) + " time: " + System.Convert.ToString(stop - start) + "\r\n"); }
197 名前:196 mailto:sage [2008/12/16(火) 04:28:09 ] と実行結果。 1000000007 素数 1000000009 素数 1000000021 素数 1000000033 素数 --- J# 2005 ---end---1000000050 time: 1811
198 名前:196 mailto:sage [2008/12/16(火) 05:36:07 ] 196のプログラムで1京(10の16乗)から1000個の数字の中の素数をすべて求めた。 (kに10000000000000000 を代入、割る数字を100000000までにして、割り切れたらbreakするようにして実行) -------start-----10000 0000 0000 0000 10000000000000061 素数 10000000000000069 素数 10000000000000079 素数 10000000000000099 素数 10000000000000453 素数 10000000000000481 素数 10000000000000597 素数 10000000000000613 素数 10000000000000639 素数 10000000000000669 素数 10000000000000753 素数 10000000000000793 素数 10000000000000819 素数 10000000000000861 素数 10000000000000897 素数 10000000000000909 素数 10000000000000931 素数 10000000000000949 素数 10000000000000957 素数 10000000000000991 素数 --- J# 2005 ---end---10000000000001000 time: 89690
199 名前:ちなみに、その前の1000個数の内の素数。 mailto:sage [2008/12/16(火) 05:40:07 ] 9999999999999011 素数 (素数が多いとより時間がかかる) 9999999999999049 素数 9999999999999137 素数 9999999999999167 素数 9999999999999187 素数 9999999999999199 素数 9999999999999253 素数 9999999999999301 素数 9999999999999337 素数 9999999999999343 素数 9999999999999349 素数 9999999999999389 素数 9999999999999391 素数 9999999999999409 素数 9999999999999431 素数 9999999999999479 素数 9999999999999517 素数 9999999999999571 素数 9999999999999593 素数 9999999999999623 素数 9999999999999631 素数 9999999999999641 素数 9999999999999643 素数 9999999999999671 素数 9999999999999809 素数 9999999999999817 素数 9999999999999851 素数 9999999999999887 素数 9999999999999917 素数 9999999999999937 素数 --- J# 2005 ---end---10000000000000000 time: 122777