「新メモリ最適化ツール In AB」の編集履歴(バックアップ)一覧はこちら

新メモリ最適化ツール In AB」(2010/03/21 (日) 03:04:05) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

1999年、CompJapanを名乗るVBプログラマー中学生の遺作。それが新メモリ最適化ツール。 VBで作られたもので後にソースが公開された。 CompJapan自慢のASテクノロジと共にABにコア部分を移植してみた。 #asciiart(blockquote){ #N88BASIC Dim Aaaa As Single '最適化のタイマー関係の変数 Dim Bbbb As Single 'For..Next構文にしようする変数 Dim Kkkk As Long 'なんでも Dim Jjjj As String '最適化中のログ(log.dat)に使用する変数 Dim Hhhh As DWord 'ウインドウハンドル Dim Llll As Long '最適化レベル Dim Qqqq As String 'ユーザー入力 Dim Cccc As Long Mmmm() Sub Mmmm() Print "メモリを最適化しましょう。" Print "ASテクノロジ(Yes)" *Rrrr Print "" Print "0=スピードモード,1=通常モード,2=ゆっくりモード" Input Qqqq Llll=Asc(Left$(Qqqq,1))-Asc("0") If Llll>2 Or Llll<0 Then GoTo *Rrrr Hhhh=GetForegroundWindow() SetTimer(Hhhh, Llll, 30, AddressOf(Tttt)) 'タイマー End Sub Sub Tttt(Hhhh As Long, Uuuu As Long, Iiii As Long, Dddd As Long) While Cccc=1:Sleep(30): Wend Cccc=1 If Iiii=0 Then Timer1_Timer() If Iiii=1 Then Timer2_Timer() If Iiii=2 Then Timer3_Timer() Cccc=0 End Sub Sub Timer1_Timer() 'スピードモード Aaaa = Aaaa + 1 'パーセント提示の数字 Jjjj = "Data Error none..." 'Printする文字列を格納 Open "log.dat" For Output As #1 For Bbbb = 1 To 400 Print #1, Jjjj 'CPU処理のためのPrint文 For Kkkk = 1 To 100 Kkkk = Kkkk + 65468543 Kkkk = Kkkk - 65468543 Next Kkkk For Kkkk = 1 To 50 Kkkk = Kkkk + 65468543 Kkkk = Kkkk - 65468543 Next Kkkk For Kkkk = 1 To 100 Kkkk = Kkkk + 65468543 Kkkk = Kkkk - 65468543 Next Kkkk Next Bbbb Close #1 If Aaaa = 100 Then '最適化終了したら… Print "完了" KillTimer(Hhhh,Llll) Kill "log.dat" GoTo *Ssss End If Print Aaaa;"%" '~%と表示させる *Ssss End Sub Sub Timer2_Timer() '通常モード Aaaa = Aaaa + 1 'パーセント提示の数字 Jjjj = "Data Error none..." 'Printする文字列を格納 Open "log.dat" For Output As #1 For Bbbb = 1 To 3000 Print #1, Jjjj 'CPU処理のためのPrint文 For Kkkk = 1 To 120 Kkkk = Kkkk + 65468543 Kkkk = Kkkk - 65468543 Next Kkkk Next Bbbb Close #1 If Aaaa = 100 Then '最適化終了したら… Print "完了" KillTimer(Hhhh,Llll) Kill "log.dat" GoTo *Ssss End If Print Aaaa;"%" '~%と表示させる *Ssss End Sub Sub Timer3_Timer() 'ゆっくりモード Aaaa = Aaaa + 1 'パーセント提示の数字 Jjjj = "Data Error none..." 'Printする文字列を格納 Open "log.dat" For Output As #1 For Bbbb = 1 To 25000 Print #1, Jjjj 'CPU処理のためのPrint文 For Kkkk = 1 To 50 Kkkk = Kkkk + 65468543 Kkkk = Kkkk - 65468543 Next Kkkk Next Bbbb Close #1 If Aaaa = 100 Then '最適化終了したら… Print "完了" KillTimer(Hhhh,Llll) Kill "log.dat" GoTo *Ssss End If Print Aaaa;"%" '~%と表示させる *Ssss End Sub }

表示オプション

横に並べて表示:
変化行の前後のみ表示: