タグ

2016年2月16日のブックマーク (5件)

  • C++11のスレッド、アフィニティ、ハイパースレッディング | POSTD

    背景と導入 何十年もの間、CやC++の標準規格は、マルチスレッディングや並行処理を「その標準の範囲を超えたもの」として扱ってきました。標準規格の目的である”抽象機械”の力が及ばない、”対象依存”という影の世界においてです。メーリングリストやニュースグループの質問には並行処理に関するものが山ほど寄せられましたが、それらにすぐに突き返された回答は「C++はスレッドには関知しません」という何とも冷淡なものでした。この件によって当時のことを思い出す人々は、今後も絶えないでしょう。 しかしC++11の登場で、そんな状況に終止符が打たれたのです。C++標準化委員会は、時代の流れに乗らないと、この先C言語が取り残されてしまうと悟ったのでしょう。彼らはスレッドや同期メカニズム、アトミック操作、メモリモデルなどの存在に、ようやく気付いたわけです。そして標準規格として、C++コンパイラやライブラリのベンダーに

    C++11のスレッド、アフィニティ、ハイパースレッディング | POSTD
  • Haskell ラムダ 超入門 - Qiita

    Haskellの文法に慣れて来た方を対象に、ラムダ式や高階関数を使って関数を取り回す方法を説明します。カリー化や部分適用も取り上げます。いわゆる関数型言語らしい機能です。 シリーズの記事です。 Haskell 超入門 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 ← この記事 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 Haskell 例外処理 超入門 Haskell 構文解析 超入門 【予定】Haskell 継続モナド 超入門 【予定】Haskell 型クラス 超入門 【予定】Haskell モナドとゆかいな仲間たち 【予定】Haskel

    Haskell ラムダ 超入門 - Qiita
  • Scala ラムダ超入門 - Qiita

    Scalaの文法に慣れて来た方を対象に、ラムダ式や高階関数を使って関数を取り回す方法を説明します。カリー化や部分適用も取り上げます。いわゆる関数型言語らしい機能です。 この記事は以下の記事のScala版です。故に、結構無理しているところもあります。 Haskell 超入門 練習の解答例は別記事に掲載します。 ラムダ式 今まで取り上げて来た文法では、関数の引数を左辺で定義していました。

    Scala ラムダ超入門 - Qiita
  • LLVM、GCC libstdc++をBSDライセンスのlibc++へ置き換え

    LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. LLVMがC++標準ライブラリとして新しくlibc++を含むようになった。LLVMはこれまでC++標準ライブラリとしてGCC/G++のlibstdc++を採用してきた。libc++はこれを置き換えることになるもので、BSDライセンスのもとで提供されている。libc++の特徴は次のとおり。 C++0Xをターゲットにして実装が進められている 高速コンパイル 高速実行 省メモリ libstdc++とのABI互換性あり 開発段階にありN3092実装の85%ほどを達成 BSDライセンスでの提供 GCC/G++ libstdc++ではなく新しくlib

  • Python: concurrent.futures を使った並行・並列処理 - CUBE SUGAR CONTAINER

    Python の concurrent.futures はバージョン 3.2 で追加された並行・並列処理用のパッケージ。 似たようなパッケージにはこれまでにも threading や multiprocessing があったんだけど、これはそれよりも高レベルの API になっている。 デフォルトでスレッド・プロセスプールが使えたり、マルチスレッドとマルチプロセスがほとんどコードを変えずに使い分けられるメリットがある。 下準備 使う Python のバージョンが 3.2 未満のときは PyPI にあるバックポート版のパッケージをインストールする必要がある。 $ pip install futures ただし、今回使う環境は Python 3.5 なので関係ない。 $ python --version Python 3.5.1 $ sw_vers ProductName: Mac OS X P

    Python: concurrent.futures を使った並行・並列処理 - CUBE SUGAR CONTAINER