◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

素人のインタプリタを速くするスレ


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/prog/1412420470/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1 :
仕様書無しさん
2014/10/04(土) 20:01:10.18
http://www1.axfc.net/u/3334871

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

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

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

ではよろしく。
2 :
仕様書無しさん
2014/10/04(土) 22:50:19.41
以下Photoshop職人の手による匠のコラが始まります。
3 :
仕様書無しさん
2014/10/05(日) 00:03:03.06
じゃあこれも頼んだ
http://ideone.com/FeUdtC
4 :
仕様書無しさん
2014/10/05(日) 08:16:06.00
>>1
とりあえず、if/elseの化け物みたいなの止めろ
switchのが早くなるが、
バイトコードやりたいなら↓みたいな、関数ポインタ使ってランダムアクセスさせたほうが早い
typedef void(*tp10e_operator_t)(unsigned char *mem, REGS *regs);
static tp10e_operator_t operator_table[sizeof char] = {
/*NOP*/tp10e_nop,
/*MOV*/tp10e_mov,
/*ADD*/tp10e_add,
//(ry
};

getargs_one/getargs_twoはswitchに切り替えろ。
getargs_one/getargs_twoがおそらく速度のボトルネックになるから最適化の余地はあるな。
ARGS_ONE/ARGS_TWOは.hで公開する必要ないし構造体である必要もない気がするから、いまその構造体のメンバつかってるのはローカル変数でもええやろ


あと、こんだけかけるなら言う必要ねーかも試練が、unsigned charとかはtypedefしたほうが楽じゃね?ってかバイトコードなら変数が何ビットなのか固定させとかんといかんと思う。
あと、used1とused2ってなに?これローカル変数でよくね?速度だすならグローバル変数より若干速くなるような気がするがc言語5年ぶりだから覚えてない。
あと、このソース(.c)の外部に公開しない関数ならstaticつけたほうが無難かな。
.hってインクルードガードしなくてええの?

一応ぱっと見こんなところだとおもう。
5 :
仕様書無しさん
2014/10/05(日) 08:47:56.48
>>3
なぜ今の時代にBASIC作ろうとしたしw
ってかどこの誰のソースだよw


あえていうと、まず速度出そうってプログラムじゃなさそうだから速くできるかは五分五分だな。

構文解析の部分は
Tokenizer.tokenize()で正規表現やめると早くなるだろう。
ってかbison使え。

実行部分は
まず、switchやめてMap使え。

あと
例外処理のtry-catchは使うな。
メソッド呼び出しが多すぎんだよ、速度出せってほうがもう無理だな
6 :
仕様書無しさん
2014/10/05(日) 09:19:22.53
横からだが、例外処理入れなかったら、例外が発生した時にどうするんだ?
7 :
仕様書無しさん
2014/10/05(日) 09:28:09.72
速度出せって要求だから例外処理はtry-catchはしない。
全部自前で処理しろ。
8 :
仕様書無しさん
2014/10/05(日) 11:32:23.49
それは非常に難しい要求だなw
なんせ、Javaは例外処理を前提で作られたライブラリだからなw
9 :
仕様書無しさん
2014/10/05(日) 14:00:01.09
例外処理やめろってのは言い過ぎたか。
まぁ、あっても速度が劇的にって期待できるわけでもねーしいいや
んじゃ全部のメソッドstaticにしようぜ
10 :
仕様書無しさん
2014/10/05(日) 17:47:26.37
Javaなら標準のトーカナイザ使おうぜ
http://docs.oracle.com/javase/jp/7/api/java/io/StreamTokenizer.html
11 :
仕様書無しさん
2014/10/05(日) 18:20:30.90
こんな簡単に!
http://ideone.com/aimGgs
12 :
仕様書無しさん
2014/10/05(日) 19:17:53.60
>>4さん
ありがとうございます
採用させていただきます。
あとこのインタプリタを仮想マシン(環境?)
に採用したのですが
なぜか上手く動きません。
ここにプロジェクトあげとくので
修正点などあったらご指摘お願いします。

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

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

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

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

