- 1 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 17:53:02.14 ID:FOAGvAbs.net]
- 次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512 C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part135 https://mevius.5ch.net/test/read.cgi/tech/1522495206/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.102【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1509780815/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語) ----- テンプレ ここまで ----- VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
- 231 名前:デフォルトの名無しさん [2018/07/22(日) 21:56:04.01 ID:Nia5Zbws.net]
- 悪いことは言わないので、LinuxプログラムはWSLで動くことを優先して書くことをお勧めする。
他人のために時間を使いたくないのは誰でも同じ。おのずと楽に評価できる環境に流れるのは止められない。
- 232 名前:デフォルトの名無しさん [2018/07/22(日) 22:35:05.45 ID:Nia5Zbws.net]
- イスラームの救貧制度がかえって免罪符の役割を果たしてないか。
イスラームの救貧制度があることで、かえって商業上の強欲が横行していないか。
- 233 名前:デフォルトの名無しさん mailto:sage [2018/07/22(日) 22:37:37.06 ID:Nia5Zbws.net]
- 誤爆したけど、謝罪はしない。
イスラム教は野蛮な宗教である ★4 ttps://lavender.5ch.net/test/read.cgi/whis/1525163440/
- 234 名前:デフォルトの名無しさん [2018/07/22(日) 23:57:15.36 ID:g7OD+nvH.net]
- だいたいでけてきたわ
コード修正をすることによって効果を簡単に計測できるように修正してる こっちのが結構大変だったわ
- 235 名前:デフォルトの名無しさん [2018/07/23(月) 01:50:38.00 ID:SStA1pnM.net]
- というわけでうpした
長い戦いだった fast-uploader.com/file/7087832585811/ baka_source.zip build.shを実行すると、3つの実行モジュールができる 3つとも少し修正した(解析処理はファイルがものすごい増えたから大きく修正したように見えるハズ) ・テストデータジェネレータ(データの出力個数の出方を少し修正した) ・ストレージ能力計測プログラム(I/OのアドバイスをOSに与えるように修正) ・解析処理(1. 解析の処理方法自体は一切かわってないがコードの構成をバカでも分かるように変更 2. I/OのアドバイスをOSに与えるように修正)
- 236 名前:デフォルトの名無しさん [2018/07/23(月) 01:56:28.48 ID:SStA1pnM.net]
- で、パーザーは基本に則った作りになってる
クラスに分ける意味があるかどうかはおいといて 一般的な再帰下降パーザーになってる BNFを構文解析する要領と同じといっていい バカでもチョンでも分かるハズ baka_parser_all ┣baka_parser_title ┗baka_parser_sections ┣baka_sub_parser_section ┣baka_parser_section_stat ┣baka_parser_text ┗baka_parser_elem ┣baka_sub_parser_xy ┃┗baka_sub_parser_qq_value ┣baka_parser_numbers_x ┃┣baka_sub_parser_qq ┃┃┗baka_sub_parser_qq_value ┃┣baka_sub_parser_rr ┃┗baka_sub_parser_number_x ┗baka_parser_numbers_x ┣baka_sub_parser_qq ┃┗baka_sub_parser_qq_value ┣baka_sub_parser_rr ┗baka_sub_parser_number_y 詳細な解析処理をする前に 簡易な解析処理をしたい場合(ブロックの位置情報やサイズ情報なんかだけを先に取りたい場合)、 そのクラスにそのレベルの処理を突っ込んどけばいい 解析処理の詳細さの粒度はそこでテキトーにきめればいいと思う
- 237 名前:デフォルトの名無しさん [2018/07/23(月) 02:11:50.60 ID:SStA1pnM.net]
- 一応、parserとsub_parserの違いだけ捕捉しておく
結論からいえばデータの形式がくさってるからそういうのを入れた parserクラスは最初に一行読んで、必ず次の行頭(LFの次)でポインタが停止するようになってる sub_parserクラスは行は読まずに、与えられたポインタから行の途中でポインタが停止するようになってる ※ 例外はあるがsub_parserクラスは大体 LF の上(行末)で停止する ※ 停止しない例外は、sub_parserクラスが連続してる箇所が間違いなく該当することになる
- 238 名前:デフォルトの名無しさん [2018/07/23(月) 20:33:09.90 ID:SStA1pnM.net]
- コードの記述に一箇所誤りがあった
動作に影響は一切ないが記述ルールに問題があるから 修正しといたほうがいい 削除 baka_sub_parser_section.h (L34) ++c_buf_p_; // skip LF 追加 baka_parser_sections.h (L48)++c_buf_p_; // skip LF ひたすら元のコードをコピペして貼り付けてたから 気付かなかったわ このスレで相談してたバカはちゃんと動作確認してんのか
- 239 名前:デフォルトの名無しさん [2018/07/23(月) 20:39:12.44 ID:SStA1pnM.net]
- ちなみにオレのpcのosはvistaだからな
まずwslなんか動くワケがない あと、オレのpcは32bitの計算機だから 32bitのlinuxしか動かない pcが32bitだからな 512MBのメモリでvmware動かして slackwareのlinuxで動作確認をした ちなみに64bitのwindowsは一切考慮してない 考慮不要だからな 32bitのlinuxと32bitのwindowsで動作確認はできてる つまり64bitのlinuxでは動作確認はしてないが 一応、64bitのlinuxにも対応できてる想定になってる きっと動く ※ baka_common.hぐらいの考慮で十分なハズ
- 240 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 20:41:46.46 ID:i+VNk600.net]
- しょぼ
- 241 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 20:47:36.06 ID:i+VNk600.net]
- 実行速度は?
- 242 名前:デフォルトの名無しさん [2018/07/23(月) 20:53:16.24 ID:SStA1pnM.net]
- ほとんどストレージの読み込み時間
パーズはばっちり これ以上ないデキだ 解析する量を減らせばもっと速くなる 動かせば分かる 印字されるスループットを どうすれば最大化できるか考えるのはこのスレのバカだ 道具はほぼすべて揃ってる
- 243 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 21:36:54.74 ID:rtZ7opge.net]
- >>231
ブーメラン投げてんじゃねえよバカ
- 244 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 21:41:33.21 ID:2Wpd7Nw8.net]
- パーズ
- 245 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 21:56:50.52 ID:owbFvtjn.net]
- >>228
I/Oのアドバイスとか何言ってるのか分からない。日本語でOk
- 246 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:01:24.41 ID:JOGfItcj.net]
- >>228
ありがとうございます。 なぜか下記修正をしないとコンパイルエラーで怒られました。 gcc-8.1を使っているけどそのせい? baka_common.h PRIu64を有効にするため27行目に行追加:#include <cinttypes> baka_spec.cpp 107, 111, 125行目を修正:%d → %zd build.sh clock_gettimeを有効にするためコンパイルオプションに-lrtを追加 少しコードを見ましたが、クラスのオブジェクト生成時に&があるのが 何を意味しているのかよくわかってなかったり、classのpublic内に関数名だけでなく 関数の中身も直接そのまま記述できるのを初めて知ったりと 色々新しい所があるのでじっくり見て勉強したいと思います。 つづけて実行結果を書きます。↓
- 247 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:02:12.57 ID:i+VNk600.net]
- 他でやれって何度も言われてなかった?
- 248 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:03:34.73 ID:JOGfItcj.net]
- 取り急ぎ新しいgenツールで13GBを作り、読み込んでみました。
※ >>231 の修正ままだしてませんが大丈夫ですかね? ## spec(ハード性能チェック?) LINUX% ../baka_spec ./aaa_13GB Mon Jul 23 18:14:22 2018 : starting... 14107393277 bytes read (read block size = 131072 bytes) ./aaa_13GB 〜 Mon Jul 23 18:14:24 2018 : done... 14107393277 bytes read (read block size = 131072 bytes) ./aaa_13GB read_block_size ::= 131072 bytes, file_size ::= 13453.86 MiB, turnaround_time ::= 2.27 sec, throughput ::= 5920.39 MiB/sec ※複数回
- 249 名前:実行でだいたい5500〜6000 MiB/sec
## parser LINUX% ../baka_par ./aaa_13GB "./aaa_13GB" : size = 14107393277 bytes Mon Jul 23 18:15:19 2018 : starting... ../baka_par ./aaa_13GB Mon Jul 23 18:15:19 2018 : section_count = 1, offset = 144275554 bytes, size = 144275513 bytes, turnaround_time = 0.21 sec, throughput = 646.15 MiB/sec 〜 Mon Jul 23 18:15:39 2018 : section_count = 79, offset = 14107393277 bytes, size = 176862384 bytes, turnaround_time = 0.25 sec, throughput = 662.80 MiB/sec Mon Jul 23 18:15:39 2018 : done... ../baka_par ./aaa_13GB turnaround time : 20(secs) ついでに前回のコードでも試しました。↓つづく [] - [ここ壊れてます]
- 250 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:04:55.29 ID:JOGfItcj.net]
- ## ついでに https://ideone.com/E6QH2r で同じファイルを読み込んだ時間
LINUX% time ./a.cpp aaa_13GB strat... ./a.out /mnt/home2/pjupm/dbl/work/kinoshit/rve/cpp/final2/baka_source_kino/temp/aaa_13GB (null) done... ./a.out /mnt/home2/pjupm/dbl/work/kinoshit/rve/cpp/final2/baka_source_kino/temp/aaa_13GB (null) real 0m16.243s user 0m14.024s sys 0m2.199s ↑の実行時間約16秒と >>241 の約20秒の約4秒の差分はざっくり言うと 文字や数値をt_all_db構造体に格納するのに要した時間ということでしょうか?
- 251 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:09:26.85 ID:i+VNk600.net]
- 読み込み2秒
全部で16秒 ほとんどが読み込み時間? 嘘つき
- 252 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:18:11.65 ID:SW13TXDW.net]
- >>243
これは >>242 のことですか? それぞれは下記のようですが、sys=読み込みのみの時間 となるんですかね。 real プログラムの呼び出しから終了までにかかった実時間(秒) user プログラム自体の処理時間(秒)(ユーザCPU時間) sys プログラムを処理するために、OSが処理をした時間(秒)(システム時間)
- 253 名前:デフォルトの名無しさん mailto:sage [2018/07/23(月) 22:23:23.05 ID:hE7BXV+L.net]
- 続きは半角とLINEでも交換してやれよ
- 254 名前:デフォルトの名無しさん [2018/07/23(月) 23:09:13.26 ID:SStA1pnM.net]
- オレのとこでは
baka_parもbaka_specも どっちも30〜32MiB/secだから同じだ つまりほとんど読み込み時間 どっちも8分ぐらいかかる で、そっちのは baka_spec turnaround_time ::= 2.27 sec ← 2秒で読み込めてる! baka_par turnaround time : 20(secs) そっちでは明らかに解析処理が足をひっぱってる つまり初回の解析処理をさぼればもっと速くなるハズ
- 255 名前:デフォルトの名無しさん [2018/07/23(月) 23:24:47.71 ID:SStA1pnM.net]
- man7.org/linux/man-pages/man2/posix_fadvise.2.html
posix_fadviseを追加したからな シーケンシャルリードであると ちゃんと日本語になってるわ
- 256 名前:デフォルトの名無しさん mailto:sage [2018/07/24(火) 00:12:21.91 ID:dbjTOx+1.net]
- >>246
par, specともにほぼ同じですか。 すみません。話についていけてないです。。 初回の解析処理をサボるとはどういうことですか? 自分が書いたら40〜50secだったので20secですでにかなり速いと思ってるんですが、まだ高速化の余地があるんですね。
- 257 名前:デフォルトの名無しさん [2018/07/24(火) 01:27:55.10 ID:2rkV2Cvq.net]
- 普通に考えたらこんなもん全部メモリに格納しようというほうが
普通に考えて狂ってると個人的には思うからな、それ専用の計算機ならともかく ちなみに全部メモリに格納しようとすれば、その格納のオーバーヘッドで さらに時間がかかることになることは予見できてる すべてメモリにのせるDBの発想に近いが、そういうDBMSでも起動時のロードにはものすごい時間がかかる かりにな全部データをメモリに格納しないなら 全部解析する必要はない 過去にセクションは100個ないぐらいといってたと記憶してる 仮定の話になるが、例えば1セクション読みこむのにどれぐらい時間がかかるかということになる いまぐらいの速度がでるなら セクションの位置とサイズだけを先に取得して 後で必要な部分のデータを再度読みこんでオンデマンドで解析しても 十分な速度がでるような気がしないでもない (最初にどこまで解析して取得するかはとりあえず今はおいといて)
- 258 名前:デフォルトの名無しさん [2018/07/24(火) 01:32:16.00 ID:2rkV2Cvq.net]
- で、やりたいことは、これまでのレスを読むかぎりでは
でっかいファイルの内容を画面に表示するだけだと思う それだけのことなら実機の高い処理能力を考慮すれば トップダウン方式で必要な箇所をオンデマンドでロードして取得する方法で十分な気がする そのほうが計算機にも優しいし、15Gのデータを全部眺めるバカなんかまずいないだろうしな こんな感じのことをやるのかなあとは思ってる Ex. データ取得の要求が3段階でされると仮定してる @セクションの列 AXY with QQ、RRの列(入力:セクションのSEQ) B数値の列(入力:XYのSEQ) A) 画面の初期表示では@で十分 B) セクションを展開して表示するときはAの取得で十分 C) X、Yを展開して表示するときはBの取得で十分
- 259 名前:デフォルトの名無しさん mailto:sage [2018/07/24(火) 06:39:30.18 ID:0yPjFIBM.net]
- >>246
解析処理が足を引っ張ってるのは お前の解析処理が遅いから >>248 まともに作れば解析自体は8秒で終わる
- 260 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 00:09:01.02 ID:rOCCX8po.net]
- >>249,250
>すべてメモリにのせるDBの発想に近いが、そういうDBMSでも起動時のロードにはものすごい時間がかかる まさにこの発想で考えていました。 すべて構造体に格納しようかと… > @セクションの列 > AXY with QQ、RRの列(入力:セクションのSEQ) > B数値の列(入力:XYのSEQ) > A) 画面の初期表示では@で十分 > B) セクションを展開して表示するときはAの取得で十分 > C) X、Yを展開して表示するときはBの取得で十分 アドバイスありがとうございます。 1stステップ →上記@のセクション名、次行にあるx/yの個数、その次のテキスト行を取得しGUI表示 2ndステップ →GUIから セクション内の数値全部 or x/yの任意の番号 のどちらかを選択し表示(上記ABをその都度fseekでピンポイントに取得) の2段階で検討してみます。 支配的なのはBの部分なので、そこを分離すれば負荷はかなり減るのではと思います。 >>251 8秒ですか。。 そのようなハイレベルな解析は日曜大工レベルの自分には当分作れそうにないです…
- 261 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 01:22:39.02 ID:FQQJXzBx.net]
- >>252
何をする気か知らんし、読み返す気もないが、 > 日曜大工レベル なら他言語使えよ。今のC++は君向けではない。 一通りも出来ないのだから、普通はPerl/Ruby/Pythonのどれかだと思うが。 あとここは「ぼくのさいきょうのそふとうぇあ」のスレではないから、 実際埋め立て状態だし、全く終わる気配もないし、 別スレ立ててやるのがマナーだと思うぞ。
- 262 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 05:58:28.01 ID:5wxx8yDL.net]
- A.exeがB.exeを立ち上げる
A.exeがB.exeの起動時に共有メモリ先を渡すのに その空間を指定するのはどうすれば良いんでしょうか
- 263 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 06:13:44.62 ID:aR1SGvNs.net]
- 共有メモリの名前を渡す
- 264 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 07:25:34.67 ID:5wxx8yDL.net]
- winAPIのmemorymapedfileを調べてみたけど
winAPI便利だが触ったことないと敬遠しちゃう
- 265 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 13:33:42.64 ID:CBV5hJrX.net]
- >>253
日曜大工とか書いてるけど、サーバー使ってやるとか言ってたから実務だと思うが あまり初心者を弾くようなことを言うな >>252 速度は実用レベルになりゃそれでとりあえずいいんじゃないの ドヤりたいやつや喧嘩したいやつに惑わされるな 回答は参考にとどめて、自分でやってみてどうしてもわからないところだけ聞きに来い スレを私物化するな
- 266 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 17:57:43.34 ID:EWaeEahr.net]
- >>254
プロセス間共有メモリはプラットホーム依存でありC++の範疇ではないので、続きは以下スレでどうぞ。 >>256 あなたも。 Win32API質問箱 Build124 ttps://mevius.5ch.net/test/read.cgi/tech/1510395780/
- 267 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 19:13:03.63 ID:v8CmSWWw.net]
- >>257
この程度のことを延々と続けられては、迷惑行為でしかないだろ。 実務なら上司に聞け、でしかないし。 最近アホが大量流入して、このスレは一気にレベルが落ちたよな。 お前らがそれについてどう思っているのかは知らんが。 お前は「プログラミング初心者」をここで飼いたいのか? 「C++初心者」はいいとして、C++は「プログラミング初心者」向けの言語ではない。 そもそも組み方も根本的に間違っている気がするが、 俺はこんな奴に教えてやる気はないし、 他の誰も指摘しないところを見ると、まあそういうことなんだろ。 (俺はソースは見てないが)
- 268 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 19:15:56.59 ID:h5CHP+XR.net]
- 確か上級者スレってあったはず
上級者はそちらに移動し、ここを見ないで
- 269 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 19:32:17.67 ID:Iaq9Mrpc.net]
- 空気読めないド初心者と、ド初心者相手にマウント取ってイキってる半角雑魚オヤジが二人で傷を舐め合ってるだけ
その二匹をNGすれば平常運転よ
- 270 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 19:38:59.40 ID:v8CmSWWw.net]
- >>260
乗っ取るのではなく、お前が移動しろよ馬鹿タレ 【初心者歓迎】C/C++室 Ver.103【環境依存OK】 https://mevius.5ch.net/test/read.cgi/tech/1530384293/
- 271 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:01:29.95 ID:CBV5hJrX.net]
- >>259
いやそもそもは速度が必要なのでC++選んだ(C++については素人なので、何故自分のコードが遅いかわからない)、という話 最初の質問は何もおかしくなかったよ 前スレはもう読めないかもしれんが。 もういい加減自分で進められるだろうからいちいち報告しないでほしいが
- 272 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:20:05.41 ID:v8CmSWWw.net]
- STLつかうと一気に実行ファイルサイズが10倍に?!
環境によるだろ。 俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力 ランタイムを使用するようにして使っているが、例えばstd::vectorを 使っても使わない時と比べ10Kほどしか増えない すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。 C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。 とかいうエラーが出るんだけどこれってどうすればいいの? #include <stdafx.h> 後死ね。 言葉が悪いな。それで教えているつもりか。 まぁヒントぐらいにはなったな。 うむごくろう。 いつまでこの糞テンプレ張り続けるんだおい ---- テンプレ ここまで ---- >>263 なんだかんだでこのテンプレが馬鹿よけとして素晴らしく機能してたって事だよ。 それを嫌う奴が無理に剥がそうとした結果、このザマだ。 このテンプレはこのスレを極めて的確に表現しているし、C++のノリはこれだよ。 しかし、スレ検索するとC++スレって40もあるのな。正直びびったわ。 適切なスレを探すことも出来ない馬鹿にはC++なんて無理だってことでしかないが。
- 273 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:38:35.94 ID:v8CmSWWw.net]
- >>263
これか? (専ブラでは読めないが、今はdat落ちしないので、通常ブラウザなら過去スレは基本読める) > 743デフォルトの名無しさん (アウアウウー Sa0b-sule)2018/07/07(土) 23:53:17.73ID:HbEbhDY0a > LINUXで15GBくらいのテキストファイルを読み込
- 274 名前:ンこんでGUIを作ろうとしています。
> ファイルが大きいため速度が出せる言語で、かつGUI作成は情報量が多いと調べやすいので、まあまあメジャーな無料のGUIライブラリを使用したいと思っています。 > > perl>>python>>>>C++ の順で経験があり、C++はあまり詳しくないですが、速度重視でC++で行こうと検討しています。 > GUIライブラリを調べているのですが、C++のGUIはあまり情報を見つけられず、めぼしいのはQtくらいしか目に付きませんでした。 > 会社のサーバのローカルディレクトリにQtをインストールしてみましたが、必要なライブラリが古かったりで、インストールできませんでした。 > > 他に何かおすすめなGUIライブラリはありますでしょうか? > https://mevius.5ch.net/test/read.cgi/tech/1528382412/ ならC++選んでいる時点で間違いだろ。 理由は教えてやらないが、当然そうだからこそ、適切なライブラリがない。 というか、本当に初心者でないのなら、 適切なライブラリがない=みんなやってない=地雷臭を感じとれっての。 C++で書けば何でも速くなると思っている馬鹿、最近増えたよな。何故かは知らんが。 [] - [ここ壊れてます]
- 275 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:52:15.60 ID:MsjPsnRN.net]
- くだらない選民思想はやめた方がいいよ、C++をベターCとしてしか使えない人でも
素晴らしいソフトを書き上げてる人は腐るほど居る 大体選民思想に走るやつってC++を実用してないやつなんだよなぁ・・・
- 276 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:54:27.06 ID:MsjPsnRN.net]
- >>265
読めるなら読んでから言えよ >適切なライブラリがない。 >みんなやってない=地雷臭を感じとれ 俺ゲーム屋なんだけど、居た会社はどこもみんな自社でライブラリというかフレームワーク作ってる 全部地雷なのか? お前アマチュアだろ?
- 277 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 20:55:36.48 ID:VnR4R5Pj.net]
- >>253,257
ご意見ありがとうございます。 自分にはもったいないくらいの洗練されたコードまで出して頂いてとても感謝しています。 アドバイスの通り、頂いたコードを元に自分で調べて見ます。 また色々やってわからないことろがありましたらご相談させてください。 あと、このスレはこれからも拝見させていただきたいと思います。
- 278 名前:デフォルトの名無しさん [2018/07/25(水) 21:34:44.04 ID:EWaeEahr.net]
- 共有ポインタがC++に正式採用されたことで、JavaなどGC機能を持った他言語の優位性が薄れたわな。
コンパイル速度も上がったし、開発機のメモリも増えたしで、昔よりC++を使うストレスが軽くなった。 なので皆、C++に回帰してくる。
- 279 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 21:47:04.47 ID:WkyhwwwQ.net]
- >>265
うわっ なんだこの初心者丸出し野郎 >>266 > C++をベターCとしてしか使えない人でも 使えない じゃなくて いろいろと判断してそういうコードに意図的にするんだよ そう判断する理由の例としては 互換性 パフォーマンス コードサイズ 開発工数 / 評価工数 等々
- 280 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 21:52:55.17 ID:99/tYlRK.net]
- >>267
話の内容から読む価値が全くないと分かるから読まないんだよ。 つか、初期はみんなまともな指摘してるじゃねえかよ。 ガン無視して今の有様のようだが。 > お前アマチュアだろ? お前も無駄マウントするのではなくて、実力は投稿で示せよ。 そもそもC++用ゲームエンジンはありまくりだろ。 C++はその用途に向いているからみんな使ってる。だからそういう現実がある。 俺はそういうことを言ってるんだよ。 (日本の会社は何故かプロプライエタリに拘っているのも事実だが)
- 281 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 22:11:44.07 ID:MsjPsnRN.net]
- >>271
>お前も無駄マウントするのではなくて、実力は投稿で示せよ。 俺は半角のコードでいんじゃね?と思ったんで何も言わんかったw >C++はその用途に向いているからみんな使ってる あーそういうことか でも構文解析をC++でやるのは決して間違いではないと思うけどな
- 282 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 22:18:29.68 ID:WkyhwwwQ.net]
-
- 283 名前:P純な構文解析を大量に行う
なんて処理はCやC++がぴったりと思う [] - [ここ壊れてます]
- 284 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 22:25:44.36 ID:exbGUQmA.net]
- まあ新しい機能がバンバン入る言語やライブラリってのは選民思想が湧きやすいもんよ。
昔からこの業界のそういうところは変わらん。 そしてそういうものがレガシーコードを量産するという現実も変わらん。
- 285 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 23:04:43.31 ID:99/tYlRK.net]
- >>272
> でも構文解析をC++でやるのは決して間違いではないと思うけどな 大昔:yacc/lex 昔:bison/flex 最近さらに何か出てたと思ったが、使う気がないので忘れた。 そもそも元が15GBあって、それを全部目で見るわけないだろ。 単純には grep -i error とか、複雑ならいちいちperl等で切り出して眺めるもの。 やってることが最初から見当違いなんだよ。 仮に15GBのテキストを開けるテキストエディタを作ったとして、 スクロールバー長が1500pxあったとしても10MB単位でしかなく、 ドラッグアンドドロップでのスクロール操作は使い物にならない。 当然、マウスホイールで数行単位、クリックで1画面単位でスクロールしても埒が明かない。 結果的に行数じか打ちのジャンプしかないんだから、sedでいい。 俺が教えてやらねえ、って言ったのはこの件ではないけど、 「誰もそういうことをやらないからそういうもの(ライブラリ等)がない」ってのはあるから、 初心者なりにちゃんと考えろって事だよ。 上記は初心者でも理解できるだろ。気が付かないのは考えてないだけ。 そんな奴は勝手に死んでよし。
- 286 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 23:18:30.44 ID:MsjPsnRN.net]
- >単純には grep -i error とか、複雑ならいちいちperl等で切り出して
確かそれはやりたくないって言ってたと思う まぁ、俺もテキストのまま扱うのはどうかとは思ったけども 別に内容書き換えるわけじゃないんだしトータルでもメモリ上に残す情報は 大した量にはならないだろうから全部読めばいいじゃん、テキストは内容を理解したそばから捨てていいんだから (用途が俺もわかってないからどっちがいいか不明だけど、初めて使うウインドウを開いたときに ファイルアクセスと構文解析のラグを許容できるか、それとも立ち上げ時のラグを許容できるかどうか) ってまぁ、さんざん既出なんでこのネタはもうやめようw
- 287 名前:デフォルトの名無しさん [2018/07/25(水) 23:21:30.63 ID:n4Pkvb3R.net]
- オレのコードのエレガントさが分かるようならまだ芽はある
オレのコードのエレガントさが分かるなら、もう一人でコードが書ける これからも頑張り精進したまえ 低学歴知恵遅れニートのいうことなんかほっとけばいい >>275 ← こういう低学歴知恵遅れを見れば分かるとおり 相談してる相手がまずなにがやりたいのか全く理解できてない まず知能に著しい欠陥があるからまずなにごとであれ 要件というもんが理解できないのは間違いない オマエも人に仕事をたのむだけの立場になったらな >>275 ← こういうバカには仕事を頼んではダメだ ということもこのスレで学べたハズだ コレもこのスレで得た貴重な体験だ コミュニケーション能力がゼロのニートみたいなヤツだからな こういうヤツは 間違いなくこっちがお願いしたもんとまったく違うもんあげてくる つまりこんなヤツには最初から仕事頼んだり関わらないのが吉 こっちの余計な手間と時間だけがかかるからな このスレは、色々学ぶことができる これからもちゃんとこのスレ読んで精進しなさい
- 288 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 23:28:31.94 ID:EWaeEahr.net]
- sqliteはメモリ上にデータベースを構築できる。
どうせやるならsqliteに勝てるような車輪の再発明を期待したい。
- 289 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 23:31:38.85 ID:EWaeEahr.net]
- ramdiskで良くね?と
- 290 名前:「うのもある。 []
- [ここ壊れてます]
- 291 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 00:14:32.88 ID:yqOLTJbQ.net]
- >>276
ってかまじな話、正解だと思えるレスも散見されてるぞ。 無視してるんだからどうしようもないが。何がやりたいんだこの馬鹿は? なお、俺的に正解と思えるのは、以下。(見落としあるかも) ---- 773デフォルトの名無しさん (ワッチョイ e7c3-WPlw)2018/07/08(日) 23:16:50.92ID:w/p0hjmq0 テキストのパースなんてそれこそperlやpythonにやらせろよ そんなところが速度にクリティカルに効いててゴリゴリ高速化しなきゃいけないのは作りがおかしい 866デフォルトの名無しさん (ワッチョイ 5fb3-C8Iw)2018/07/09(月) 22:41:30.68ID:Xc+Rjkat0 最低限のパースを実施して各レコードのオフセットを配列に入れて必要になった時に解析して表示すればいいだけかと 873デフォルトの名無しさん (ワッチョイ e7c3-WPlw)2018/07/10(火) 01:34:56.63ID:C7bP6ErJ0 なんかのログなんだろうけど、ログ吐く時に読み込みやすいように出し方考え直した方がいいよ 大本が変えられないならパイプ繋いでフィルタ噛まして、読みやすいように直したファイルを並行して吐くとかさ というかまず単にSECTION_NAMEごとにファイルぶった切っておくだけで良かったりしない?難しく考えすぎてない? 874デフォルトの名無しさん (ワッチョイ e7c3-WPlw)2018/07/10(火) 01:46:08.72ID:C7bP6ErJ0 どういうGUIが必要なのかわからんから的外れかもしれないけど ワイならSECTION_NAMEごとに集計したHTMLファイルかなんかを出力するプログラムをワンパスかけてから 後でそのHTMLをブラウザで見ることを考えたくなるんだけどそれじゃダメなの? 880デフォルトの名無しさん (ワッチョイ 4750-SFkP)2018/07/10(火) 07:31:15.21ID:wSs+8Os00 初めて開くファイルは使いやすいように変換して(キャッシュとして)保存しておいて 次回以降それを使うか 全ファイルバッチ処理で事前に変換しておくか かな ファイルを開く度に分オーダーかかるのは使いづらい どちらが良いかは使い方次第で
- 292 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 00:15:01.25 ID:yqOLTJbQ.net]
- まあ、俺ならperlで15000のファイルにあらかじめパースしてぶった切って、lessで見るね。
テンポラリファイルの有効/無効はタイムスタンプをチェックすればいいだけだし。 初心者は(選択肢を思いつけないから)無駄に難しい選択をしてはまることはよくあるけど、 正解をガン無視しているんだから死ねでしかないね。 これではお前ら的にもどうしようもないわな。 嘘を嘘と(ry は当然だが、 正解を正解と(ry だな今回は。
- 293 名前:デフォルトの名無しさん [2018/07/26(木) 00:27:42.26 ID:/19Lz3R7.net]
- やっぱりなコレが低学歴底辺の限界
わかるわ 所詮、低学歴底辺のドカタ 低学歴底辺のドカタは自分でログ見るらしいからな すぐに分かるのが恐ろしい このスレにはそんなのしかいないわ
- 294 名前:デフォルトの名無しさん [2018/07/26(木) 00:30:53.03 ID:/19Lz3R7.net]
- クソニートの趣味のぱちょんこん講座の邪魔されて
クソニートどもがイライラしてるのはわかるわ クソニートのツールなんかクソニートしか使わないからな クソニートらしい発想といっていい まず自分がどうするありきだからな 自分以外の人間なんか関係ない クソニート臭がプンプンする やっぱりなニオイは隠せないわ
- 295 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 05:31:33.95 ID:rsKHES0B.net]
- 自己紹介乙
- 296 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 07:10:18.33 ID:QCphLLid.net]
- 前スレからID追うと、このスレ立てたの15Gテキストの質問者で
ワッチョイとテンプレを失敗してる いっそワッチョイ付きで立て直して、ここは放棄するのもありじゃないかな…
- 297 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 08:02:19.67 ID:wiCSHgxo.net]
- 失敗してるワケねーんだよなぁ
ワザとだろ 俺TUEEするためだけに立てられたクソスレだよw
- 298 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 08:03:29.18 ID:wiCSHgxo.net]
- やってることがTUEEとDANZAI、アホなSS未満のクズだろ
だからワッチョイは無いw
- 299 名前:デフォルトの名無しさん [2018/07/26(木) 15:23:01.83 ID:MiqKt3xH.net]
- 世の中のパーサーは入力としてストリームを想定する場合が多い。
一方、OSはストリームを想定しなくなってきている。 IOCP、epoll、kqueue等を想定するプログラムにとって、必要なものは、一文字入力すると状態が変わるようなプッシュ型パーサーではないだろうか。
- 300 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 22:05:05.87 ID:SqpdcEmq.net]
- 文字列変換を質問したい
- 301 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 22:11:39.16 ID:SqpdcEmq.net]
- 途中で送ってしまった...
キャラポインタをビーストリングに変換したいです マ ルチバイトトゥーワイドキャラでよい? 今やってるのだけど一切できなくて辛い 環境はウィンドウズです エヌジーワードのためカタカナ混ぜてます
- 302 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 22:43:19.63 ID:vMAtbXfy.net]
- >>290
C++的な回答をするなら、BSTRをラップしたCComBSTRクラスを使ったほうが楽だしドキュメントも多くていいと思うよ。
- 303 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 22:54:29.47 ID:ekCvPRG2.net]
- >>291
そんなのがあるんですね コム使うのは良いのかわからんな...
- 304 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:22:38.59 ID:vMAtbXfy.net]
- >>292
すでに知らないうちにCOMを使っているはずなので、今更COMを使ってよいか気にしなくていいよ。
- 305 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:23:33.36 ID:JU6NqyqF.net]
- >>285
俺は賛成。STLのテンプレもありでよろしく。 (まあ俺が賛成しても大局に影響はないが…)
- 306 名前: mailto:sage [2018/07/26(木) 23:29:25.64 ID:vjtcTWe7.net]
- >>294
別にテンプレがあろうとなかろうと、スレに投稿される内容に変わりはしない、と思うのですが? もしかして「おまじない」とかが好きなんですか? 半角氏は連続して投稿する傾向にあり、IDだけで割合に弾けるのでワッチョイは要らないと思っています
- 307 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:42:18.00 ID:5Jkoyh2A.net]
- あんなテンプレいらんだろ…
まさか自分が作ったとか?
- 308 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:55:55.79 ID:JU6NqyqF.net]
- >>295
> テンプレがあろうとなかろうと、スレに投稿される内容に変わりはしない ならあってもいいって事になるが、それに対する反論は? 俺はワッチョイもあのテンプレも機能してたと見ている。 実際、もう初心者要らないんじゃ、って話になってたのは事実だろ。 お前がそれに反対したのも事実だが。
- 309 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:59:13.70 ID:OhRJcz2i.net]
- >>280
ご意見ありがとうございます。 SECTIONごとの切り替え目安は下記の時間でSECTIONを切り替えながら別のGUIソフトでマウスを使って改善していきます。 @数値の数が一桁〜二桁程度だと数分で切り替え、 A数百〜数千レベルだと数十分〜数時間で切り替え、 Bそしてまた再実行しファイルを読み込み@に戻る 初期の小さい規模ではSECTION数が数十個で、各SECTIONの数値の個数はせいぜい数百レベルなのでSECTIONの切り替えが頻繁に発生します。 そして@〜Bを回すのが数十分〜数時間くらいでそれをくるくる回します。 数ギガレベルになるのは終盤になってからです。 という感じなのでファイルの再生成が頻繁に行われ、かつGUIでマウスで改善していくので マウスが手放せず解析表示もGUI操作が必須になる、という感じになっています。 小さい規模では特にSECTION切り替えが頻繁に発生するのでファイル分割で管理がわずらわしくなるのを避けたい。 まずここに重点を置き、そうすると大きい規模では読み込み時間がネックになるので高速化で対応しよう。 という状況で現在に至っているところでした。
- 310 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:01:55.2
]
- [ここ壊れてます]
- 311 名前:5 ID:wdZoBIJt.net mailto: >>298
死ねよゴミ。 俺はお前が正解を全部ガン無視したことを咎めてるんだよ。 [] - [ここ壊れてます]
- 312 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:03:32.92 ID:o3vIRrYt.net]
- >>293
そんなもんなんだ Char**→LPCWSTR変換ってsetlocale使う方法しかない?
- 313 名前: mailto:sage [2018/07/27(金) 00:13:35.77 ID:dNDh2QHO.net]
- >>297
>ならあってもいいって事になるが、 そうではなく、すでに在るこのスレを放棄する必要はない、と主張したつもりですが 同様に、例のテンプレが張ってあるスレの存在下で、新たにテンプレなしの新スレを作る必要もない、と考えます
- 314 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:32:44.94 ID:27BaLAkY.net]
- >>300
setlocaleは関係ない。setlocaleは、C関連の設定をすべて変えてしまうので、ここでは呼ばないほうがいい。 MultiByteToWideChar() で可能。 出力用のLPWSTR バッファは、スタックなりmalloc, new, std::vector<wchar_t> なりで確保したヒープメモリを使い、 受け取ったLPWSTR バッファの中身をCComBSTRのインスタンスにコピーするのがいいと思う。
- 315 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:44:14.53 ID:wdZoBIJt.net]
- >>301
> そうではなく、すでに在るこのスレを放棄する必要はない、と主張したつもりですが じゃあそう書けよドアホ そしてその場合は285に安価しろ まあとにかく、俺は新しくスレを立て直すことに賛成だ。 あのテンプレも機能してたと思う。 そして15GB君と半角キチガイには何も教えてやる気はない。 スレ住民が出来ることは、正答例を提示することのみであり、 今回はこれは複数人から十分為されている。 ゴミなのは質問者および半角キチガイ馬鹿だけであり、 ワッチョイが意図的に落とされたことにより荒らされていると懸念されるのなら、 このスレを破棄して新しくワッチョイスレでやり直すのは極めて妥当だ。 んで、ついでに正解提供者がHDDの速度について知らないようだから教えておいてやる。 サーバーのHDDは一般にRAIDになっており、スループットだけはいくらでも上げられる。 詳しくはググッた方が分かりやすいからそうしろ。 なお一般PCも今時はRAIDを標準装備しているが、 1. そもそも複数HDDを接続しない 2. マザー等HDD以外の故障の場合に余計に死ねる ので一般PCでRAIDを構成することはあまり無い。 また、SSDが速いのはランダムリードであり、 シーケンシャルライト(ログ吐き)の場合はHDDの方が速かったりしたはず。 質問者と半角キチガイは死ねでしかないが、 正解提供者が疑問に思っていることがあれば、知ってれば答えてやるよ。 スレの質を上げる為に努力した奴らは報われるべきだと思うから。 今回は質問者が悪すぎた。これはご愁傷様。
- 316 名前:デフォルトの名無しさん [2018/07/27(金) 00:49:14.72 ID:X8KcH05s.net]
- オレが強いワケがないからな
クソニートどもがよわっちいだけだからな クソニートどもが社会人に勝てるワケがない クソニートどもがとてつもなく弱いワケ その自覚がないのが恐ろしい
- 317 名前:デフォルトの名無しさん [2018/07/27(金) 00:50:56.55 ID:X8KcH05s.net]
- クソニートどもの戯言が正解だって()
身の程知らずもいいところ クソニートどもはクソニートの狭い世界で すべてが完結してるからな その自覚がないから救いようがない
- 318 名前:デフォルトの名無しさん [2018/07/27(金) 00:53:36.63 ID:X8KcH05s.net]
- このスレに相談してくる人間は
クソニートのアドバイスなんか求めてないわけ? わかる? オレみたいなプロフェッショナルに回答を求めてるわけ クソニートのテキトーな戯言なんかだれも求めてない わかった?
- 319 名前: mailto:sage [2018/07/27(金) 00:54:58.75 ID:dNDh2QHO.net]
- >>303
>あのテンプレも機能してたと思う。 根拠は? >ワッチョイが意図的に落とされたことにより荒らされていると懸念されるのなら、 >このスレを破棄して新しくワッチョイスレでやり直すのは極めて妥当だ。 新しくスレを立てても、そのスレにて半角君や150G君が発言を継続するのであれば、事態は変わらないのでは? 月並みな話だけれども、単にスルー力が足りないだけなのでは? 5年、10年とスルーし続けることも必要な場合はあると思います
- 320 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:56:25.04 ID:A3iaMhaK.net]
- わかった
- 321 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 01:18:44.81 ID:wdZoBIJt.net]
- >>307
なるほどお前とは話が通じないことは分かった。 お前が嫌われるのも納得だ。 > 根拠は? 先に「機能してなかった」根拠を提示してみろ。 > 事態は変わらないのでは? ワッチョイがあればここまで酷くはならない、というのが彼の見方で、 俺もそう思う、ということ。 というかマジでお前話の内容について来れてないだろ。 無理して食いついてこなくてもいいぞ。邪魔でしかないから。
- 322 名前:デフォルトの名無しさん [2018/07/27(金) 01:25:39.79 ID:X8KcH05s.net]
- もうねクソニートが必死でしょ
すぐにクソニートなのはレスですぐにバレちゃうからな コイツの脳内ではインフラとソフトウェアすら組織で分離されてないみたいだからな クソニートの自作パチョコンの世界を そのまま脳内で再現してる
- 323 名前: mailto:sage [2018/07/27(金) 01:33:55.71 ID:dNDh2QHO.net]
- >>309
>先に「機能してなかった」根拠を提示してみろ。 私は「機能していた」とも「機能していなかった」とも主張していませんが あなたは >>303 「機能していた」と判断しているのであれば、その理由もおしえていただけませんかね >ワッチョイがあればここまで酷くはならない、というのが彼の見方で、俺もそう思う ワッチョイは有効期限が長すぎるし ID とちがって専用ブラウザでの機能が充実していないからね… 私は ID で快適にスルーするべきものはスルーできていて無問題なんですけれどもね
- 324 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 04:56:28.85 ID:/nUzesew.net]
- HTML出力を正解だと思ってるやつや
size_t使ってる場所で出るコンパイルエラー程度で「動くコード書けよ」とか 恥ずかしいこと言った上に、謝りもしなかった初心者が 偉そうに仕切ってるスレって・・・w
- 325 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 06:57:19.44 ID:Mz+rSfRQ.net]
- コンパイルエラーが出るのはまずくない?
- 326 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 07:04:43.26 ID:m0uy41dr.net]
- 紙上コードでタイポするぐらいいいだろ!
- 327 名前:デフォルトの名無しさん [2018/07/27(金) 08:03:50.66 ID:u6e3tzrN.net]
- ワッチョイがあればQz弾けるやん。
- 328 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:28:06.62 ID:NS0U2LcD.net]
- >>309
他のスレにはないのだから要るって主張してるほうが根拠を示すべきだろ。
- 329 名前:デフォルトの名無しさん [2018/07/27(金) 08:48:04.76 ID:u6e3tzrN.net]
- >>316
このスレにはQzが粘着してるやん。
- 330 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:55:01.54 ID:NS0U2LcD.net]
- >>317
テンプレが何の役に立つの?
- 331 名前:デフォルトの名無しさん [2018/07/27(金) 09:04:30.33 ID:u6e3tzrN.net]
- >>318
テンプレは俺が荒らしたから出来たものだし、あのテンプレがあると俺は恥ずかしくて荒らせない。 そこら辺の経緯を知りたいか?
|

|