MarkdownPreview
MarkdownSharpと.NetのWebbrowserを使ってプレビューを試みる.
Markdownをプレビューするだけの機械.
カンファレンスのメモ取りに, Markdownを使おうとしたことがあった.
しかし, スタンドアロンのエディタに満足できそうなものがない.
VimのMarkdownプレビューも試したが満足できなかった.
時間ができたので作ったよ.
気に入らないところがあれば好きに弄るがいいです.
2016年9月14日水曜日
2016年8月1日月曜日
2016年7月30日土曜日
2016年7月29日金曜日
population count
32bitのpopulation count
1のビットを数え上げる
コンパイラ組み込み関数を使わない場合,
1のビットを数え上げる
コンパイラ組み込み関数を使わない場合,
inline u32 population_count(u32 v)
{
v = (v & 0x55555555U) + ((v>>1) & 0x55555555U);
v = (v & 0x33333333U) + ((v>>2) & 0x33333333U);
v = (v & 0x0F0F0F0FU) + ((v>>4) & 0x0F0F0F0FU);
v = (v & 0x00FF00FFU) + ((v>>8) & 0x00FF00FFU);
return (v & 0x0000FFFFU) + ((v>>16) & 0x0000FFFFU);
}
gccの組み込み関数,int __builtin_popcount(unsigned int x)VCの組み込み関数,
unsigned int __popcnt(unsigned int value)
2016年7月8日金曜日
C#クロージャのUnity3Dにおけるコストについて
前回に引き続きクロージャです.
クロージャを実現するために, コンパイラは裏側でクラスを作成します.
もしスマートフォン向けのアプリケーションを開発しているのならば,
これだけでも高いコストを支払っています.
かなり強引な例ですが, 以下のようなコードの場合を考えます.
Destroyボタンを押してから, Unloadボタンを押してもテクスチャは解放されません.
Clearボタンを押してから, Unloadボタンを押すことで解放されます.
クラスはどこかから参照されているかぎり, ガーベージコレクタによって削除されません.
明らかにLoaderの実装に欠点がありますが,
texture変数は, コード上ではスコープから外れて参照が切れているように見えてしまっている、
ことも問題です.
クロージャを実現するために, コンパイラは裏側でクラスを作成します.
もしスマートフォン向けのアプリケーションを開発しているのならば,
これだけでも高いコストを支払っています.
かなり強引な例ですが, 以下のようなコードの場合を考えます.
Destroyボタンを押してから, Unloadボタンを押してもテクスチャは解放されません.
Clearボタンを押してから, Unloadボタンを押すことで解放されます.
クラスはどこかから参照されているかぎり, ガーベージコレクタによって削除されません.
明らかにLoaderの実装に欠点がありますが,
texture変数は, コード上ではスコープから外れて参照が切れているように見えてしまっている、
ことも問題です.
登録:
投稿 (Atom)
