ハイパフォーマンスな組織をつくるための開発生産性の考え方 / developer-productivity-high-performer-link-and-motivation
PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実
株式会社MMMの柳沼と申します。好きなリージョンは東京リージョンです。 弊社ではGo言語をプロダクションで使っています。 Go言語の特徴のひとつに、 goroutine を使って並列処理を容易に書ける、ということがあります。しかし、並列処理って同時にいくつ走らせればいいのか?について考えました。 まだ試行錯誤している最中で、内容に間違い・もっとこうするといいよ!などがあれば教えていただけると助かります。m(_ _)m また、実際goroutineを使った処理を実装するときはsync.WaitGroupを使うことが多いと思うので、記事内でもちょこちょこ使っています。 よく見るやり方 CPU数を使う、というのを割りとよく見ます(たぶん)。 func main() { fmt.Println("Start") loop("A") fmt.Println("Finish") } // ヘビーな処理
------- GND -- |01 31| -- +5V CPU A11 -> |02 32| <- M2 CPU A10 -> |03 33| <- CPU A12 CPU A9 -> |04 34| <- CPU A13 CPU A8 -> |05 35| <- CPU A14 CPU A7 -> |06 36| <> CPU D7 CPU A6 -> |07 37| <> CPU D6 CPU A5 -> |08 38| <> CPU D5 CPU A4 -> |09 39| <> CPU D4 CPU A3 -> |10 40| <> CPU D3 CPU A2 -> |11 41| <> CPU D2 CPU A1 -> |12 42| <> CPU D1 CPU A0 -> |13 43| <> CPU D0 CPU R/W -> |14 44| <- /ROMSEL (/A
PHPカンファレンス福岡2016の発表資料です。 この話は何回しても楽しいので再放送希望の方、お声がけください!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く