せっかちな人々(まったりも可)
どんなささいなことでも構いません.
面白い最適化のアイデアがありましたら書き込んで下さい.
無論雑談も大歓迎です.

 name :  
 subject : Q. 31 + 17 =
 comment : (i, sub, sup tags are available.)
  
 delete key :
Back To Home

159 .Reverse engineering コンテスト
dsk . 2008 9/25(Thr) 19:28
結果だけ見たのですが、どれもstripされていないようでlevel4ならstringsで
Blowfish_Encrypt
Blowfish_Decrypt
Blowfish_Init
とかが見えるのですが、これらは囮なんでしょうか?
 [160]Re:Reverse engineering コンテスト
へるみ . 2008 9/25(Thr) 23:11
どうなんでしょうねぇ.ヒントなのは間違いないと思いますがlevel3なんかを見ると一筋縄ではいかなさそうです.
level2のMD5も微妙にずらしてましたし.
 [161]Re:Reverse engineering コンテスト
dsk . 2008 9/30(Tue) 13:11
実機がなければGBAのエミュレータ付き開発キットあたりが便利か。

152 .Problem28と
dsk . 2008 8/28(Thr) 19:06
f(x + y) = f(x) + f(y) for all x, f(1) = 1 ⇒ f(x) = x ーーー ★
は本当に似たようなものでは?式の形よりもQじゃなくてRでることが本質で、Problem28もRだと証明できないと思う(Problem30はRで出来るから本質的にProblem28とは違う感じ)。

ところで、★の反例ってどうやって構成する? x〜y ⇔ x-y∈Q と定義して M = R/〜 (Rの部分集合からなる集合)を考えて選択公理から各X∈Mの代表元x∈Xからなる集合Nを考えることができる。あとはNの元にうまく関数値をアサインするんだろうけど、ここから先がうまくいかないです^^;
 [153]Re:Problem28と
