<紙>流マイスター:久々に

2013-10-28 :  その他
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
3、2、1、1、0、 0、2、1、0、0(38)で、換算ポイント 57pt 。
・-・ - -・

さて、本文。

先日の、
Perl:Parallel-ForkManager
で、
  ・・・・・
  「Parallel::ForkManagerモジュールで並列処理が・・・」
    ・・・・・
    Parallel::ForkManager 使って並行ダウンローダ作った

    というサンプル付きで解説頂いてますが、
    素晴らしく楽にfork出来るCPANモジュールがあるんじゃないですか。

    で、詳しい内容はリファレンス見てもらうとして、
    以下の様に書き換えました。
    ・・・・・
    ・・・・・
    これは、「MPI」の代替として、<紙>の決定版か???
  ・・・・・
と書いた。

但し、
Perl:Windows版 Fork の機能
  ・・・・・
  OSとしての MS の Windows には、Linux と違って、Fork の機能が無い。
  なので、ActivePerl等(Windows版 Perl )では、
  Fork の機能をエミュレートしてくれている。
  ・・・・・
  なので、制約が有る。
  ・・・・・
  つまり、ほんもののプロセスじゃなくて、
  親プロセスの中のスレッドとして動く。
  だから、もろもろのリソースについての制限が付く。
  (疑似)子プロセスの全てをひとまとめにして、
  オープンファイル数、メモリサイズ、等々に制限が付く。
    でも、まあ、
  シングルで動いているものをパラレルにするなら大丈夫ですね。
  ・・・・・

と云うことで、Windows では制約があるものの使い物になる。

今回、
実運用(?)で利用する。



もう3年以上前(11-06-01)に書いた:
blogramカテゴリ・ランキング1位の数
  ・・・・・
  1件0.1秒(100mS)で処理すると、約20分。
  まあ、現実的かな?
  でも、連続的にページを読み込むのは、300mSほど掛かっていたような?
  だとすると1時間ほど掛かる。
  そうなると相手(blogram)の情報が変化しそうで、此もダメ?
  なんとか、10分程度で出来る方法は無いのかな?
  ・・・・

そして、翌日の記事:
blogram カテゴリの研究
  ・・・・・
  そうすると、123+432=555ページが処理対象。
  まあ、4~5倍なら、10分以内で処理できそう。
  取り敢えず、この方針でやってみるか?
  ・・・・・

と云うことで、約10分程度。

プログラミングでは、(11-06-06)
blogram カテゴリ・ランキング状況
  ・・・・・
  その後、
  設計:
  1.約120の「(カテゴリ)大集合」のページを総ナメして、
    そこにリストアップされている約11,500カテゴリのランキング情報を得る。
  2.ランキングブログが2件以下の約430カテゴリについて、
    各カテゴリ別のページを総ナメして、データを得る。
  3.上記で、blogram会員については、会員番号(uid)?を、
    非会員は、uid=0とする。
  4.両方の結果をマージする。
  5.会員番号で(ソートして)名寄せ(集計)する。
  6.(必要なら)件数でソートする。
  これで、ブログ別のランクイン・カテゴリ数のデータが得られる。
  プログラミング言語については、処理時間の殆どがWebアクセスなので、
  C言語で高速化する理由はなく、スクリプト言語で十分。
    続いて、
  製造:
  1本のプログラムでなくて、処理手順毎に別々に作った。
  (デバッグの容易性を考えて)
  上記2.のカテゴリ抽出は、アルゴリズムを考えるのに時間が掛かった。
  処理性能(処理時間)は、
  上記1.はネットワークの混み具合に依るが、45秒~1分くらい。
  上記2.では、3分~8分くらい。
  ・・・・・
でした。


今では一番時間の掛かる処理:
約1600件のページを読込む部分を4本並列処理にして、
(これは、URL 一覧ファイルを4分割して)プログラムを4本作り、
(手動で)4本を同時に起動して実行。
全体を、2~3分で処理していた。


最後に書いた記事は、

かれこれ半年前(13-05-03)になる:
<紙>流マイスター:その後
  ・・・・・
  今朝(2013-05-03 9:15頃)調べてみると、
  案の定、様変わり。
  最高は、
  十七冠で、全く知らないお方。
  (つまり、当時、八冠以上で無かったお方。)
  当時からのお方では、
  Bさんが、十四冠で総合二位。
  同じく、十四冠で、AGさん。
  以下、
  十二冠:AUさん
  十一冠:Tさん
  十冠:2名とも新顔。
  まとめると、
  ・・・・・
  ・・・・・



今回、この4本のプログラムを1本にして、
枝分かれ=並列処理= Fork 処理にした。
10並列が良さそうなので、やってみた。

全体で、1分30秒位にまで短縮できた。
(ネットの状況に依るが、1分程度?)


で、現在?(13-10-28 08:50)の状況:

上位者:
十三冠:1名
十一冠:4名
十 冠:7名

トップのお方は、
此まで知らなかった方です。
他にも殆どのお方々は初顔。


(カテゴリマイスター換算pt順)
--さん:13、2、6、3、0、 0、1、0、0、1 (48) 196
APさん:11、4、4、0、1、 0、1、0、0、0 (48) 169
AQさん:11、2、2、3、2、 0、2、1、0、0 (45) 157
--さん:11、3、0、0、0、 0、0、0、0、0 (44) 134
--さん:11、1、0、1、0、 0、1、1、0、1 (32) 125
--さん:10、8、1、1、1、 1、1、0、0、0 (45) 178
--さん:10、6、3、1、0、 0、0、0、0、0 (21) 170
Fさん:10、6、1、1、2、 0、1、1、2、0 (40) 166
--さん:10、4、1、2、1、 0、0、2、0、0 (48) 150
--さん:10、3、2、2、0、 0、2、0、1、0 (39) 147
AUさん:10、3、0、3、1、 0、1、0、0、1 (28) 140
--さん:10、2、2、1、0、 0、1、0、0、0 (45) 133
(右方の括弧内は、ランクイン・カテゴリの総数)
(更に右の数値は、マイスターポイント換算値)

で、
他の、常連のお方々は?

Bさん: 9冠、111pt
Dさん: 6冠、111pt
Tさん: 4冠、 90pt


先週(13-10-25)の、
スコア一斉見直し:昨日(13-10-24) 22頃~確定時刻 の間
の影響もあるのかナ?



見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


131021,22..26,27(110529,0606)
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク