QtConcurrent::run() runs a function in a worker thread. It returns a QFuture, which is then used to synchronize with the result: QString foo(); QFuture<QString> f = QtConcurrent::run(foo); ... QString string = f.result() Calling f.result() will block the current thread until foo() has returned. The QFuture template argument must match the return type of foo(). If the function you want to run takes
ubuntu% gcc cache.c; time ./a.out ./a.out 0.41s user 0.03s system 99% cpu 0.444 total ubuntu% gcc -DBAD cache.c; time ./a.out ./a.out 1.98s user 0.03s system 99% cpu 2.020 total ubuntu% gcc cache.c; valgrind --tool=cachegrind ./a.out ==11733== Cachegrind, an I1/D1/L2 cache profiler. ==11733== Copyright (C) 2002-2005, and GNU GPL'd, by Nicholas Nethercote et al. ==11733== Using LibVEX rev 1367, a
ちょっとメモ 今日も valgrind 使ってます libxml2 を使って以下のような XML のパース処理を書く #include <iostream> #include <sstream> #include <boost/shared_ptr.hpp> #include <libxml/xmlreader.h> static int read(void* in, char* buf, int len) { return static_cast<std::istream*>(in)->readsome(buf, len); } int main() { std::istringstream in("<a><b/>hoge<c/></a>"); boost::shared_ptr<xmlTextReader> reader(xmlReaderForIO(read, NULL, &in,
サイトURL http://valgrind.org/ valgrind は、linux 環境で動く、かなり強力なメモリーデバッガーです。 メモリーリークや Segmentation falt などの具体的な位置を教えてくれます。 準備 valgrind のサイトから、パッケージをダウンロードしてきてコンパイルするか、Fedora Core であれば、yum install valgrind でインストールできます。 その他のディストリビューションでは、apt-get install valgrind でも可能です。 利用方法 valgrind -v --error-limit=no --leak-check=yes --show-reachable=no DebugTarget 2>&1 | tee valgrind.log 等とすれば、メモリーチェックの結果をログファイルに書き出し
以前の記事にもLinuxでのメモリーリークの検出に関する事を書いたのですが、もう少し一般的なやり方を紹介しましょう(というより、自分で毎回忘れるので備忘録として・・・)。 【mtraceを使う方法】 まず、mtraceを使う方法です。リークのテストを開始したい場所でmtrace()をコールし、終了したい場所でmuntrace()をコールするようにします。 #include <stdio.h> #include <stdlib.h> char *test() { char *test=malloc(10); return(test); } int main() { char *ptr; mtrace(); ptr=test(); //*(ptr+10)='\0'; //free(ptr); muntrace(); return(0); } -gつきでコ
はじめに KCachegrind は、プログラムのプロファイル結果をグラフィカルに分かり易く表示してくれるオープンソースのソフトウェアです。 KCachegrindを活用すれば、性能上のボトルネックや、メモリリーク箇所の特定など、機能テストでは分からないような問題の検出が容易になり、ソースコードの改善に役立てることが出来ます。 この記事では、KCachegrindの紹介から始まり、最終的にはプロファイル結果を解析してプログラムの問題点(バグ・ボトルネック)を見つけるまで、について3回に分けて説明していきます。 以下の構成を予定しています。 今回(準備編)はKCachegrindの概要 次回(入門編)はKCachegrindの使い方 最後(実践編)はKCachegrindを使ってプログラムの問題点を見つける方法 必要なソフトウェア KCachegrind は他のツールと組み合わせることが前提
図の掲載は省略しますが、string::reserve() の Call Graph でも改善されていることが確認出来ます。 開発者が直接new/deleteを記述していなくても、プロファイルを取ってみるとヒープの取得・解放が頻発してて、しかもstringクラス絡みが結構な割合…ということが時々有ります。(例えば、詳細なログを多く出しているような真面目なプログラムにその傾向が…) 頻繁にヒープの取得・解放を繰り返すようなシステムは、例え受入れ試験を通過したとしても、その後、長期安定稼働してくれるか不安になります。何かの拍子にシステム全体が不安定になったとき、自分たちの担当したプロセスはちゃんと動いてくれるだろうか…などと考えると、夜も眠れません心配になってきます。 STL(特にコンテナやstringクラス)を使っている場合、ヒープの取得を完全に無くすことは難しい(限りなく無理)ですが、回数
To use this tool, you must specify --tool=callgrind on the Valgrind command line. Callgrind is a profiling tool that records the call history among functions in a program's run as a call-graph. By default, the collected data consists of the number of instructions executed, their relationship to source lines, the caller/callee relationship between functions, and the numbers of such calls. Optionall
The document discusses social recommender systems and various approaches used in them. It covers fundamental recommendation techniques like collaborative filtering, content-based recommendation, and knowledge-based recommendation. It also discusses using tags, social relationships, and temporal data in recommendations. Evaluation of recommender systems and challenges are also summarized.Read less
Using Intel.com Search You can easily search the entire Intel.com site in several ways. Brand Name: Core i9 Document Number: 123456 Code Name: Alder Lake Special Operators: “Ice Lake”, Ice AND Lake, Ice OR Lake, Ice* Quick Links You can also try the quick links below to see results for most popular searches. Product Information Support Drivers & Software
自動バックアップ処理をさせたいが シェル権限を与えたくないときとかに使える技。 やり方は簡単で $HOME/.ssh/authorized_keys の "コマンドを制限したい公開鍵" の行の先頭に 実行させたいコマンドを記述すればよい。 そのときのフォーマットはだいたい以下のようになる。 command="実行させたいコマンド",sshのオプションをカンマ区切りで書く command=hoge というのを付け足すことによって その公開鍵でアクセスがあったときに 指定したコマンドを実行させることができる。 たとえば、uptime を実行させたいときは、 以下のようにすればよい。 command="uptime",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa AAAABbBFERTWER....
昨年のことになりますが、Oracle Direct Seminar という Webiner(通称:ダイセミ)で Oracle Database のアップグレードに関するセッションがありました。その中で、自分の中で混乱していたパッチに関する情報が大変スッキリとまとめられていましたので、ここに紹介したいと思います。 オラクルコンサルタントが語る明日から使えるアップグレードTips 【セミナー資料】オラクルコンサルタントが語る明日から使えるアップグレードTips (2012/09/26 追記) 日本オラクル カスタマ・サポート情報のブログで詳しく紹介されている文書があります。 Oracle が提供するパッチについて理解するために役立つ文書の紹介 (Oracle Support Japan) KROWN や Note へのリンクがまとめられていますので正確な情報はこちらでご確認ください。 「パッチ
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
rlwrap-ext – an extension for rlwrap Description Using sqlplus, rman or any other Oracle command line tool combined with rlwrap can be even more convenient - rlwrap is full of some fancy features, e.g. command line completion. You type the keys sel and when pressing the tab key rlwrap completes it to SELECT. Does not sound spectacular? It isn't, anyway, but quite useful. That´s the way rlwrap can
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く