タグ

ブックマーク / qiita.com/methane (3)

  • mimalloc のメモリ管理 - Qiita

    Microsoft の mimalloc は面白い割り切り方で、小さいソースコードで高速なアロケータを実装しています。 確保するメモリブロックのサイズを、 Small (~8KiB), Large (~512KiB), Huge (512KiB~) の3つに分類し、 Small と Large は同じアルゴリズムで管理し、 Huge は OS 任せにして、 Small と Large は同じアルゴリズムをうまく利用しています。 基礎 OSはpage (x86では基 4KiB) ごとにメモリをプロセスに割り当てています。 しかしアプリケーションではずっと小さいメモリブロックが必要になることが多くあります。また、必要になるたびに毎回OSからメモリを割り当ててもらうのはパフォーマンスも悪いです。 mimalloc やその他の malloc 実装 (以降 malloc と呼びます) は OS か

    mimalloc のメモリ管理 - Qiita
    potato777
    potato777 2019/07/16
  • Python 3 で少しだけ便利になった datetime の新機能 - Qiita

    datetime モジュールは Python の標準ライブラリの中でも、使用頻度が高い割に罠が多かったり使い方が難しかったりする、あまりイケてないモジュールだと個人的に思っています。 そんな datetime モジュールですが、 Python 2 のプロジェクトPython 3 に移行した時に大分コードを整理できてちょっと感動したので紹介しておきます。 unixtime との相互変換 unixtime から datetime.datetime への変換は、 ローカルタイムなら.fromtimestamp() で、 UTC なら .utcfromtimestamp() 関数で行います。 >>> import time >>> from datetime import datetime >>> now = time.time() >>> now 1415542873.099776 >>>

    Python 3 で少しだけ便利になった datetime の新機能 - Qiita
  • VimでGoのコードを書くときにやっておきたいこと - Qiita

    この記事は古いです。現在は misc/vim は存在しません。 vim-go を使うことを推奨します 準備: GOROOT と GOPATH の設定 vim にかぎらず、 Go を使う場合はGOROOT と GOPATH を設定しておきましょう。 GOROOT は Go をインストールした場所に、 GOPATH はあとで go get するときにインストールする場所を指定します。 export GOROOT=$HOME/local/go export GOPATH=$HOME/_go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin ただし、 Go を自分でビルドした場合は、 GOROOT の設定はいりません。 go をビルドした時のターゲットディレクトリが自動的に使われます。 GOROOT を設定しないことで、複数のバージョンの go をインストールして

    VimでGoのコードを書くときにやっておきたいこと - Qiita
    potato777
    potato777 2013/05/16
  • 1