So-net無料ブログ作成

今日の出来事 プログラム高速化と無料ゲーム [アーリーリタイア]

こんばんは

今日は曇りで過ごしやすかったです。

明日から雨という予報ですが、紫陽花が復活したらいいのですが。

住民税の第一回目(全4回)の支払い分の締め切りが7月1日だったのでコンビニで支払ってきました。

振り込みはめんどくさいですが、サラリーマンでなく口座振替にして後で支払額などが変わって止めるためにめんどくさいことになったので面倒でも毎回現金で払った方がいいと思います。

資産管理電卓で前ベンチマークを取ったのですが、完全インタプリタで内部コードも全くなかったので DSi のプチコンにスピードで負けてしまいました。

昨日ねられなくて悶々としてたら簡単にパースしたトークンをキャッシュできる方法を思いつきやってみました。

seq(
 let(
  a,
  input("整数を入力してください")
 ),
 fnc_print_init,
 let(b,0),
 for(d,2 , a - 1 , 1 ,
  if(eq(mod(a,d),0) ,
   seq(
    let(b,1),
    fnc_print(stradd("/",d,"で割り切れました!\n"))
   )
  )
 ),
 if(eq(b,0),fnc_print(stradd(a,"は素数です")),fnc_print(stradd(a,"は素数ではありません")))
)


99999ですると10秒だったのが8秒になりました。

ほとんど変わらず、構文解析が遅い原因でなかったことがわかりました。

それで、まぁもう実用的な速度が出てるしいいかと思ってたんですが、色々プロファイルを取ってるとどうも if 関数当たりのスキップ処理が遅そうということで一度パースしたら条件により一発でトークン位置を変更するようにしました。

すると、10秒かかってたのが0.5秒になりました。

DSi が 6 秒なので DSi より12倍速いです(笑)

linecalc33.jpg

まぁこれはPCがCorei7 8700なのもありますが、これでゲーム機より遅いということは無くなりました。

でも、高速化したところでそんなパワー使ってないですが。

ネット見てるとポケコンのゲームが未だに作られて投稿されていたり、プログラム作る人が増えてますね。

今の難しいプラットフォームではなくてプチコンやAndroidのBASIC等の簡単だけど高速で実用的な環境が有志により整ってて驚きです

ゲームもパズル系は結構面白くて頭使いますね。

無料なのも男気がありますが、これは発表するという事以外にいわゆる就職するときに有利だからとうのもあると思います。

というのは僕の時もそうでした。

ゲーム会社入るときに自分の作ったゲームを見せるのは定番でしたから。

雑誌でゲームでグランプリ取ってそれをアピールしたら結構有名な会社に就職できました。

分りやすいですよね採用側も。

コメント(0) 
共通テーマ:日記・雑感

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。