ちなみに>>3
僕じゃないです。
13 :
仕様書無しさん
2014/10/05(日) 19:20:11.93
URL貼り忘れました
http://www1.axfc.net/u/3335645
14 :
仕様書無しさん
2014/10/06(月) 02:15:47.50
>>12
おまえは何を甘えているんだ?
デバッグさせるきかよ。

そも、前の修正で速度稼いだつもりだったけど、
512コアとか65536sheetとやらぶん回してたら速度なんて無理だよw
割り込みで本当に処理させるべき処理なのか?この辺の処理は。
仮想マシン上にダイレクトに処理が記述されすぎなんだが、もう一枚かませないとだめじゃね?
15 :
仕様書無しさん
2014/10/06(月) 10:51:03.10
>>14さん
結局自己解決しました。
今のところ128コア・256sheetで快適に動いてます。
(C2D E8400 OC 3.6GHz + ASUS GTX650 GDDR5 1GB)
16 :
仕様書無しさん
2014/10/08(水) 03:38:12.44
>>5
javaってswitchのほうが速いんじゃないの?
17 :
片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/10/08(水) 14:01:21.06
「クロスワード ギバー」Windows用ソフト
http://katahiromz.web.fc2.com/xword/
https://github.com/katahiromz/XWordGiver

これを速くして下さい。お願いします。
18 :
仕様書無しさん
2014/10/08(水) 14:09:35.11
片山ってあのゆうちゃんの親戚筋?
19 :
片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/10/08(水) 14:20:01.66
親族でも親戚でもないよ。。。
同じ苗字や同姓同名が多いのは知っているが。。。
20 :
仕様書無しさん
2014/10/08(水) 15:07:06.07
そりゃ実際に犯罪者と親戚だとしても堂々と親戚だなんて言えないわな
21 :
片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/10/09(木) 15:24:59.33
http://katahiromz.web.fc2.com/xword/
https://github.com/katahiromz/XWordGiver

たくさんコアがあったら、10x10でもすぐ解が求められるかな???
マルチコアに詳しくないからわからない。だれか教えて
22 :
仕様書無しさん
2014/10/09(木) 21:57:36.61
ざっと眺めてみてよく書いたと思うよ。
何となくだが、細かい部分で高速化できる部分は散見されるが本質的なアルゴリズムの部分に踏み込むには骨が折れそうだw
XgSolveXWordRecurse/XgSolveXWordNoAddBlackRecurse/XgSolveXWordがどういう理由付けで
関数わけされたのかいまいちわからんし。。。


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

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

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

nCount外に出すとかじゃなく単語探すのに、
先に探したい文字列の長さ決まってるっぽいからmap<length,list<word>>で先に分けておくと無駄なループが省けるってことだな。
25 :
片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/10/18(土) 17:03:32.96
よくわからない。。。
Pull Requestしてくれないか?
26 :
仕様書無しさん
2014/10/18(土) 22:53:23.82
pull request?俺に修正させる気?
27 :
片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/10/18(土) 23:01:22.27
アマゾンギフト券3000円くらいで頼む。実測で高速化確認が前提で。
28 :
仕様書無しさん
2014/10/18(土) 23:04:53.55
桁が3つ足りねえよクズ
29 :
仕様書無しさん
2014/10/18(土) 23:52:11.58
久々にレス入れたと思えばくそみたいなこといいがやるのなw
30 :
仕様書無しさん
2014/10/18(土) 23:55:17.43
3000円なんて手付金レベルじゃねえかw
31 :
仕様書無しさん
2014/10/19(日) 00:14:25.92
前金で3000円、成功報酬で5万円かな
32 :
片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/10/19(日) 00:47:32.44
長さごとに単語データをまとめるのをやってみたけど、
あまり早くならなかったんだよね。やり方が悪いのか
33 :
仕様書無しさん
2014/10/19(日) 00:53:46.56
お前、素人じゃねえだろ
34 :
仕様書無しさん
2014/10/20(月) 01:20:54.00
乞食のプロなのか?
35 :
仕様書無しさん
2014/10/22(水) 07:11:51.79
>>29
みたいってなんだよ
糞そのものだろ
36 :
仕様書無しさん
2014/10/23(木) 02:10:09.14
Javaはtableswitchを使って高速化するべし
37 :
仕様書無しさん
2014/10/23(木) 14:43:35.21
情報処理技術者試験のCOMET IIをtableswitchにしてみた
38 :
仕様書無しさん
2014/10/23(木) 14:44:11.61
情報処理技術者試験のCOMET IIをtableswitchにしてみた
http://ideone.com/rPF3VH
39 :
仕様書無しさん
2014/10/23(木) 14:47:55.81
ちゃんとtableswitchになってるょ