へるみ . 2008 8/29(Fri) 10:32
う,3回生の演義でやってただけなので詳細は覚えてません(^^; fが可測ならlinearになるという事実はあったと思います.

>★の反例ってどうやって構成する?

こんな感じでどうでしょう.
f|Q = id
x_0∈R - Qをとり,S_0 := Q + (Q_>0)x_0,f(x0):=y0 != x0としてfをS_0に拡張.これはlinearでない.
x_1∈R - S_0をとると,(Q_>0)x_1 ∩ S_0 = Φで,S_1 := S_0 + (Q_>0)x_1にfを拡張.
以下同様.{S_i}は帰納的順序集合なのでZornの補題により極大元をSをもつ.
S != Rならx ∈ R-Sをとることで矛盾がでるのでS = R.
 [154]Re:Problem28と
dsk . 2008 8/29(Fri) 12:16
なるほどボトムアップに構成していってZornの補題ですか。

しかし、中身のS_0の定義が変な気が...。そのままだとx_1 = -x_0∈R-S_0とすると
0 = f(0) = f(x_0+x_1) = f(x_0) + f(x_1) = y_0 + y_1 となってy_1 = -y_0と選ばないと駄目で条件が付いてしまうので証明が面倒になるのではないでしょうか?

S_0 := Q + Qx_0 = {a + bx_0 | a, b ∈Q }として
x_1∈R-S_0をとると Qx_1 ∩ S_0 = {0} だから S_1 := S_0 + Qx_1にfを拡張可能。
 [155]Re:Problem28と
へるみ . 2008 8/29(Fri) 22:55
何を思って>0の条件をつけたんでしょうね(人ごと).
結局はRを無限次元Qベクトル空間と見たときの基底Λから1とx_0(!=Q)をとって
f(1):=1, f(x_0)=2, 他の基底については全て0にでもして拡張すればOKということなのかな.
そんな簡単だったっけかなあ.
 [156]Re:Problem28と
dsk . 2008 8/31(Sun) 22:04
基底Λが取れることが本質だと思います。基底の存在は選択公理(Zornの補題)がないと言えないはずで、先の証明も基底が取れると言うことを証明しているのに近いかと思います。
基底Λさえとれれば、f(1):=1, λ∈Λ\{1}でf(λ) = 0としてOKで、それは先の証明では常にy_i = 0としてfを拡張することに相当すると思います。
 [157]Re:Problem28と
へるみ . 2008 9/1(Mon) 11:33
>f(1):=1, λ∈Λ\{1}でf(λ) = 0としてOKで
そうですね.本当は最初そうやって作ったのですが,「これだとf|Q = id, f|R-Q = 0となってしまって明らかにおかしいよなあ」とおもいっきり勘違いしたのでした.で,それから最初に書いたのQ_>とかいう,わけわかめな方向に走ってたのでした.
 [158]Re:Problem28と
dsk . 2008 9/1(Mon) 17:40
実は選択公理の仮定のもとに、「任意のベクトル空間は基底を持つ」が成立するんですね。
# 基本事項っぽいですが、知ってたら悩まなかったのに...。
これまでBanach空間じゃない(無限次元の)空間を殆ど扱ったことがないので(しかも殆どの場合はseparableな場合のみ)基底が存在する状態からスタートしていた訳で、R/Qみたいな変な空間が現われたら駄目ですね...。

146 .@b, @f問題
dsk . 2008 5/31(Sat) 0:54
関数越えはエラーにする、というのは駄目ですか?
・ループや分岐を楽に書く
・ループや分岐を含むマクロを書いておいて展開する
のが目的ですよね。
 [147]Re:@b, @f問題
へるみ . 2008 6/1(Sun) 7:06
>関数越えはエラーにする、というのは駄目ですか?

駄目じゃないですけど,Xbyak自身に「関数越え」を認識させるのが問題なわけです.
そのためには__func__的マクロをうまく使うか,実行時のスタックトレースを追っかけるか(大げさすぎるのでやらない)ぐらいしか思いつかないです.
 [148]Re:@b, @f問題
dsk . 2008 6/5(Thr) 11:50
関数の順序が保証されない問題だと勘違いしてました...。

スタティックな変数function_noを持っておき、
関数定義(code gen)の度にインクリメントし、
@@,@b,@fのラベルにはfunction_noの値も埋め込む

という実装じゃだめですか?
 [149]Re:@b, @f問題
dsk . 2008 6/5(Thr) 12:05
すいません。そのままじゃMT_SAFEにならないですね。
function_noをthread毎に持つとか。

重いならその辺りはユーザに選択させるような実装にするとか。
・@@を使うのでcode genの前に同期する(function_noをincrementする)
・@@を使わない/範囲外の@b,@fを使わないことについてはユーザが責任を持つので
code genの前に同期しない(function_noをさわらない)
・MTを使わないので同期せずにfunction_noをincrementする。
 [150]Re:@b, @f問題
へるみ . 2008 6/6(Fri) 15:00
コード生成時にスレッドセーフにする必要はないと思いますが,

>スタティックな変数function_noを持っておき、
>関数定義(code gen)の度にインクリメントし、
>@@,@b,@fのラベルにはfunction_noの値も埋め込む
>
という実装でも

void func()
{
    L("@@"); // A
    ...
    jmp("@b");
}

というコードを

L("@@"); // B
func();
jmp("@b"); // C

CでAじゃなくBにジャンプできるように作るのは大変なのでは,という話です.

>ユーザに選択させるような実装にするとか
まあ,その付近が落としどころなんでしょうが,文法が増えるのをできるだけ減らしたいんですよね.
 [151]Re:@b, @f問題
dsk . 2008 6/6(Fri) 15:12
あら、ものすごく勘違い。中のfunc()の際にcode genが呼ばれないですね...。だからスタック追い掛ける話になってたのか...。失礼しました。

141 .busy loop
dsk . 2008 5/21(Wed) 15:42
速度クリティカルな間だけ、busy loopにすれば使えるのではないでしょうか?

<スレッドを叩き起す。>
for(<10万回のループ) {
 <5/20の日記のコード、ただしスレッドを眠らせる機能を追加したものを利用>
}
<スレッドを眠らせる。>

とか。
 [142]Re:busy loop
へるみ . 2008 5/21(Wed) 22:24
そうですね.まあもともと1msec未満で計算終了なんでスレッドをたたき起こす時間ももったいなかったりします.というわけでネタにしかならんだろうなあ.
 [143]Re:busy loop
dsk . 2008 5/23(Fri) 10:59
あ、ペアリングの高速化の話だったんですね。PC版は現状でもういいような気が。すなわちネタですね。

ですが、携帯とかプアなプロセッサ上では「1msec未満で計算終了」とは行かないだろうからネタよりも意味があると思います。
その場合は電池の消耗の問題があるからビジーループは出来るだけ避けたい、というのもあると思うのでスレッドを起こしたり眠らせたりにも意味が出てくる。

ARMとかでの結果が欲しいですね...。ってXbyakをARMに対応させるとこからになってしまうか...。
もうすぐ発売のWillcomのD4がIA32互換だったと思う(Vistaが載るはず)けど、PC並のプロセッサという噂もあるしどうなんでしょう?
 [144]Re:busy loop
とみながたけひろ . 2008 5/24(Sat) 17:19
いまどきの(Linuxとかの)ミューテックスの実装は「何度かビジーループしてそれでも駄目ならカーネルに任せる」みたいな感じらしいので、割とある実装なんじゃないでしょうか。

私が今書いてる環境だとビジーループ中に呼び出し元PC近辺をI$プリフェッチとか、もうじき仕事が終わりそうな時には別スレッド側でフラグを立て、そのフラグが立ってたらビジーループとか、色々やってます。エンジンを空ぶかしという感じ。
 [145]Re:busy loop
へるみ . 2008 5/25(Sun) 21:26
>いまどきの(Linuxとかの)ミューテックスの実装は「何度かビジーループして
>それでも駄目ならカーネルに任せる」みたいな感じらしいので

WindowsのCriticalSectionもそういう実装ですね.

>私が今書いてる環境だと

なかなか渋い環境で開発されてますね.組み込みやゲーム関連(?)だと未だにそういう世界なんですね.

137 .nasm 2.0 は 64bit 対応済み
eijit . 2008 4/18(Fri) 0:46
去年の末くらいに nasm が 2.0 にメジャーバージョンアップし, 64bit に対応していました. ご存知でしたらすみません.
 [139]Re:nasm 2.0 は 64bit 対応済み
へるみ . 2008 4/18(Fri) 9:31
そうでしたか.情報ありがとうございます.
ということは,nasmとyasmの棲み分けはどうなってるのかしら.
 [140]Re:nasm 2.0 は 64bit 対応済み
へるみ . 2008 4/18(Fri) 10:07
nasm 2.0.2にしたらclflushのテストが通らなくなった.
nasmは0F80を出してるけど,これって0FAEの間違いじゃないかな.yasmもそうなってるし.

133 .xbyakの文字列出力オプションについて
計 . 2008 4/16(Wed) 21:39
今日はFSIJでオモロい話をありがとうございました。

xbyakついて質問です。
今日の話の中で、xbyakでJITしたコードを、
アセンブラ形式の文字列として出力できる方法があるような感じでしたが、
具体的にどうやるのでしょうか?
 [134]Re:xbyakの文字列出力オプションについて
へるみ . 2008 4/16(Wed) 23:53
ああ,質問はそういう意味でしたか.そっか,だから笹田さんが聞き直してたのか.
完全に勘違いしてました.今のところそういう機能は無いです.すいません.

JITしたコードへのポインタとサイズは取得できるので,それをdb 形式で出力するのなら簡単にできるのですが….
 [135]分岐予測攻撃対策
dsk . 2008 4/17(Thr) 14:28
暗号のside channel攻撃として強力なものの一つに分岐予測攻撃対策にxbyakが使えないかな?と思い付きました。
分岐条件nzとzを乱数で決めてJIT展開する。すなわち毎回異なるコードが動く訳です。単なる思い付きです。
 [136]Re:xbyakの文字列出力オプションについて
dsk . 2008 4/17(Thr) 14:30
日本語になってない。

暗号のside channel攻撃として強力なものの一つに分岐予測攻撃がありますが、その対策にxbyakが使えないかな?
と思い付きました。

です。
 [138]Re:分岐予測攻撃対策
へるみ . 2008 4/18(Fri) 9:30
そうですね,プログラム自体に乱数的なものを入れて攪乱させるというのはありかもしれませんね.

131 .既約多項式
dsk . 2008 4/7(Mon) 9:59
既存の結果との勝負には勝ったのだから

> log_2(3^97)〜153bit程度→RSA1000bit程度.でもF_3の拡大体には特殊な攻撃があって,RSA500〜700bitぐらいの強さでは?という悲観的な人もいて,bitをもうちょっととらないといかんかもらしい.
なので、次は97次より高くて良い多項式でやるのでは?

# それにしても167次は一気に上がりすぎのような気がするけど。
 [132]Re:既約多項式
へるみ . 2008 4/7(Mon) 11:07
そうですね.167だとSIMDレジスタに入らないので128よりちょっと小さいぐらいで手頃なのがあればよいのですが,中間がないのかなあ.調べてない&考えてないのでわかりません.

125 .MacOS10.5.2で動かしました
dsk . 2008 3/31(Mon) 18:17
0.267msecだそうです。

# サイトにあるビルド方法(for Linux)だとinclude.mieの中をmakeしてくれないのでは?

OSXだとinclude.mieのmakeは出来無いので、

1. include.mie/x86/nasm.cfg を編集して ADD_UNDERSCORE を on にする
2. include.mieで
nasm -f macho -i./x86 x86/clka.asm -o x86/clka.o
3. timecapsule/engine/pairing/testでmakeできるところまでやって、
最後の -linclude.mie の代りに ../../../../x86/clka.o をlink

とやって動かしました。
 [126]Re:MacOS10.5.2で動かしました
へるみ . 2008 3/31(Mon) 19:45
>include.mieの中をmakeしてくれないのでは?
おお,どうも失礼しました.
ライブラリはデバッグでしか使わないので外しました(3/31版).
そうすればMacでも何もせず動くのですよね.
 [127]Re:MacOS10.5.2で動かしました
dsk . 2008 3/31(Mon) 20:44
3/31版動作を確認しました。make一発でした。
clkputじゃなくて標準のclock()で測ってたんですね....。ソース見ずにmakeの出したエラーしか見てませんでした。今回は、結果は
0.237msec
と先程より劇的に速くなっていますが...(3/28版も実行しましたが、0.266msecで変らず)。
 [129]Re:MacOS10.5.2で動かしました
へるみ . 2008 4/4(Fri) 9:14
>今回は、結果は0.237msec
Core2Duo 2.4GHzでですか? あまり速くありませんね.gccのバージョンはいくつでしょうか.
 [130]Re:MacOS10.5.2で動かしました
dsk . 2008 4/4(Fri) 11:34
% gcc --version
i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5470) (Aspen 5470.3)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

