スレッド局所記憶(英: thread local storage, TLS)は、静的もしくは大域的なメモリをスレッドごとに局所的に使用するためのコンピュータプログラミングの方法である。 プロセス内のスレッドはすべてアドレス空間を共有しており、同じプロセスのスレッドから参照する際、静的変数やグローバル変数は同じメモリ番地に配置される。 一方スタック上の変数はすべてのスレッドが自分のスタックを持つためスレッドに対して局所的であり、異なるメモリ番地に存在する。 同じ静的変数・グローバル変数を参照する二つのスレッドが(変数をスレッドに対して局所的にすることで)実際には異なるメモリ番地を参照できることが望ましい場合がある。たとえば典型的な例としてC言語のエラーコードを格納する変数 errno がある。 少なくともメモリアドレスを格納できるサイズの変数をスレッドに対して局所的にすることが可能なら、メモ
The latest release 1.2.7 is the latest release. It had been released at 2019-09-13. [Download] [Changes] Cutter? Cutter is a Unit Testing Framework for C and C++. Cutter's interface is easy to write, easy to debug your code and fun to run tests. (See the screenshot. You need "notify-send" command on Linux and *BSD or "growlnotify" command on macOS for this feature.) Platform Cutter works on many U
memcached クライアントを実装してみて気づいたというか意識したこと。 オブジェクトのシリアライズはクライアントライブラリやユーザー任せなのだ。例えば Perl では Storable 。言うなれば汎用シリアライザ。 普段は全く意識せずに与えられた汎用シリアライザで扱えば良いと思う。 ただし格納するオブジェクトに特性があるときはカスタムシリアライザを作って空間効率を追求してみるのも面白いかも。 特性とは例えば格納するオブジェクトが 特定の種類のみ 特定の値域のみ などの場合。 より具体的には ascii 文字列だけ 数値だけを格納してその範囲は 8, 16, 32, 64bit に収まる 取り得る値が enum のように限られる など。 うまくカスタムシリアライザを作れば格納時のオブジェクトサイズをぐっと小さくできる可能性がある。 この方法に対する考えられる反論は メンテナンス性の問
このページの目的 丹野が書いてきたミクロ経済学の講義ノートの総合リンク集です. 各項目別にまとめており書き換えた内容は逐次新しい講義ノートにリンクを変えて行きます. 新しい内容が加われば項目を増やしていきます. 一度に大量に学ぶよりはこのように項目に分けた方が学ぶ上での見通しが良くなるでしょう. やさしい経済数学入門もご覧下さい. やさしい国際経済学入門もご覧下さい. 講義ノート集 経済問題と経済学 経済学入門(PPT) ライフプランとお金 基本的競争モデルと市場経済 インセンティブと機会費用 需要と供給 需要と供給 需要・供給曲線のシフト 消費者の選択 消費者の選択,効用,予算制約 所得効果と代替効果 加重限界効用均等の法則 企業の利潤最大化 企業の目的は利潤最大化 限界費用と平均費用 利潤の最大化条件と限界費用 供給曲線の導出 競争均衡と経済厚生 競争均衡 国際貿易と為替レート
1 Split-Ordered Lists: Lock- Free Extensible Hash Tables Gunnar Johansson Paper by Ori Shalev, Nir Shavit (Tel-Aviv University) Presentation outline �Motivation �The lock-free idea (basics) �Hash tables: Brief review �Solution �Results �Conclusions Motivation �Previous work shows that lock-free approaches are optimal for high concurrency �Many applications use hash tables �Requirements �Support fo
.bashrcはじめ設定ファイルのたぐいはちょくちょく書き加えるので少しずつカオスになっていく。 ということで、整理しつつ、いくつかtips的なアレコレをまとめてみた。 .bashrc編 まずは.bashrcから 環境変数をいじる糖衣function in .bashrc .bashrcを見てみるとやたら目に付くのが"export HOGEHOGE=hoge:${HOGEHOGE}"という記述。 単に環境変数を拡張しているだけなのだが、何を追加しているのか分かりづらいし、なにより環境変数が空だったときに余分な":"がつくのが嫌い。 ということで書いてみたのがこんな。 function AddPathPre() { if [ -z "${!1}" ]; then eval "export ${1}=${2}" else eval "export ${1}=${2}:\${${1}}" fi
oktです。 インフラ系とか社内システムとかいろいろ担当してます。 Linuxのカーネルは過去に読み込んだディスクの内容をメインメモリに保持する機能を持ってます。 重要な機能ですが、普段サーバ等を触っている分には意識しないことが多くハマったりします。 意識しないでプログラムの検証なんかしていると、キャッシュ有無で大きく結果が違ったりします。 ちなみにページキャッシュ自体についてはhatenaのnaoyaさんの記事を読むのをお勧めします。 そんなわけで、意図的にキャッシュを消したい場合には?という方のためにメモを残してみます。 linux kernel 2.6.16以降、以下の操作でページキャッシュを強制的にクリアすることができます。 ちなみに、RHEL4は2.6.9ベースのカーネルですが、RHEL4.6から実装されています。 # echo 1 > /proc/sys/vm/drop_cac
About Dynomite Dynomite is an eventually consistent distributed key value store written in Erlang. The design is based off of Amazon’s Dynamo paper. Dynomite currently implements the following features described in the Dynamo paper, plus some stuff not covered by the paper. Vector clocks Merkle trees Consistent hashing Tunable quorum Gossiping of membership Gossiped synchronization of partitions P
テラバイトデータや構造化知識研究に関する過去の記事です。 1990年6月 コンピューターの中央処理装置4台を並列的につなぎ、人間のように推理したり連想したりするコンピューターの模擬実験に、九州大学の研究グループが成功した。1991年度にも20台に増結する計画で、最終的には1万台をつなぎ、人間の思考そっくりの柔軟性に富んだコンピューターシステムを目指す。キャリアウーマン並みの有能秘書や、建物の形状を判断できる掃除ロボットの開発にもつながると期待されており「人工知能」開発競争に一石を投じそうだ。 九州大学で実験に成功 模擬実験を行ったのは、九大総合理工学研究科の雨宮真人教授(情報システム専攻)のグループ。雨宮教授らは、記憶した知識で推論や連想を行う人間の思考回路網に着目。「食物-果物-黄色-酸っぱい-レモン」など属性や因果関係でつながる情報を与えて連想ネットワークを構成。このネットワーク網をコ
プリファードインフラストラクチャー(PFI)では夏期インターンを募集しています。インターンでは、社内の新規プロジェクトチーム(大規模データを利用した自然言語処理や情報検索、画像解析など)に参加し一緒に開発を行ったり、新しいサービス・ソフトウェアを企画、開発してもらいます。期間は1~3ヵ月です。
This document explains how to embed SpiderMonkey, the Mozilla JavaScript engine, in your C++ program. JavaScript is widely used for client-side scripts that run in the browser. But Mozilla's JavaScript engine is a library that can be linked into any C++ program, not just a browser. Many applications can benefit from scripting. These programs can execute JavaScript code from C++ using the SpiderMon
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
デザインはデザイナーにしかできない? デザインって専門知識が必要なんでしょ?なんだか難しそう。 そう感じているあなた、こたえはズバリ! 「Non!」 です。 デザイナーの私が言うのですから、まちがいありません。 実は、ちょっとした「TIP'S(コツ)」を使うだけで、 誰でもデザインが魔法のように かっこよくできます! (プロはそんなコツを経験的に知っているだけなのです!) ここで紹介する「デザインのコツ」を使って、あなたの考える、 あなたにしかできない、クールでユニークなデザインを表現 してください。私の仕事がなくならない程度に(笑) わたしが、これほど自信を持って 「できる!」 というのには、 理由があります。その理由とは。。。 文明の利器「コンピュータ」があるからです! 「なぁ〜んだ、そんなことか。」と思ったあなた、 最後までちゃんと聞いてください。 わたしが、デザインの専門学校に通っ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く