http://pastebin.com/UDw6GNMA
40 :
仕様書無しさん
2014/10/23(木) 21:12:51.03
引数が0個のときNOPが出るんだけど、
41 :
仕様書無しさん
2014/10/23(木) 22:57:25.87
42 :
仕様書無しさん
2014/10/26(日) 02:54:47.02
Javaはswitchがかなり高速だな

http://ideone.com/SFR1UA
43 :
仕様書無しさん
2014/10/26(日) 03:22:46.13
>>5が言う
> 実行部分は
> まず、switchやめてMap使え。

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

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

検索の速度においては
配列(ランダムアクセス) > ハッシュ法 >= リスト(シーケンシャルアクセス)
48 :
仕様書無しさん
2014/10/26(日) 21:42:41.02
ハッシュって実装の仕方で差異が大きくないか?
49 :
仕様書無しさん
2014/10/29(水) 23:32:16.13
え?
50 :
仕様書無しさん
2014/11/01(土) 06:02:49.52
データの特性を見てシノニムが発生しにくいキーを生成するようにする
51 :
仕様書無しさん
2014/11/01(土) 18:03:08.13
ランタイムで特性計算できたらカッコいいな。
52 :
仕様書無しさん
2014/11/04(火) 18:38:29.26
http://ideone.com/jEwpHw
ひとまずLISPのトークン分解は出来た
53 :
仕様書無しさん
2014/11/07(金) 23:34:18.33
>>45
HashMapがなんだかわかってないだろ
54 :
仕様書無しさん
2014/11/08(土) 00:05:12.50
どの手法が速いかなんて個々のJVMの実装次第じゃねえの
考えにくいがJVMによっては配列がMapより遅くなることもありえるんじゃないのか
55 :
仕様書無しさん
2014/11/14(金) 10:39:04.39
c/c++の場合だけど配列でのジャンプがハッシュ使ってるコンテナより遅くなることはあった、ハッシュを工夫する必要すらなかった
その時一番速かったのは結局最適化前提のswitchで、じゃあ最初からswitch使えよって話なんだけど
長いswitch書きたくなくてswitchのコードを自動生成するツールを作った
56 :
仕様書無しさん
2015/11/18(水) 05:22:02.99
BASICインタプリタを作るのとLISPインタプリタを作るのとどっちが楽?
スタックマシンで作るのとレジスタマシンで作るのとどっちが楽?
57 :
仕様書無しさん
2015/11/18(水) 09:38:10.89
お前ら利益追求しろよ!
IT財産
経営者 右肩上がり
技術者 右肩下がり
15KB

