1999年、CompJapanを名乗るVBプログラマー中学生の遺作。それが新メモリ最適化ツール。
VBで作られたもので後にソースが公開された。
CompJapan自慢のASテクノロジと共にABにコア部分を移植してみた。


#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

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年03月21日 03:04