2012年10月17日水曜日

since_id再最適化とfont size

since_id、short状態がなかなか完了しない状態が発生(これは前から認識)、とりあえずアクセラレータをつけてみた。なんとなく解消はされたけどもっともっと最適化はできそう。meta traderで為替の規則性を追っかけてた頃を思い出す。結局後付けの、理論というか言い訳というか、引力発見以前の惑星軌道計算みたいに、ゴテゴテ足していってとりあえずは計算ずくのように見せかけて実は近似がたまたまうまく行ってるように見えてただけでした、という感じ。そこまでひどくはないか。ひとまず、こんな感じで。今までのところの最適解。
if(!offsetflg){
if(lastid>topid){
NSLog(@"short! tid:%lld/sid:%lld/lid:%lld/difid:%lld (acc:%d/brk:%d)",topid,since_id,lastid,difid,acc,brk);
brk=2;difid=lastid-topid;difid*=acc++;since_id+=difid;
offsinceval=[NSString stringWithFormat:@"%lld",since_id];[self reqDB];
return;
}else if(lastid<=[[[bd valueForKeyPath:post(@"id")]lastObject]longLongValue]){
NSLog(@"over! tid:%lld/sid:%lld/lid:%lld/difid:%lld (acc:%d/brk:%d)",topid,since_id,lastid,difid,acc,brk);
acc=1;
if(difid){since_id-=difid;difid/=brk++;since_id+=difid;}
else since_id-=(topid-[[[bd valueForKeyPath:post(@"id")]lastObject]longLongValue]);
offsinceval=[NSString stringWithFormat:@"%lld",since_id];[self reqDB];
return;
}else{
NSLog(@"ok");
difid=0,acc=1,brk=2;
for(id idnum in [bd valueForKeyPath:post(@"id")]){
if(lastid<=[idnum longLongValue]) skip++;
else break;
}
}
}
あと、type毎のfont size設定も完了。これは別に何の苦労もなくできた。

iPhone5のケース到着。あらためて、これ
素晴らしい。

0 件のコメント:

コメントを投稿