lud20160825031309
このスレへの固定リンク: http://5chb.net/r/prog/1412420470/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「素人のインタプリタを速くするスレ」を見た人も見ています:
タレント扱いでテレビに出てた素人や番組スタッフの名前を挙げてくスレ
運転手になりたい人が質問するスレ 2ド素人目
🤗素人の歌に感動するスレ🤗
【藻無】フェラ抜き動画を唐驍キるスレ【素人】 ©bbspink.com
素人イラストレーターBOBOMINDがアップするスレ
【熟女LABO】巷で噂の「おばさんレンタル」サービス29 性格よし子な優しいおばさんの人柄につけ込んでどこまでやれるか試してみた結果…中出しセッ...【熟女/素人】 ©bbspink.com
【男性】マッチングアプリで婚活する60代素人童貞 親との死別で婚活を決意 理想は20歳くらいの女性…ってマジ!?[08/28] ©bbspink.com
ガンダムウォー素人スレ
素人熟女が好きな孤男専用スレッド
白人女の素人エロ画像スレ [無断転載禁止]
33歳数学ど素人だが、フィールズ賞目指すスレ
一般人の素人が一眼レフに匹敵するiPhoneを買ってなにすんだ?
【素人が作成】 間取り批評スレ 【プロが批評】-18-
【素人】三重守と一緒に三重県の野球を見守るスレ【お断り】
【個撮限定】素人熟女の自家製エロ動画スレ Part3©bbspink.com
素人のHな写真がいっぱいのサイトとか教え合うスレ ©bbspink.com
【素人】カーデザインスレinデザイン板【禁止】
童貞32歳スレ見て職場の29歳の同僚に声をかけた35歳の素人童貞だが
【インスタTwitter】素人おっぱい画像総合スレ【Tumblr】
【射精に】素人の個人撮影顔射スレ【こだわる】 [無断転載禁止]©bbspink.com
【素人が作成】 間取り批評スレ 【プロが批評】-13- [無断転載禁止]
素人ハメ撮りインタビュー系で一番可愛いのってこの人でいいか?
【バーチャルYoutuber】にじさんじ有ンチスレ21834【素人を採るな】
【バーチャルYoutuber】にじさんじ有ンチスレ14281【フミの素人AV】
吉本芸人の千鳥・大悟「アイドルや役者など素人がバラエティ番組で笑い取ろうとするなよ」
素人にVBA仕込んだ
健康的な素人の水着
素人の自撮りオナニー動画
良いと思った素人の林檎カバー
めちゃくちゃシコい素人のフェラ、見つかる
素人の画像コラに自信ニキ [無断転載禁止]
素人には 8÷2(2+2) を16と答える馬鹿が居るらしい
【画像】インスタで晒された素人の水着がエロい
スクエニが素人の考えたアイデアで商品を発売予定
プリンタ健康被害スレッド
インタープリター言語スレ。
【実売15K以下】やすいプリンタスレ
【富士】Printpix&チェキプリンター総合スレ
センター試験までの残り90日をカウントダウンしていくスレ
【湊町インター】魔法つかいプリキュア!アンチスレ19【すぐ近く】 [無断転載禁止]
【バーチャルYouTuber】ENTUM(エンタム)アトチスレ1767【大和田常務クソコラグランプリ】
口悪いアトランタを虐待する艦これスレ
ホットラインセンターF9様を支援するスレ
【無責任】インターワンを糾弾するスレ【放置】
Win10UpGradeのカウンターがどうなるか予想するスレ
センター7割理系情報系の国立出願の助言をするスレ
【2ch荒らし】F9(ホットラインセンター支援者【非公式】)のtwitterを観察するスレ
【バ一チャルYouTuber】ENTUM(エンタム)アンチスレ1589【エンタムが最強である理由をここに証明する】
気になる人のイニシャルを書くスレ7
アプリ開発のインターンがしたいんだが
連絡ほしい人のイニシャルを書くスレ Part.4
一日の食生活を書くスレ in 健康食・サプリ板 [無断転載禁止]
するーするんを叩くスレ 4
次のイベントを予想するスレ
DABOのインスタについて考察するスレ
受験する大学で最も偏差値の低い大学を書くスレ
俺の英単語帳アプリにダメ出しをするスレ
液晶モニタのインバータ鳴きを報告するスレ
もみぞうのしりとりに粘着するキチを叩くスレ
タミヤMMシリーズを応援するスレ36
タミヤMMシリーズを応援するスレ 28
コンマ3桁ゾロ目をコンプリートするスレ
オリックスに相当するものを挙げて行くスレ 27
「聖域」に相当するものを挙げて行くスレ 18.4聖域目
名前欄に!omikujiで猪鹿蝶をコンプリートするスレ
20:11:01 up 100 days, 21:09, 0 users, load average: 12.06, 11.19, 10.84

in 0.013671875 sec @0.013671875@0b7 on 072709