また Python+MySQL ネタ。

カーソルを使ったら閉じないといけません。処理後にその流れでそのまま cursor.close() を呼ぶように書くと例外が飛んだり長い処理の途中でうっかり return したりしたときに呼び漏れが発生するので、try~finally のような構造を使いたいところです。(Java でもたぶんそう(20年前の知識)。C++ だとデストラクタが使えるので違う書き方になる)

Read the rest of this entry

ちょっと Python + MySQL をいじってるんですが、デフォルトではクエリの結果はタプルorリストで返ってくるので、雑に SELECT * FROM table とかやるとどんな順番で列が返ってくるのか SQL 文を見ただけでは不明で扱いづらいため、 dict (連想配列)で取れると嬉しいです。

Read the rest of this entry

IM@S Engineer Talks 2019 で、11年にわたる UtVideo の最適化の概要を発表してきました。

スライドショーは以下の通り
Speaker Deck | pptx

昔、 UtVideo をインストールしても編集ソフトから見えない、という現象が起きてたらしいです。で、今手元で最初期バージョンから最新バージョンまでアップデートしながらベンチマークとを取るという作業をしているのですが、 3.8.0 から 8.2.0 にアップデートしようとしたところで UtVideo が見えなくなりました。

Read the rest of this entry

バグ修正
  • UMRG, UMRA: SSE4.1 が使えて AVX2 が使えない環境において、幅が 64 で割って 32 余る数の場合のフレーム内圧縮のエンコード結果が誤っていた。

Read the rest of this entry

性能向上
  • UMxx: ネイティブな packed フォーマットでのフレーム内圧縮の入出力を高速化した。

Read the rest of this entry

機能追加
  • プロセス名に基づいて、あるいは完全に特定のコーデックインターフェースを無効化する機能を追加した。

Read the rest of this entry

前の記事であるUTF-8のコードポイントはどうやってもっと高速に数えるかで AVX2 での高速化をやりましたが、今ではさらにベクタの長い AVX-512 というものがあるので、これでもやってみようかと思います。なお、想定するプロセッサは Skylake-X です。

Read the rest of this entry

Qiita に UTF-8のコードポイントはどうやって高速に数えるかという記事がありました。コードを眺めながらもっと速くなるんじゃないのと思ったので、やってみようと思います。

Read the rest of this entry

Windows 上での Visual C++ と GCC/Clang の相互運用という記事を書いてましたが、さっき調べたらオリジナルの LLVM (Clang/C2 ではない)を Visual Studio のプラットフォームツールセットとして使うことができて MSVC とちゃんと互換性があるということを知りました。

Read the rest of this entry