X



素人のインタプリタを速くするスレ
■ このスレッドは過去ログ倉庫に格納されています
0001仕様書無しさん垢版2014/10/04(土) 20:01:10.18
http://www1.axfc.net/u/3334871

なんか遅い気がするので修正頼む。
知恵袋よりいいかなと思って立てました。
多分改善点はあると思います。

ここ間違ってるってあったら修正します(ほぼ毎日20:00-21:00頃います)

多分何してるかは見たらわかると思います。

ではよろしく。
0012仕様書無しさん垢版2014/10/05(日) 19:17:53.60
>>4さん
ありがとうございます
採用させていただきます。
あとこのインタプリタを仮想マシン(環境?)
に採用したのですが
なぜか上手く動きません。
ここにプロジェクトあげとくので
修正点などあったらご指摘お願いします。

仕様:
ベースアドレス:0x1000
CPUの処理構造体(REGS、TP10E_CALLBACK)512個
512コアを順番に切り替えて一命令ずつ実行

問題点:
>>4さんのコード採用前・後ともに)
・実行が割り込み後の0x1067で止まる
・2コア目がなぜか0x1060で止まる

正常に動けば:
・タイトルが"window"というウィンドウが画面内に二つ出てくる
・そのうちひとつはもうひとつより少し(16ドット)右下

ここもよろしくお願いします。

ちなみに>>3
僕じゃないです。
0014仕様書無しさん垢版2014/10/06(月) 02:15:47.50
>>12
おまえは何を甘えているんだ?
デバッグさせるきかよ。

そも、前の修正で速度稼いだつもりだったけど、
512コアとか65536sheetとやらぶん回してたら速度なんて無理だよw
割り込みで本当に処理させるべき処理なのか?この辺の処理は。
仮想マシン上にダイレクトに処理が記述されすぎなんだが、もう一枚かませないとだめじゃね?
0015仕様書無しさん垢版2014/10/06(月) 10:51:03.10
>>14さん
結局自己解決しました。
今のところ128コア・256sheetで快適に動いてます。
(C2D E8400 OC 3.6GHz + ASUS GTX650 GDDR5 1GB)
0016仕様書無しさん垢版2014/10/08(水) 03:38:12.44
>>5
javaってswitchのほうが速いんじゃないの?
0018仕様書無しさん垢版2014/10/08(水) 14:09:35.11
片山ってあのゆうちゃんの親戚筋?
0020仕様書無しさん垢版2014/10/08(水) 15:07:06.07
そりゃ実際に犯罪者と親戚だとしても堂々と親戚だなんて言えないわな
0022仕様書無しさん垢版2014/10/09(木) 21:57:36.61
ざっと眺めてみてよく書いたと思うよ。
何となくだが、細かい部分で高速化できる部分は散見されるが本質的なアルゴリズムの部分に踏み込むには骨が折れそうだw
XgSolveXWordRecurse/XgSolveXWordNoAddBlackRecurse/XgSolveXWordがどういう理由付けで
関数わけされたのかいまいちわからんし。。。


XgSolveXWord()のなかで、単語の配列(リスト?)でループまわしてるけど、
その中で、長さチェックしてる部分。これって事前に長さ別に配列に保持すると高速化できたりするかも。

あと、2313行目の後にbreak;入れると若干無駄がなくなるかな
0023片山博文MZ次期CEO ◆T6xkBnTXz7B0 垢版2014/10/09(木) 22:34:22.78
レビューありがとう。

確かにnCountは外に出した方がいいな。
2313行は、どこ?
0024仕様書無しさん垢版2014/10/09(木) 22:58:23.49
xword.cppの2313行目の下にbreakじゃなくてその多重ループ抜ける処理かけば無駄なループが軽減できるってだけな。