古いし、アップルの手の入ったgccなので何とも言えないですね...。

128 .4/3現在
dsk . 2008 4/3(Thr) 14:43
googleでトップのようですが...

お願いが効いたのかな?

123 .ηペアリング
dsk . 2008 3/10(Mon) 12:41
私のPC(Core2Duo@2.4GHz)で計測するだけで400μsecは切れそうですね。
 [124]Re:ηペアリング
へるみ . 2008 3/10(Mon) 13:04
ええ,Core2Duo 2.66GHzだと350usecです.

111 .ペンティアムX
a_core . 2008 1/13(Sun) 17:09
ずいぶん昔、雑誌でRISCの最適化の記事を読んだのですが、
分岐命令の直後にnop命令を置くと速く動作するCPUがあるそうです。

試しに、Celeron366MHzで後退分岐ジャンプの直後にnopを置く実験してみたら、
結構、速くなりましたよー。

(旧型マシンしか生きてないので、366だったと思う)
 [113]Re:ペンティアムX
a_core . 2008 1/13(Sun) 17:47
念のため確認しています。m(_ _)m
 [114]Re:ペンティアムX
a_core . 2008 1/13(Sun) 18:25
確認した所、完全なデマである結果となってしまいました。(他人の2.8GHzマシンでも確認)
大変お騒がせしました。
明日の晩に書き込みを消そうと思います。m(_ _)m
 [116]Re:ペンティアムX
へるみ . 2008 1/13(Sun) 21:19
K6-2の頃は,命令を16byte境界をまたがないようにするとストールしないことがあって,そのために命令の合間にnopを入れると速くなることはありましたねぇ.
 [120]Re:ペンティアムX
a_core . 2008 1/17(Thr) 16:09
16byte境界をまたぐとストールですか。
凄い概念ですね、気にも止めていませんでした。

でも何で32byte境界でないのかが気になります。
 [121]Re:ペンティアムX
a_core . 2008 1/19(Sat) 22:45
bitと勘違いしてました。
 [122]Re:ペンティアムX
