タグ

2019年11月21日のブックマーク (3件)

  • glc(go local cache) というライブラリを作りました - emahiro/b.log

    []byte でローカルにキャッシュを保存する glc (go local cache) というライブラリを作ってみました。 Motivation APIのレスポンスやそんなに頻繁に更新しないデータを一定時間ローカルにキャッシュとして持っておきたいケースは多いと思います。 Go であれば https://github.com/patrickmn/go-cache などのオンメモリにキャッシュするライブラリを使うのが一般的かなと思いますが、上記のライブラリは interface を受けて interface を返す仕様のため、Set するときはなんでも突っ込めば key に合わせてキャッシュをセットしてくれますが、取り出すときも interface のために取り出した側で適切にキャストないし、デコードすることが必要でした。 使う側でキャストすることに違和感があったのでそれなら使う側で []b

    glc(go local cache) というライブラリを作りました - emahiro/b.log
    i101330
    i101330 2019/11/21
    “使う側でキャストすることに違和感があったのでそれなら使う側で []byte にエンコードしてしまって、[]byte を受け取って []byte を返すだけの小さな仕様のライブラリがあってもいいかなーと思った”
  • Accelerating Envoy and Istio with Cilium and the Linux Kernel

    The document discusses how Cilium can accelerate Envoy and Istio by using eBPF/XDP to provide transparent acceleration of network traffic between Kubernetes pods and sidecars without any changes required to applications or Envoy. Cilium also provides features like service mesh datapath, network security policies, load balancing, and visibility/tracing capabilities. BPF/XDP in Cilium allows for tra

    Accelerating Envoy and Istio with Cilium and the Linux Kernel
    i101330
    i101330 2019/11/21
    わかりやすい
  • goで書いたコードがヒープ割り当てになるかを確認する方法 · hnakamur's blog

    2018-01-30 はじめに Allocation Efficiency in High-Performance Go Services · Segment Blog という記事を読みました。素晴らしいのでぜひ一読をお勧めします。 この記事は自分の理解と実際に試してみた結果のメモです。 一番のポイントは go build -gcflags '-m' のようにオプションを指定してビルドすればコードのどの箇所でヒープ割り当てが発生したかを確認できるということです。 pprof や go test -benchmem でもヒープ割り当ての発生回数は確認できますが、上の方法ではコードのどこ(何行目の何カラム目)でヒープ割り当てが発生したかとなぜ発生したかの理由を確認できます。 元記事の内容メモ 冒頭にあげた記事を読んで私が理解した内容のメモです。 元記事の全ての内容を書いているわけでないので、元

    i101330
    i101330 2019/11/21