タグ

2015年3月3日のブックマーク (7件)

  • 米Google、C/C++コードをHadoop上でネイティブに動かすフレームワーク「MapReduce for C(MR4C)」を公開 | OSDN Magazine

    GoogleがC/C++コードを「Apache Hadoop」上で動かすためのフレームワーク「MapReduce for C(MR4C)」をオープンソースで公開した。HadoopはJavaベースで実装されているが、このフレームワークを利用することで、C/C++で書かれたアプリケーションを直接Hadoop上で動かすことができる。 Apache HadoopはJavaで作成されたビックデータ分散処理技術。今回公開されたMapReduce for C(MR4C)はHadoop実行フレームワーク内でC/C++コードをネイティブに動かすことができるフレームワーク技術で、ネイティブコードで実装されたアルゴリズムが持つ性能と柔軟性を利用できるとしている。 作成されたアプリケーションは、ローカルのファイルシステムや任意のURI(Uniform Resource Identifier)にアクセスするネイテ

    米Google、C/C++コードをHadoop上でネイティブに動かすフレームワーク「MapReduce for C(MR4C)」を公開 | OSDN Magazine
    hiroyukim
    hiroyukim 2015/03/03
  • 雨の中、Cを書かずにPythonで並列計算をする人間がいてもいい。自由とはそういうものだ。 - Qiita

    Pythonの遅い部分をCで書き直すと実行速度が100倍になりました!(神奈川県・主婦・30代)」といった広告をよく週刊誌で見かける。しかし、型ゆとり世代にとってCはいささかハードルが高い。一方Python並列化ならば追加の手間はかなり少なくて済み、100倍とは言わないが数倍程度の高速化ができる。 並列化する計算 言うまでもないが、HTTP通信が律速になっているようなPythonでは並列化しても高速化されない。並列計算を要するのは大体、巨大なforループ計算である。例として以下のようなものを考える。 L = 20000 total = 0 for i in range(L): for j in range(L): total += i*j print (total) 手元のマシンでの実行時間は25.663秒。これを並列化によって高速化する。 Thread並列とProcess並列 並列化は

    雨の中、Cを書かずにPythonで並列計算をする人間がいてもいい。自由とはそういうものだ。 - Qiita
  • 非公開サイト

    サイトの構築。作品の販売。ブログの投稿。この他にもさまざまな機能があります。 ログイン サイトをはじめよう 非公開サイト このサイトは現在プライベート設定になっています。

    非公開サイト
  • argparseを使ってみた - そこはかとなく書くよ。

    追記: t2yさんが翻訳してくださいました。 argparseコマンドラインオプションと引数の解析 python 2.7からコマンドラインの引数を解釈するargparseモジュールが標準で入りました。 従来使われてきたoptparseは廃止されます。ただし、広く使われているところから他の廃止されるモジュールとは異なり消されることはなく、警告も標準では出ません。 optparseからargparseに移行する理由や廃止の進め方はPEP 389に記載されています。 以下にPEP 389の和訳を(訳に自信がない場所がありますが)行ないましたので参考にしてください。 http://www.tdoc.info/PEP-ja/389.html というわけで、ざっとargparseの使い方を勉強したのでここに公開します。間違ってたらご指摘ください。 なお、ちゃんとしたドキュメントは http://doc

    argparseを使ってみた - そこはかとなく書くよ。
  • 26.9. venv — 仮想環境の作成 — Python 3.3.6 ドキュメント

    Source code: Lib/venv venv モジュールは、軽量の “仮想環境” の作成のサポートを提供します。仮想環境には、仮想環境ごとの site ディレクトリがあり、これはシステムの site ディレクトリから分離させることができます。それぞれの仮想環境には、それ自身の Python バイナリ (様々な Python バージョンで環境を作成できます) があり、仮想環境ごとの site ディレクトリに独立した Python パッケージ群をインストールできます。 See PEP 405 for more information about Python virtual environments. このコマンドを実行すると、ターゲットディレクトリ (および必要なだけの親ディレクトリ) が作成され、その中に pyvenv.cfg ファイルが置かれます。そのファイルの home キーは

  • Python3.3のvenvを試す - YAMAGUCHI::weblog

    はじめに こんにちは、Python界の情弱です。最近は「勉強会」という名を借りたリクルーティングが行われているようですが、賢良なる読者の皆様におかれましては、主催者の主旨、講師の方々のブログおよび公開レポジトリ等をご確認の上ご参加されていることでしょう。 それはさておき、Python3.3の公式リリースの足音が聞こえて参りました。このマイナーバージョンアップは実は非常に大きく、2年の長きにわたって実施されていたLanguage Moratorium*1を終え、ついにPythonが3系として完全に後方互換性を排除し始めるバージョンとなるわけです。*2 そんな中私が個人的に一押し注目中のvenvモジュールについて調べてみました。 venv a.k.a pyvenv PEP 405 -- Python Virtual Environments 26.13. venv — Creation of

    Python3.3のvenvを試す - YAMAGUCHI::weblog
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 第1章関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる マルチコア環境が身近になった影響からか、勉強熱心なプログラマの間で関数型言語が話題になっているようです。関数型言語が奨励する関数プログラミングでは、これまで命令型言語で習得した、命令プログラミングの再代入を使う技法があまり通用しません。そのため、「⁠関数型言語は難しい」と言って途中で投げ出してしまう人も多いようです。 この特集では、関数プログラミングの習得を一度諦めてしまった人や、これから始める人のために、関数プログラミングのポイントをできるだけわかりやすく説明します。 筆者がわかるようになるまで 実は筆者も長い間、関数プログラミングを習得できませんでした。筆者は、長年Emacs Lispを使って、Mewというメールリーダーを開発して

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp