idea

Gocon2025 Day1

go con day1のメモ。

Go1.24で進化したmap型について理解する

1.23 段階的に再配置する→マップ自体の負荷が高いから (結局CPU負荷は高かった)

チェイン法+オーバーフローバケット(連結リスト的な感じ)

  • オーバーフローバケットを辿る過程でキャッシュミスが多い

1.24 オープンアドレス方式 Quadratic probing

  • ハッシュの衝突=クラスタリングを軽減する(オープンアドレスの課題)

Control word 8 slot一括検証してパフォーマンスUP

Go で WebAssembly を利用した実用的なプラグインシステムの構築方法

WASM ・ブラウザ利用が当初の目的 ・Sandbox機構で安全に実行 ・いろんな言語から作れる ・言語問わず、WASMランタイムがあれば動く

プラグインの作り方→WASM以外の場合、Shared Library、RPC

WASI:WebAssembly System Interface (規格) Go で WebAssembly を利用した 実用的なプラグインシステムの構築方法Go Conference 2025 登壇資料 Speaker Deck

GoのinterfaceとGenericsの内部構造と進化

interface→辞書とGcshape Stencilling モノモーフィゼーション(コンパイル時展開)とランタイムの辞書渡しで実装されている ・1つの関数インスタンスを複数の方で動かせる

Genericsガイドライン:https://go.dev/blog/when-generics

全てGoで作るP2P対戦ゲーム入門

全てGoで作るP2P対戦ゲーム入門2025-09-27 | Go Conference 2025 Speaker Deck

analysis パッケージの仕組みの上でMulti linter with configを実現する

統合型Linterの作り方

なぜパッケージの仕組みの上でMulti linter with configが必要か ・それぞれのルールを設定で調整できるようにしたい

設定ファイルを読み込むだけのAnalyzerを置く

GitHub - k1LoW/gostyle: gostyle is a set of analyzers for coding styles.gostyle is a set of analyzers for coding styles. Contribute to k1LoW/gostyle development by creating an account on GitHub. GitHub

vetツールが汎用的になった時にやる。