nCount外に出すとかじゃなく単語探すのに、
先に探したい文字列の長さ決まってるっぽいからmap<length,list<word>>で先に分けておくと無駄なループが省けるってことだな。
0025片山博文MZ次期CEO ◆T6xkBnTXz7B0 垢版2014/10/18(土) 17:03:32.96
よくわからない。。。
Pull Requestしてくれないか?
0026仕様書無しさん垢版2014/10/18(土) 22:53:23.82
pull request?俺に修正させる気?
0027片山博文MZ次期CEO ◆T6xkBnTXz7B0 垢版2014/10/18(土) 23:01:22.27
アマゾンギフト券3000円くらいで頼む。実測で高速化確認が前提で。
0029仕様書無しさん垢版2014/10/18(土) 23:52:11.58
久々にレス入れたと思えばくそみたいなこといいがやるのなw
0030仕様書無しさん垢版2014/10/18(土) 23:55:17.43
3000円なんて手付金レベルじゃねえかw
0036仕様書無しさん垢版2014/10/23(木) 02:10:09.14
Javaはtableswitchを使って高速化するべし
0037仕様書無しさん垢版2014/10/23(木) 14:43:35.21
情報処理技術者試験のCOMET IIをtableswitchにしてみた
0038仕様書無しさん垢版2014/10/23(木) 14:44:11.61
情報処理技術者試験のCOMET IIをtableswitchにしてみた
http://ideone.com/rPF3VH
0043仕様書無しさん垢版2014/10/26(日) 03:22:46.13
>>5が言う
> 実行部分は
> まず、switchやめてMap使え。

Mapってどういう仕組みの処理なん?
0044仕様書無しさん垢版2014/10/26(日) 03:30:52.86
http://ideone.com/uuL5FS

Mapとやらをswitchと比較したいのに
Mapの実装の仕方が分からないから比較できない
0045仕様書無しさん垢版2014/10/26(日) 03:31:42.83
Mapというのは配列によるアクセスよりも速いのだろうか
0046仕様書無しさん垢版2014/10/26(日) 10:24:12.33
北海道セラピー学院中嶋聡 死 ね
キモイで醜男
こいつセラピーとかいって人のクリ○リス触ってきたよ マジで死ね
0047仕様書無しさん垢版2014/10/26(日) 14:18:48.26
>>44,45
Mapって検索方法をハッシュ法使えってことだろ。
switchがテーブル化されること期待できるならswitchのが高速。

検索の速度においては
配列(ランダムアクセス) > ハッシュ法 >= リスト(シーケンシャルアクセス)
0048仕様書無しさん垢版2014/10/26(日) 21:42:41.02
ハッシュって実装の仕方で差異が大きくないか?
0050仕様書無しさん垢版2014/11/01(土) 06:02:49.52
データの特性を見てシノニムが発生しにくいキーを生成するようにする
0054仕様書無しさん垢版2014/11/08(土) 00:05:12.50
どの手法が速いかなんて個々のJVMの実装次第じゃねえの
考えにくいがJVMによっては配列がMapより遅くなることもありえるんじゃないのか
0055仕様書無しさん垢版2014/11/14(金) 10:39:04.39
c/c++の場合だけど配列でのジャンプがハッシュ使ってるコンテナより遅くなることはあった、ハッシュを工夫する必要すらなかった
その時一番速かったのは結局最適化前提のswitchで、じゃあ最初からswitch使えよって話なんだけど
長いswitch書きたくなくてswitchのコードを自動生成するツールを作った
0056仕様書無しさん垢版2015/11/18(水) 05:22:02.99
BASICインタプリタを作るのとLISPインタプリタを作るのとどっちが楽?
スタックマシンで作るのとレジスタマシンで作るのとどっちが楽?
0057仕様書無しさん垢版2015/11/18(水) 09:38:10.89
お前ら利益追求しろよ!
IT財産
経営者 右肩上がり
技術者 右肩下がり
0058仕様書無しさん垢版2016/10/09(日) 16:49:57.77
インタプリタ
構文解析の使えば簡単
0059仕様書無しさん垢版2017/06/10(土) 01:17:47.82
意味が分からない
0060仕様書無しさん垢版2017/12/29(金) 22:06:07.22
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

L9UL2UMY6S
0061仕様書無しさん垢版2018/05/22(火) 13:10:43.24
とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

ENIYK
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況