a_core . 2008 2/22(Fri) 18:46
今年はうるう年だから"366"日(笑

ノートさんのページです、同期処理で参考になります。
http://www.geocities.jp/note_txt/
http://www.geocities.jp/note_txt/sv/YYMMDD.html

112 .インストーラ作成ですか?
計 . 2008 1/13(Sun) 17:18
既存のインストーラで済まない特殊なインストーラ作成ですか?
 [115]Re:インストーラ作成ですか?
へるみ . 2008 1/13(Sun) 21:08
いえ,インストーラ使うの初めてでして.初歩から調査中なのです.Xp/Vistaでインストール時に自動的に関連づけも行えるフリーのインストーラ作成ツールって何かありますでしょうか.
 [117]Re:インストーラ作成ですか?
計 . 2008 1/13(Sun) 21:38
InnoSetup でどうでしょう?
http://www.jrsoftware.org/isinfo.php

Visat、私自身は、InnoSetup製インストーラをVistaで使ったことは一度もないですが、
対応してるっぽいので。

ちなみに、InnoSetupでの関連付けのやり方
http://www.jrsoftware.org/isfaq.php#assoc
 [118]Re:インストーラ作成ですか?
へるみ . 2008 1/13(Sun) 22:19
ありがとうございます.試してみます.
ところで,遅ればせながら明けましておめでとうございます.
今年もよろしくお願いします.
 [119]Re:インストーラ作成ですか?
へるみ . 2008 1/15(Tue) 17:50
メモ WiXというのもあるらしい.
http://codezine.jp/a/article.aspx?aid=428
あと,VC Prof以降だとVCの配置プロジェクトでも作れる.

110 .ありゃ,ページが見えない
へるみ . 2008 1/11(Fri) 10:08
家に帰ってから直そう.

108 .コート
UNA . 2007 12/29(Sat) 20:07
コートなしでどうやって京都の約10年を過ごしたんすか!?私はロングダウンジャケットとか着ても寒くて寒くて死にかけてたのに!やっぱ常に外にいてたらランニングしてるから寒くないんですかねぇ。
 [109]Re:コート
へるみ . 2007 12/30(Sun) 13:49
流石にランニングするときは手袋とジャンパーしてますよ.あと寒いことは寒いです(^^;

107 .コウコク
a_core . 2007 12/23(Sun) 11:28
以前、ある掲示板で助けられた者です。
その節はご迷惑おかけしました。

最近、ホームページを作りました。
ぜひ一度見に来てくださ〜い。
http://members3.jcom.home.ne.jp/a_core/

105 .階段
UNA . 2007 12/20(Thr) 22:29
数理解析系の皆様はどうして階段を一気に猛スピードで駆け上がる方が多いのでしょう?不思議。
 [106]Re:階段
へるみ . 2007 12/21(Fri) 9:24
>一気に猛スピードで駆け上がる
今のところはまだ一気に駆け上がれないです.鍛え直しだ(^^;

99 .ペアリング高速化
dsk . 2007 12/13(Thr) 13:20
何がちがったのでしょうか?
・方程式が違う。
・体が違う。
・アルゴリズムが違う。

#日記の日付が間違っているようです
 [100]Re:ペアリング高速化
へるみ . 2007 12/13(Thr) 18:37
その全部みたいですね.F_3^m(m = 97or 167)上でetaT pairingを使う(行き先は6次拡大体)のが今のところ最速らしいです.キーワード自体は前からあった気もしますが携帯のJava上でも50msecを切る(RSAより速い)だそうで.
 [101]Re:ペアリング高速化
dsk . 2007 12/14(Fri) 10:39
etaT pairing とは "Tate" pairingの「逆」なんでしょうか?
supersingularを使うのは変わらないのでしょうか?

# google scholarでは見つかりませんでした。
# citeseerだとフランス語の "etat" にばっかりひっかかって駄目。
 [102]Re:ペアリング高速化
へるみ . 2007 12/14(Fri) 13:54
>pairingの「逆」なんでしょうか?
yes.詳細は未調査.

>supersingularを使うのは変わらないのでしょうか?
yes

log_2(3^97)〜153bit程度→RSA1000bit程度.でもF_3の拡大体には特殊な攻撃があって,RSA500〜700bitぐらいの強さでは?という悲観的な人もいて,bitをもうちょっととらないといかんかもらしい.
 [103]Re:ペアリング高速化
dsk . 2007 12/18(Tue) 18:48
> >pairingの「逆」なんでしょうか?
> yes.詳細は未調査.
日本人だったら、 Yoko Pairingになってたかも。

> bitをもうちょっととらないと
ならば、F_3をやめた方が速いかも、ですね。
 [104]Re:ペアリング高速化
へるみ . 2007 12/18(Tue) 21:37
>F_3をやめた方が速いかも、ですね。
それでも速いみたいですよ.

96 .misc.
dsk . 2007 11/30(Fri) 20:48
Oblivious Transfer

OPEって3-party protocolじゃなかったっけ?昔一緒に勉強した内容だと、2-party(peer-to-peer)でやろうとすると、polynomialは使えなくて、1ビットの情報を交換するのに二回分のDHが必要だったと思います。DHを1024ビットなら効1/2048、2048ビットなら1/4096。

3-partyならpolynomialが使えるので効率は1/2とか1/3とかで出来る。こちらはあまり不思議な感じのしないプロトコルだったと思います。


連想配列とminimal perfect hash(MPH)

連想配列にMPHを使えるのはhyper graphのacyclicを見付けるやり方が普通のhashに近い性質をもっているからですよね。すなわち、高速にMPHが生成できるけど一回一回のMPHの計算量はそんなに小さくないですよね。
ただ、あれって必ずacyclicが見付かるとは限らんですよね。(証明が出きてないだけで実は反例もないとか?)そのあたりどうしてるんでしょう?

hotaruのときはMPH生成の時間は無視できたのでBob's MPHが圧倒的に速いという結論になりましたね。私はインタープリタの予約語検索にBob's MPHを使いました。こちらは百数十のエントリでもMPHの生成に分単位の時間がかかるので動的に使うのは無理ですね。
 [97]Re:misc.
dsk . 2007 12/3(Mon) 12:59
自己レス。論文読みました。昔勉強した論文とは違いますね。polynomialを使った2-partyで、
・体のサイズと多項式の次数によらないオーバヘッド
と言っていますが、仮定1を満すようなm(1/mがSenderにとってのS/N比となる)は少なくとも多項式の次数に比例して大きくないとNGだし、体の大きさのlogにも比例して大きくとらないと駄目だと思うので、3-partyのpolynomialのようにはいかずにやっぱり効率は悪そう(1ビットずつ送るOblivious Transferと違わなそう)です。
 [98]Re:misc.
へるみ . 2007 12/3(Mon) 22:35
>あれって必ずacyclicが見付かるとは限らんですよね。(証明が出きてないだけで実は反例もないとか?)そのあたりどうしてるんでしょう?

現実装では適当にループ回してトライしてます.それからMPHに近いものを作ってから,MPHにするところは力業つかってます.

>やっぱり効率は悪そう
論文の時期を見ると比較的古いのでそうなんでしょうね.それから進展があったのかはちょっと分かりません.

87 .getchar()
dsk . 2007 11/2(Fri) 13:08
getchar()マクロってライブラリ側でbufferしてくれてるんじゃなかったの?というかライブラリのバッファが小さい?
 [88]Re:getchar()
へるみ . 2007 11/3(Sat) 1:37
されると思います.ただ今回のものはループ内の処理が少ないのでgetchar()の関数呼び出しが目立ってしまったという気がします.今どきはマルチスレッドからの呼び出しも考慮してるのかな.
 [89]Re:getchar()
dsk . 2007 11/6(Tue) 16:12
getchar()は今は関数なんですね!!昔はマクロじゃなかったっけ?stdinも__stdinpとかになってますね。昔はもっとややこしいマクロだったような...。あとisspace()についてですが、
Cのプログラム
#include <stdio.h>
#include <ctype.h>

int
main() {
int c, n = 0;
while((c = getchar()) != EOF) {
if(isspace(c)) ++n;
}
printf("n = %d\n", n);
return 0;
}
とC++のプログラム
#include <cstdio>
#include <cctype>

int
main() {
int c, n = 0;
while((c = getchar()) != EOF) {
if(isspace(c)) ++n;
}
printf("n = %d\n", n);
return 0;
}
で2.4GBのファイルを食わせて有意な差がなかったのですが、関数呼出のせい?
前者 48.54s user 4.74s system 74% cpu 1:11.26 total
後者 48.55s user 4.71s system 76% cpu 1:09.20 total
 [90]Re:getchar()
へるみ . 2007 11/7(Wed) 9:47
>有意な差がなかったのですが
while()の中身を空ループにしたらどうなりますかね.
・速度が変わらない
→ディスクアクセスに律速されている.
・変わった
→getchar()が重い.
・日記のようにfread()でまとめよみに変更してみる.
 [91]Re:getchar()
dsk . 2007 11/7(Wed) 17:01
ぼけてました。 #include <iostream>をしていないからCと同じisspace()が使われているかも?というのはおいといて、

ループが空:32.20s user 5.17s system 56% cpu 1:05.79 total
バッファリング: 28.50s user 5.18s system 44% cpu 1:15.09 total

どちらもCです。こりゃDiskかな?

C++バッファリング: 29.57s user 8.23s system 42% cpu 1:29.91 total
28.65s user 5.24s system 47% cpu 1:11.91 total
C++バッファリング cctype→iostream:28.65s user 5.24s system 47% cpu 1:11.91 total

ということでこのプログラムではdiskがネックですね。

ということで、8Kだけ読んで10万回繰り返してみました。
C: 1.46s user 0.01s system 99% cpu 1.472 total
C++cctype: 1.46s user 0.01s system 99% cpu 1.469 total
C++iostream: 2.07s user 0.00s system 99% cpu 2.071 total

ということで、C++のときは#include <cctype> ならCと同じ、#include<iostream>なら遅くなります。両方インクルードすると順序にかかわらず#include<iostream>の場合と同じです。

#include <cstdio>
#include <cctype>
static inline int my_isspace(int c) { return isspace(c); }
#include <iostream>

int
main() {
int i, r, n = 0;
char buf[8192];
fread(buf, 1, sizeof buf, stdin);
for(r = 0; r < 100000; ++r) {
for(i = 0; i < sizeof buf; ++i) {
if(my_isspace(buf[i])) ++n;
}
}
printf("n = %d\n", n);
return 0;
}

とか
#include <cstdio>
extern int isspace(int);
#define isspace my_isspace
#include <cctype>
#include <iostream>

int
main() {
int i, r, n = 0;
char buf[8192];
fread(buf, 1, sizeof buf, stdin);
for(r = 0; r < 100000; ++r) {
for(i = 0; i < sizeof buf; ++i) {
if(my_isspace(buf[i])) ++n;
}
}
printf("n = %d\n", n);
return 0;
}

とか小賢しいことやってみても遅い方でした。何度か実験しても小数第2位くらいまで同じ値になります。ですのでC++でiostreamを利用する場合、isspace()呼出を含む処理速度がクリティカルになる関数は分離して#include<iostream>ではなく#include<cctype>すべきである、ということですね。
 [94]isspace
egtra . 2007 11/15(Thr) 21:56
はじめまして。

C++のisspaceが遅いのはやっぱりlocale処理が関係しているせいらしいです。
http://www.fides.dti.ne.jp/~oka-t/cpplab-ctype.html
 [95]Re:getchar()
へるみ . 2007 11/17(Sat) 10:31
情報ありがとうございます.古くから知られていることなのですね.私ももう一度調べてみます.

92 .std::string
dsk . 2007 11/9(Fri) 21:00
仕様的には
・&str[0]だとNULLで終わってないかも。
・str.c_str()だと必ずNULLで終るけど場合によっちゃコピーされる。
くらいじゃないですか?g++附属のSTLのソースを読む限りだと str.c_str()でも&str[0]でも変らなそうですが。
 [93]Re:std::string
へるみ . 2007 11/9(Fri) 23:59
そうですね.STLportの場合だと,&str[0]がターミネートされてなくて,えらいことになったことが何度がありました.

82 .xbyak
dsk . 2007 10/16(Tue) 15:09
MacOS 10.5 Leopard(開発用build 9a559)での動作を確認しました。

Makefile中 cp -a は cp -pR の方が良いと思います(-aはGNU拡張オプションのためLeopardのcpは対応していませんでした。POSIXオプションだけだと-pRが最も近いです。symbolic/hard linkのコピー関係のときに-aだとlinkを保持してくれますが...)。
 [83]Re:xbyak
へるみ . 2007 10/16(Tue) 22:09
>cp -pR の方が良いと思います
ありがとうございます.私がMacで試したときは気がつきませんでした.次版で直します.
 [85]Re:xbyak
へるみ . 2007 10/18(Thr) 21:17
そういや,私が試したMac(バージョン失念)では何もせずにデータをコードとして実行できたんですが,Leopardでもそうなのかしら.
 [86]Re:xbyak
dsk . 2007 10/23(Tue) 15:29
実行に成功したので、そうだと思います。10倍どころではなく速くなってますね。quantize 1000で5.3sec→0.3secでした。多項式やbfとかも動いています。evalを持つinterpreter言語のコンパイラが作れそうですね。

81 .misc.
dsk . 2007 9/17(Mon) 13:50
> 天声人語の件
単に米国は空いているのでしょう。
ところで、新聞は読売が一番読み易くて良いと思います。この点はトラ吉の妻も同意見なので、ウチでは読売を取っています。

> 首相の件
「病気(= すなわち精神力が不足による胃腸の病気)が理由で辞める」とは言えなかったから無理矢理理由をつけたんでしょうね。ちなみに、「テロ(アメリカがテロと定義するもの)との戦い」)にこだわっているのはアメリカで、阿部さんは就任直後の訪中の件からしてもアメリカの言いなりになる人だったので(小泉がかなりアメリカに抵抗した(=中国と仲良くせよ、というのを無視してわざと靖国問題の再燃などをさせた)のに対し、彼は外交に関しては殆どアメリカの言うがままでした)、彼が辞めることで、後程のニュースに流れたようにアメリカの日本に対する不信感は増したんでしょうね。
 [84]Re:misc.
UNA . 2007 10/17(Wed) 23:50
トラ吉の妻て…誰のことかと思ったら!

79 .C++のストリームライブラリ
dsk . 2007 9/4(Tue) 18:39
C++のストリームライブラリは好まないのでC++でも
#include <cstdio>
して、Cのライブラリを使ったりしますね...。オブジェクト自身にtoString()のようなメソッドを持たせればprintfとかで事が足りるように思います。
 [80]Re:C++のストリームライブラリ
へるみ . 2007 9/4(Tue) 21:01
>C++のストリームライブラリは好まないので

私もそうなのですが,snprintfが処理系依存だったり,バッファサイズを気にしないといけないとかで,最近はsstreamを使うことも増えました.
フォーマットとかどうしてもタイプ数増えるし,うっとうしんですけどね.
あと,
getValue(char *out, size_t maxOutSize)よりはstd::string getValue()が便利だし.

78 .SetFilePointer
dsk . 2007 8/27(Mon) 14:40
無理拡張APIですね。まぁ、「2GB以上のファイルは扱えなくて良い」且つ「面倒は御免」な人がそれなりに多数居ると思うので、そういう人達はlpDistanceToMoveHighを0にしとけ、ってことなんでしょうね。「ダミーDWORD変数へのポインタを渡せ」という仕様でも良いような気はしますが。

さらにGetFileSize()だと閾値は約4GB (2^32 -1)になるみたいですね。いやはや。

75 .Error
dsk . 2007 8/21(Tue) 12:13
Error()をauto変数領域(通常はスタック)に生成させて(それをthrowせずに)終りですね。関数オブジェクトを生成させて(最適化後には生成してないかも)一度きり利用する場合なんかに使う書法ですね。
Javaなら前にnewを書かないとエラーになるのでthrowを書き忘れにくい??(私はJavaで良くthrowとnewをセットで書き忘れて怒られます)
 [76]Re:Error
へるみ . 2007 8/21(Tue) 15:40
あ,いやエラーにならない理由は分かってますが,「書き忘れてもエラーにならない記法になっちゃうのか(詠嘆)」というの意味です.念のため.
defaultのスペルミスやif(定数)などは警告だしてくれますが,これはしてくれないのだなあと.
#cstrに副作用がないか調べないと分からないから面倒ですが.
 [77]Re:Error
dsk . 2007 8/22(Wed) 22:32
舌たらずですね。もちろん分かっていると思って書いてます。Javaの方が少しだけ「間違いに気付きやすい」かな?その原因がC++だと if(...) Error(); がなんとなくエラーを起す関数を呼んだ気になって満足するところにあるのかな?Javaだとif(...) Error();はcompile errorで、if(...) new Error();だと間違いに気づくのでは?でも関数オブジェクト便利だし、どうしたものかな?というようなことを纏め切れずに書いたのでした。

74 .for each
dsk . 2007 8/9(Thr) 11:53
VC++.NET は C++に非ず、ということで。

71 .開闢?
. 2007 8/7(Tue) 0:48
xbyak の名前の元が「開闢」ってことですか?
 [72]Re:開闢?
へるみ . 2007 8/7(Tue) 9:27
そうです.実行時にコード(世界)ができますよ,というニュアンスで.
 [73]Re:開闢?
dsk . 2007 8/7(Tue) 17:43
すなわち「X」をエックスではなくてカイと読ませてる訳ですね。
そう言えば昔「クスバイアクってなんや」とか聞いた覚えがあります。

68 .switch jobs
ys . 2007 7/27(Fri) 0:55
転職、おめでとうございます。

実は僕も 10/1 から飯田橋の某社に行く (もちろん転職で) 予定で、
今は引越しの準備などでちょっとバタバタしているところです。

職場が比較的近いこともありますし、いつか呑みに行けたら良いですね。
 [69]Re:switch jobs
へるみ . 2007 7/27(Fri) 22:55
すいません,イニシャルだと候補がいくつかあってどなたかしぼれません(^^;
メールなどでコンタクトお願いします.m(__)m
 [70]Re:switch jobs
ys . 2007 7/27(Fri) 23:26
あらら。しぼれませんでしたか。すみません。
とりあえずメールを送らせていただきますね。

63 .仕様変更
へるみ . 2007 7/20(Fri) 8:49
dskのアイデアの通り,漢数字にしてみました.
 [64]Re:仕様変更
へるみ . 2007 7/20(Fri) 9:14
なんでじゃ,いきなり書き込まれた.手動か?
 [66]Re:仕様変更
へるみ . 2007 7/21(Sat) 7:52
全然あかん.別の方法で対処してみた.
 [67]Re:仕様変更
dsk . 2007 7/21(Sat) 13:41
漢数字もだめですか?残念。
手動なら対策はIP以外ないですね。

60 .Mac mini
dsk . 2007 7/15(Sun) 0:58
VGAのころだったら、たとえば4番ピンと10番ピンを直結すれば16’’モニタが接続されていると認識されると思うけど、流石にDVIだよね。DVI-VGA変換をつないでそのVGA側で4と10の直結じゃだめかな?
 [61]Re:Mac mini
へるみ . 2007 7/16(Mon) 0:24
webでそのあたりの情報を見つけました.ただそんなことしなきゃモニタレスにならんというのがなんだかなあ….
 [62]Re:Mac mini
dsk . 2007 7/18(Wed) 1:57
まぁ、そういう使い方を普通にしたければXserve買えってことじゃないかな。Appleのサポートに電話すると分かるけど、ものすごく丁寧に答えてくれる。あのクオリティで想定外の使い方までサポート出来ないと思う。普通に使っている人のサポートのために、どこがトラブルかを分ける助けになる機能は重要、ということでしょう。
その範囲外の使い方をしたければ英語のTechNoteを見るのが一番だと思います。

59 .Javascript
dsk . 2007 7/10(Tue) 14:07
>FirefoxのJavaScriptの整数の実装は230を超えなければint, そうでなければdoubleを使う.
え?全部doubleだと思ってた。割り算したら急にdoubleになったりするのかな?

56 .整列乗車
dsk . 2007 7/7(Sat) 0:47
こんなの?
http://pc.watch.impress.co.jp/docs/2003/1001/sony07.jpg
 [57]Re:整列乗車
へるみ . 2007 7/9(Mon) 22:38

ちょっと違いますね(笑).

------------
電車
-ドア-------
--------------
○○○.●●●
○○○.●●●
○○○.●●●
○○○



-ドア-------
○○○-------
.↑..●●●
....●●●
....●●●



-ドア-------
++++++------
●●●
●●● ←
●●●

こういうの
 [58]Re:整列乗車
dsk . 2007 7/10(Tue) 14:05
軍隊ですね。

47 .SPAM
へるみ . 2007 7/4(Wed) 23:31
昨日からSPAM書き込みがうっとうしい.総当たりで来てるのかな.
 [50]Re:SPAM
dsk . 2007 7/6(Fri) 0:38
総当たりにしても、スクリプトで見ているにしても、掛け算では対処にならないような...。
数字のところ、a.gifなら0、s.gifなら1、d.gifなら2とかで画像表示してみるとか。
 [51]Re:SPAM
へるみ . 2007 7/6(Fri) 8:49
>総当たりにしても
とりあえず桁数増やしました.これで止まれば総当たりということで.
 [53]Re:SPAM
へるみ . 2007 7/6(Fri) 9:43
止まりませんでした(^^;
画像は面倒なのでどうしようかな.
 [54]Re:SPAM
dsk . 2007 7/6(Fri) 20:53
> 画像は面倒なのでどうしようかな.
全角表示。どう?
 [55]Re:SPAM
へるみ . 2007 7/6(Fri) 22:52
とりあえずipではじくことにしました.

45 .リンクミス
dsk . 2007 6/4(Mon) 13:22
latestの昔が5月のはずが、4月になってます。
 [46]Re:リンクミス
へるみ . 2007 6/5(Tue) 17:48
thanks

42 .看板
dsk . 2007 5/30(Wed) 16:19
まず「侵入ドロボー」とは、スリやひったくり、ネコババと区別する意味で、家宅侵入を伴う泥棒行為のことなんでしょう。でもって、侵入ドロボーを防止」し、「110番通報を推進」する「重点地域」なんでしょうね。
すなわち読む順序は、「ここは侵入ドロボー防止110番通報推進重点地域」「あやしい者不審な物音すぐ110番」ということ。ま、それにしてもおかしな看板ですが、赤で買いてある「ドロボー、110番」だけ見えれば十分という話もあります。

ちなみに、私はよく110番する方ですね。
 [43]Re:看板
へるみ . 2007 5/30(Wed) 21:20
いやまあ私もそう解釈するしかないとは思いましたが,手書きじゃないから勢いで書いたわけじゃないんですよねぇ.
あと赤い部分は大抵消えてしまうから,そうなると『「侵入防止」しようとしたら通報する』ことを推進するのかなと.
 [44]Re:看板
dsk . 2007 5/31(Thr) 12:27
>手書きじゃないから勢いで書いたわけじゃない
使いこなせていないPowerPointで勢いでデザインして、看板屋に入稿してたりして。

38 .[DEL]キーについては100パーセントタッチタイプできたほどである。
Hash . 2007 5/25(Fri) 23:14
BackSpace派の私には無縁の物のようです(^^;
ブラインドタッチする人はCTRL+何がしを使うんだろうな。と思って押してみた。
んが、IEのコントロールに使われていてEDITには使えないみたい。
元々自己流でホームポジション維持しつつカーソル移動とか出来ない(つか知らんかったもんそんなの)ので浪打キーボードはいらんなぁ。

無駄に長いスペースは少し欲しいけど。
 [39]Re:[DEL]キーについては100パーセントタッチタイプできたほどである。
dsk . 2007 5/26(Sat) 0:27
はい、私はControl+h派です。Emacs使いの人はControl+dもあり。最近のMacOSのテキストボックスはEmacsのデフォルトキーバインドが使えるので、Control+dもOK。
 [40]Re:[DEL]キーについては100パーセントタッチタイプできたほどである。
へるみ . 2007 5/27(Sun) 9:25
私は「窓使いの憂鬱」によりどこでもctrl-hです(Emacsでもそうしてたなあ).ただ親指シフトの流れもあって日本語キーボードのコロンの位置にもバックスペースを割り当ててます.
ctrl-hやctrl-mは8-bit機(FM7, AV?)の頃からありませんでしたっけ.
 [41]Re:[DEL]キーについては100パーセントタッチタイプできたほどである。
Hash . 2007 5/28(Mon) 18:42
有ったと思います>Ctlr-h
が、当時エスケープシーケンスって何?という状態だったので(^^;

TownsではCtrl-E(カーソル以降消去)とかは使ってました。
あり?Ctrl-Zも使ってた気がするな・・。
AV後半は少しだけ使ってたかも。
でもバックスペースは自前押し。薬指届くし(^^;

37 .違和感
dsk . 2007 5/4(Fri) 19:52
http://dictionary.goo.ne.jp/search.php?MT=%B0%E3%CF%C2%B4%B6&search_history=&kind=&kwassist=0&jn.x=53&jn.y=18&jn=%B9%F1%B8%EC&mode=0

gooの辞書(三省堂提供「大辞林 第二版」)だと、違和感は感じるみたいですが。

36 ./bin/*sh
dsk . 2007 4/18(Wed) 23:35
そんなもの恐くて一つも消せません(弱)。
そもそも私がrootで作業したいときは、
% sudo zsh
とするかな。

32 .二重敬語
dsk . 2007 4/12(Thr) 14:59
各位様のような「後」二重敬語は違和感が大きいけど、「前」二重敬語は違和感を感じないのはなぜだろう?
「おみあし」「おみき」「おみおつけ」などは(少なくとも語源的には)「御御」のようです。他のパターン
としては「お伺いする」(訪れるを二重に謙譲)「お召しになる」(食うを二重に尊敬)とかも違和感を感じない二重敬語ですね。
 [33]Re:二重敬語
へるみ . 2007 4/12(Thr) 23:14
「御御」は二重敬語というよりは強調な気がします.
「お伺いする」や「お召しになる」は言わないなあ.前者の「お〜」は謙譲なのかしら.
まあ,それよりは「違和感を感じる」に違和(感)を覚える,あるいは違和感がある(^^;
 [34]Re:二重敬語
dsk . 2007 4/13(Fri) 8:42
「お〜する」は謙譲語の標準パターンです。
 [35]Re:二重敬語
へるみ . 2007 4/13(Fri) 19:44
自分は言わないというだけで言うのを否定してるわけじゃないです.
それに今のところ標準かどうかは人によるところが大きいのでは.
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=%E3%81%8A%E5%8F%AC%E3%81%97%E4%B8%8A%E3%81%8C%E3%82%8B+%E4%BA%8C%E9%87%8D%E6%95%AC%E8%AA%9E&num=50

30 .trygraph
dsk . 2007 4/11(Wed) 18:53
trygraphは知っていたのですが、"?n"の「?」と「n」間に「?」+「改行」が挟めることは知りませんでした。
 [31]Re:trygraph
dsk . 2007 4/11(Wed) 18:55
文字化けです。半角?に見えるものは、半角\の文字化けです。ちなみに、入力時は半角¥に見えてました。

29 .make happy(3/21)
dsk . 2007 4/11(Wed) 18:51
どーでもいいコメントですが、昔のMacintoshでインストーラの最後のメッセージが「Make your Mac happy ...」だったのを思い出しました。

21 .alignment
dsk . 2007 3/7(Wed) 16:55
offsetは8バイトの倍数で良いのですね....。
16の場合で+8バイトで速度が落ちていない理由が分からない。
+7バイトが+15バイトに比べて遅い理由と、両立する理由は?
 [22]Re:alignment
dsk . 2007 3/9(Fri) 1:09
> offset = 7のときはmod 8で3つの区間に跨がるから一番遅いのかな.
先にも書きましたが、それだと「+7バイトが+15バイトに比べて遅い理由」がつかないですよね?
 [23]Re:alignment
Hash . 2007 3/16(Fri) 2:32
お久しぶりです。
テスト結果見ました。
SIZE16、Offset12の時INTの読み込みがペナルティ食らってるのはコピペミスでしょうか?
書き込み時は最後の4byteでも問題ないようですが・・。

で、肝心の8+2byte読みでは?の方は
offset8でA,Dペナルティなし、B,Cは微妙に(誤差の範囲?(^^;)あり。
前のテストでは16byte境界をまたがなければペナルティは無いようなんですが、はて?
やっぱり単なる誤差かな(^^;;;

面白かったのはFPUの方がMMXより早い事。でもペナルティはMMXの方が少ない。
ブロック転送はMMXよりFPUの方がいいのかしらん?

あとはライトバックがあっても読み込みの方が早いのねんと言うこと。
頭が486のままなのでちと衝撃を受けました。

#スパム来ましたね・・。1件しか見なかったので手動かな?
 [24]Re:alignment
へるみ . 2007 3/16(Fri) 20:54
お久しぶりです.

>SIZE16、Offset12の時INTの読み込みがペナルティ食らってるのはコピペミスでしょうか?
そうでした.修正しました.ありがとうございます.

>B,Cは微妙に(誤差の範囲?(^^;)あり。
これは誤差の範囲です.ちょっとループ回数が少なかったようであんまり
安定してません.

>面白かったのはFPUの方がMMXより早い事。でもペナルティはMMXの方が少ない。

有為な差を感じたので私も意外でしたけど,まじめにループアンロールなどして
きちんと見ないと即断するのは危険だと思います.

>ブロック転送はMMXよりFPUの方がいいのかしらん?
昔のTOWNSでの高速化を思い出します(^^;

>あとはライトバックがあっても読み込みの方が早いのねんと言うこと。
>頭が486のままなのでちと衝撃を受けました。

一番違っていて,痛いのはやはり4096(とかその辺)の差だけずれた二つの
データへのアクセス時のペナルティです.
かなり食らうようなんですが,予防が難しいのです.

>#スパム来ましたね・・。1件しか見なかったので手動かな?
かもしれません.
消そうとして,このBBSは管理者権限がないのに気がつきました(^^;
 [25]Re:alignment
Hash . 2007 3/17(Sat) 9:37
>>B,Cは微妙に(誤差の範囲?(^^;)あり。
>これは誤差の範囲です.ちょっとループ回数が少なかったようであんまり
>安定してません.
やっぱり誤差ですか。前のテストと食い違うのでそうかなとは思ってました。

>昔のTOWNSでの高速化を思い出します(^^;
PEN.さんがmalloc,freeに細工して8バイトだか16バイト境界に乗せるようにしてましたなぁ。

>一番違っていて,痛いのはやはり4096(とかその辺)の差だけずれた二つの
>データへのアクセス時のペナルティです.
>かなり食らうようなんですが,予防が難しいのです.
ページ境界をまたぐから・・とかならもっと他の条件でもなりそうですしねぇ。
12bitオフセットモードとか何かあるんでしょうか(^^;

>消そうとして,このBBSは管理者権限がないのに気がつきました(^^;
ログをダウンして自前消去、再アップでしょうか(^^;
お疲れ様です。
 [26]Re:alignment
へるみ . 2007 3/18(Sun) 22:49
今日,PENさんにお会いしました.元気でしたよ.

>12bitオフセットモードとか何かあるんでしょうか(^^;
詳しいことはCPUによって違いますが,異なるアドレスのデータがキャッシュの同じ位置に入ってしまうからのようです.
 [27]Re:alignment
Hash . 2007 3/21(Wed) 2:14
>今日,PENさんにお会いしました.元気でしたよ.
元気でなによりです。
そういえば数年前、PENさんが物理的に丸くなったと言う噂を聞いたんですがどうでした?(^^;;

>詳しいことはCPUによって違いますが,異なるアドレスのデータがキャッシュの同じ位置に入ってしまうからのようです

同時に実行しちゃったから・・とかなら余計な命令挟めばすみますが・・。
うーむ。単なる設計ミスな気が(^^;
 [28]Re:alignment
へるみ . 2007 3/21(Wed) 20:33
>物理的に丸くなった
彼の心は穏やかで丸いですよ.体の方は,気をつけてくださいとは言ってますが(^^;

16 .
dsk . 2007 2/10(Sat) 13:04
文中の「母集団」は「サンプル」のことですね。
前半は、数千万人の母集団の情報を統計的に推定するのにたとえば「12人」というサンプルは小さすぎるという主張ですよね。母集団が数千万人なら無作為性が言えるとしても1000人程度以上のサンプルをとることが望ましいです。
ちなみに私にはほとんど蓄えがなく借金だらけですが。
それはさておき、仮に500万円以上の貯蓄のある人を対象としたマーケティングにおいて、どのように対象をしぼるかについてですが、それは「上」な人と「下」の人数を比べるだけでは駄目で、「上」な人の購入率と「下」な人の購入率を考慮する必要があります。すなわち、「上」人数x「上」購入率=「上」見込み客量、「下」人数x「下」購入率=「下」見込み客量。ここで、見込み客量は、一人当りの粗利が一定なら人数で考えて良いし、そうでなければ粗利額で考えないといけませんねぇ。
実際はもっと複雑でしょうけど。
 [18]Re:購買力
へるみ . 2007 2/11(Sun) 18:55
そうですね.「上」と「下」のどちらが高級なものを求めるかを調査する必要がありますね.高級な車を買う理由にしても,余裕があると思ってるからとか,せめて見かけだけでもよくしたいから,とかいろいろあるでしょうし.
とか考えるとそもそも「上」と「下」で区別する意味って何?ってのが本音ですが.
 [20]Re:
dsk . 2007 2/12(Mon) 23:03
もし、正しく測ったとして「上」と「下」で有意な差があれば、そこではじめて区別する意味が出てくる訳で、そういう切口を見つけるのが、マーケッターの仕事(の一部)なんでしょうね。

17 .大化の改新
dsk . 2007 2/11(Sun) 11:35
これって今の教科書の内容でもすでに、我々の教科書と違うという話です。
 [19]Re:大化の改新
へるみ . 2007 2/11(Sun) 18:55
へえ,そうなんですか.今度教科書見てみます.

13 .結婚はがき
UNA . 2007 2/1(Thr) 0:11
ハガキをコピーしました?
 [14]Re:結婚はがき
へるみ . 2007 2/1(Thr) 8:19
ご明察
 [15]Re:結婚はがき
UNA . 2007 2/1(Thr) 23:02
インクがにじんでたので、もしや???と思って。

10 .あるある
とっこ . 2007 1/22(Mon) 15:05
捏造は別の意味で非常に悪いことですが、
対照実験とかプラシーボとか、検証に重要な点を外す考え方が
一般に浸透してしまうのではないかと危惧していました。

ただ、自分でも結論ありきの検証はどうしてもバイアスが・・・
実に難しい問題だ(^^;
 [12]Re:あるある
へるみ . 2007 1/22(Mon) 20:38
>結論ありきの検証はどうしてもバイアスが・・・

中学,高校でする実験も結論に一致するまでやり直し,て感じですから,
そういう思考形態になりがちです.
そういや高校では統計処理とか実験の方法って殆ど習わんですね(今はどうなんだろう).

鋭い直感や洞察に基づいて結果をいじっちゃうこともあることはあるようですけど(ミリカンの実験:http://ja.wikipedia.org/wiki/%E3%83%AD%E3%83%90%E3%83%BC%E3%83%88%E3%83%BB%E3%83%9F%E3%83%AA%E3%82%AB%E3%83%B3)まあ,例外でしょうね.

8 .数解研
dsk . 2007 1/14(Sun) 23:13
SKKの辞書でも一発変換だし、外部の人(情報工学関係の友人たちや、文学部関係の友人など)はRIMSのことを良くそう呼んでいましたね...。
 [9]Re:数解研
naoto . 2007 1/17(Wed) 4:20
20年前近傍の理学部では数解研と読んでいたようです。また、10年前近傍の工学部でもふつうに数解研と呼んでました。近所の人に聞いたら10年前の理学部もわかるかな…
 [11]Re:数解研
へるみ . 2007 1/22(Mon) 20:31
googleでどっちが多いのか調べてみましたが別のがひっかかってよく分かりませんでした.

2 .CAST ENIGMA
dsk . 2006 12/18(Mon) 23:43
確かキャンペーンのときに解いて袋をもらったと思う。外すのに2.5h、戻すのに3.5hで合計6hくらいかかったような...。
HANAYAMAのCAST PUZZLEのレベル6ではCAST CHAINが個人的には気に入ってます。元の状態は「外すまで最も手間のかかる状態」と「外れた状態」の中間くらいの状態であって、しかもそれなりに難しいです。
 [3]Re:CAST ENIGMA
へるみ . 2006 12/20(Wed) 9:38
#レスポンステスト

まだ戻してないです.戻すのも難しいのですね.
そうえいば知恵の輪を自分で買ったのは初めてな気が.
 [4]Re:CAST ENIGMA
dsk . 2006 12/21(Thr) 17:41
# 強制スレッドタイプですか?
知恵の輪には様々なタイプがありますが、CAST ENIGMAは外すときの試行錯誤の過程を覚えていなければ戻す方が難しいタイプだと思います。CAST CHAINは外し方が分かれば、戻すのは楽なタイプです。
 [7]Re:CAST ENIGMA
へるみ . 2006 12/21(Thr) 23:41
スレッド無しのフラットがいいですかね.
そういやniftyのでも私は日付順でしか使ったことなかったな.

しばらく運用して考えます.

5 .Linuxカーネル2.6解読室
dsk . 2006 12/21(Thr) 17:46
unsinged → unsigned のtypoはおいといて、baa = foo;のfooの定義が良く分からんです。
連載読んでないと駄目ですか?
# ちなみにレスには足し算要らんのですね。
 [6]Re:Linuxカーネル2.6解読室
へるみ . 2006 12/21(Thr) 23:39
fooはグローバルに定義されてみんなで共有すべき変数と思ってください.

# ロボットがわざわざ引用部分に書き込むことは無いだろうと思いまして.

1 .インデントはタブで
へるみ . 2006 12/18(Mon) 16:55
タブはスペース4個に変換されます.
連続するスペースは一つのスペースになってしまいます(すんません).
int main()
{
    puts("hello");
}

article number: delete key:

Response BBS by The Room