Go の文字列結合が遅い理由 ― Count and Say で学ぶ高速化の要点
概要
- LeetCode の “Count and Say” 問題で、Go 言語における
stringと[]byteの性能差が顕著に生じた。 - 自前で書いた RLE(Run-Length Encoding 風)実装では 8 ms、公式サンプルでは 0 ms。
- この差を生んだ原因は、文字列のイミュータビリティとメモリ割り当ての仕組み、数値変換コストだった。
hatena.go #2 に参加しました
【読書感想】プロジェクト駆動の情報整理術―『SECOND BRAIN 時間に追われない「知的生産術」』
『SECOND BRAIN 時間に追われない「知的生産術」』では、情報管理と知的生産を効率化するための中心的な手法として、CODEとPARAという2つのメソッドが紹介されています。以下に気になった箇所をメモしておきます。
続きを読む【JavaScript】遅延実行と即時実行の違い
コールバック関数を渡すべき処理に関数呼び出しを渡してしまい意図した動作にならない。開発中によく間違えたので、備忘録代わりにまとめます。
TL;DR
- 「関数を渡す」= 遅延実行、「関数を呼び出して結果を渡す」= 即時実行という違い
- 関数そのものを渡すか関数の呼び出し結果を渡すかで実行されるタイミングが異なる
- 必要なときに関数を実行するなら関数を渡す。今すぐ実行したいなら関数をコールする