yohhoyの日記

技術的メモをしていきたい日記

2017-01-01から1年間の記事一覧

順序維持してJSONデータを読み込む

Python標準モジュール json ではJSONデコード結果を辞書型(dict)にて表現するため、入力JSON文字列中でのオブジェクトname/value出現順序が維持されない。2018-04-16追記:Python 3.7以降ではdict型の順序維持が仕様上保証されるようになる。Python 3.7 – Di…

recursive_(timed_)mutexの再帰ロック数上限

C++

C++11標準ライブラリのstd::recursive_mutex, std::recursive_timed_mutexクラスでは、同一スレッドからの再帰ロック獲得回数の上限は未規定(unspecified)となっている。一方で上限回数を超えるtry_lock操作は失敗し、lock操作は例外送出することは保証され…

shared_(timed_)mutexがサポートするReaderスレッド数

C++

C++14標準ライブラリのshared_timed_mutexクラス*1は、少なくとも10000スレッド以上のReaderスレッドからの共有ロック(shared lock)同時獲得をサポートする。また同時獲得可能な共有ロック数上限を超えた場合も、共有ロック獲得できるまでReaderスレッドがブ…

i = i++ + 1;の評価順規定

プログラミング言語C++における評価順規定の変遷についてメモ*1。本記事では代入+前置/後置インクリメント*2+加算演算子*3 *4を扱う。注意:本記事は言語仕様の隅をつつく話題であり、一般論として同一オブジェクトに対する複数回の副作用を伴う式文は避…

数字から数値への変換: ch - '0'

C C++

プログラミング言語C/C++における、1文字の数字から1桁の整数値へ変換するイディオム ch - '0' について。C/C++言語仕様では、数字の文字コード'0'〜'9'がその並び順で連続かつ隣接すると保証する。このため変換元文字chから数字0の文字コード'0'を減算する…