Ut Video Codec Suite で使うテストフレームワークに Boost.Test を使おうと思ったので、とりあえず Windows にインストールしました。現在の最新版はバージョン 1.60.0 です。
Read the rest of this entry
Ut Video Codec Suite で使うテストフレームワークに Boost.Test を使おうと思ったので、とりあえず Windows にインストールしました。現在の最新版はバージョン 1.60.0 です。
Read the rest of this entry
チュートリアルをこなしたので実機 (iPhone) で走らせてみました。Apple Developer Program に登録しないで実機テストする方法についてはここを参照。
Read the rest of this entry
親のノートは Windows 8 なんですが、今月の Windows Update でサポート終了になったので、Windows 8.1 にバージョンアップしてました。
ストアで Windows 8.1 へのバージョンアップを選択…インストールできない。何度か弾かれた後バージョンアップ手順をよくよく見てみたら、Windows Update で「重要」扱いのものはデフォルトでチェックされないものであっても前もって全部あてておく必要がある、というのに気付きました。むーん。エラーメッセージに表示してよ。
よく考えたら Windows 10 にバージョンアップすべきだった気がしてきたのだけど、一応 Windows 8.1 のメインストリームサポート期限は2018年01月09日、延長サポート期限は2023年01月10日なので、ハードウェアの実用寿命の方が先に来るでしょうから結果的に問題なさそうです。無償バージョンアップできるうちにすべきかどうかは分からないですが…
Start Developing iOS Apps (Swift) を見ながらチビチビ進めています。Swift は末尾にセミコロンを書かない言語なので慣れません。書いてもいいみたいですけど。
チュートリアルを進めていくと、ビューに配置したコントロールを「Control-drag」してソースコード上にドロップ、という操作が出てきて、これが VNC 経由ではできないのでモニタを繋いで入力を切り替えて、ととても面倒なことになっていたのですが、右クリックしたコンテキストメニューからできることに5分ほど前に気づきました。
さて本題。Work with View Controllers の節まで来たところで、書いてある通りにやってもタップジェスチャーが通知されないという問題に遭遇しました。試しにストーリーボード上に UITapGestureRecognizer を配置するのではなく、ググるとヒットする以下のようなコードで書いてみてもやっぱりダメです。
override func viewDidLoad() {
super.viewDidLoad()
let gr = UITapGestureRecognizer(target: self, action: "tapped:")
photoImageView.addGestureRecognizer(gr)
}
func tapped(gestureRecognizer: UITapGestureRecognizer) {
print("tapped")
...
}
何があかんのや。
ちなみにこれより前の節にある、ボタンが押されたことをハンドルするとかテキストフィールドの編集状態を delegate で受け取るとかいうことは問題なくできています。
uOP$ に乗ってるかどうかの違いなんじゃないの、と指摘されました。uOP$ のことすっかり忘れてました。Sandy Bridge の uOP$ の解説記事はこんなのがあります(英語)
Read the rest of this entry
命令ベンチマークツールでループ中の命令数を増やすとスループットが下がる件にからんで、パフォーマンスを計測する方法一般についてちょろっとググったら、Linux の perf コマンドを使う記事を見つけました。ってこれよく見たら x86/x64 最適化勉強会で聞いたはずじゃん。
これの 3.2 の「アーキテクチャの理解」のところで、命令列が長いと IPC が下がる、というようなことが書いてあります(マイクロアーキテクチャは同じく Sandy Bridge)。
まあ、他の人のところでも同様のことが起こる、ということが(より詳細なデータとともに)分かっただけであって、なんで長い依存列があると遅くなるのかはよく分からんのですが。
最近、命令ベンチマークツールをもうちょっと汎用的に組めるように作りなおしているのですが、さっき試しに計測したら Sandy 上で pmovzxbw のスループットが 0.5 と出てきました。以前のツールで測った時は 1 になっていました。あれれと思って Intel の最適化マニュアルを見たところ、0.5 が正しいようです。あとよく見たら palignr も正しくはスループット 0.5 で、これまた以前のツールでは間違った値が出てきています。
Read the rest of this entry