タグ

2014年5月28日のブックマーク (3件)

  • 2014-05版:1歳児の長男が楽しんでいる絵本 : D-7 <altijd in beweging>

    2014-05版:1歳児の長男が楽しんでいる絵本 : D-7 <altijd in beweging>
    lestrrat
    lestrrat 2014/05/28
    自分用ブクマ
  • Goroutine Synchronization : D-7 <altijd in beweging>

    (以下はgo 1.2.x時点での話です。将来的に仕様がかわるかどうかはわかりません) これを読んでいて、こういうの気にしてない人多いんだろうなーと思って、書いてみます。元のポストはdeferの挙動について語っているように見受けられるけれども、これは要は複数スレッドで実行されるコードについて、プログラム終了時に同期とか取りたくない、という話だと思ったので、このポストのdeferを正しく動かすには…というところからどういう形でgoroutine同士で同期を取る方法があるのか、一例を書き出していきます。 TL;DR; goでいくらgoroutineが気軽にかけるからと言って、複数スレッドで処理が行われているので同期はキチンとやらないとダメですよ。 deferの基 goではLLのノリでコードを書けるのが売りの一つですが、メモリ管理はしてくれるものの、様々なリソース解放も全て自動というわけではあり

    Goroutine Synchronization : D-7 <altijd in beweging>
    lestrrat
    lestrrat 2014/05/28
    自分用ブクマ
  • Perlでのメモリ開放について - skozawa's blog

    Perlで大規模な処理をしたときに、メモリに気を使わないといけないことがあって、メモリの開放について調べたときに、以下のページを見て、スコープ外れただけではメモリ開放されないことを知ったので、自分でも試してみた。 http://skitai.blog98.fc2.com/blog-entry-49.html メモリ使用量の確認には Devel::MemUsed を利用。昔はcpanにあったぽいけど、今はないようなので、https://github.com/jozef/devel-memused からcloneして使う use v5.14; use strict; use warnings; use lib glob "modules/*/lib"; use Devel::MemUsed; my $mem_used = Devel::MemUsed->new; $mem_used->rese

    Perlでのメモリ開放について - skozawa's blog
    lestrrat
    lestrrat 2014/05/28
    最後の例とかはスコープの切り替わりがないからじゃないの?undefを{}とかでくくればGCが走るチャンスがあるからちゃんと処理されそう