virtualbox
Windows10にVirtualBoxをインストールする
Windows 10 Fall Creators UpdateでVirtual Boxも動かなくなってた件
dosBox
Windows10で オリジナルファイラーと一緒に dosboxを使ってみたよ
anex86 残念ながらオリジナルの配布サイトは閉じられたよう
Anex86 PC-9801 エミュレータ導入方法
2018年5月8日火曜日
2018年5月4日金曜日
Windows10 PCでWSL(Windows Subsystem for Linux) したい!
シス管系女子BEGINS 特別編 まんがでわかるWSL
WSLをインストールする これでコマンドラインが使える
コマンドラインと書いたがX Window on WSL (Ubuntu) on Windows 10 Proでは
X11も日本語で使えるようだ。
WSL : Windows で Ubuntu環境 を実行する ここも参考になる
Windows 10のWindows Subsystem for Linux(WSL)を日常的に活用する
WSL+X Windowを1.024倍くらい使いこなす
windowマネージャもlinux系は多彩
Bash on Ubuntu on Windowsでウィンドウマネージャを起動
emacsなど WSL を使って Windows10 上で Linux を動かす
言語も使えるようだ。
EmacsやRubyも大型アップデートWindows 10 Creators Updateで加わったWSL新機能
WSLでWindowsにLinux開発環境を構築する
Windows Subsystem for Linuxを使って「開発」をしてみよう
Windows10上でBash(WSL)を使う開発環境がこう落ち着いた
物理のオタクがWindows Subsystem for Linuxで数値計算できるようになるまで
Windows Subsystem for Linuxで開発環境を整えた
WSLでクリップボードを共有する
Linuxサブシステムにおける、Windowsプログラムとの連携や日本語処理機能を検証
bash on ubuntu on windows(WSL)でGUIを立ち上げて日本語入力まで
Bash on Ubuntu on WindowsでGUIのアプリケーションを実行し、日本語入力するまでのまとめ
WSLを使ってWindowsでmikutterを動かす。
Windows Subsystem for LinuxのUbuntuでuim-mozcを使う
試したかったjupyterでさえもWSLで楽しめそうである。
Windows Subsystem for Linux + Python + Jupyter + Julia
WindowsらしくLinux系でそろえずにこんな記事もある
Windows10でWSLとVSCodeを使ってプログラミング環境を整える
コンソールも良くなってるみたい
Windows 10 Creators Update: Bash/WSL & Windows Consoleの新しい点
windows10では仮想デスクトップも使えるのでかなり面白いことができそう。
VS Code の統合ターミナルで Bash on Ubuntu on Windows を使う
VS Codeの中で使うとRuby開発とか幸せになれそう。
WSLをインストールする これでコマンドラインが使える
コマンドラインと書いたがX Window on WSL (Ubuntu) on Windows 10 Proでは
X11も日本語で使えるようだ。
WSL : Windows で Ubuntu環境 を実行する ここも参考になる
Windows 10のWindows Subsystem for Linux(WSL)を日常的に活用する
WSL+X Windowを1.024倍くらい使いこなす
windowマネージャもlinux系は多彩
Bash on Ubuntu on Windowsでウィンドウマネージャを起動
emacsなど WSL を使って Windows10 上で Linux を動かす
言語も使えるようだ。
EmacsやRubyも大型アップデートWindows 10 Creators Updateで加わったWSL新機能
WSLでWindowsにLinux開発環境を構築する
Windows Subsystem for Linuxを使って「開発」をしてみよう
Windows10上でBash(WSL)を使う開発環境がこう落ち着いた
物理のオタクがWindows Subsystem for Linuxで数値計算できるようになるまで
Windows Subsystem for Linuxで開発環境を整えた
WSLでクリップボードを共有する
Linuxサブシステムにおける、Windowsプログラムとの連携や日本語処理機能を検証
bash on ubuntu on windows(WSL)でGUIを立ち上げて日本語入力まで
Bash on Ubuntu on WindowsでGUIのアプリケーションを実行し、日本語入力するまでのまとめ
WSLを使ってWindowsでmikutterを動かす。
Windows Subsystem for LinuxのUbuntuでuim-mozcを使う
試したかったjupyterでさえもWSLで楽しめそうである。
Windows Subsystem for Linux + Python + Jupyter + Julia
WindowsらしくLinux系でそろえずにこんな記事もある
Windows10でWSLとVSCodeを使ってプログラミング環境を整える
コンソールも良くなってるみたい
Windows 10 Creators Update: Bash/WSL & Windows Consoleの新しい点
windows10では仮想デスクトップも使えるのでかなり面白いことができそう。
VS Code の統合ターミナルで Bash on Ubuntu on Windows を使う
VS Codeの中で使うとRuby開発とか幸せになれそう。
2018年1月4日木曜日
AutoItでFibonacciもやってみた
スタック操作を見たくてFibonacciベンチマークをやってみた。
結果は遅い!変数の型がないのでうまく整数になっていないのかもしれない。
所要時間は940秒ぐらい、つまり15分と40秒なり
これは自前でスタックを用意した99BASIC(383秒)よりも約3倍も掛かっている。
昨日のマンデルといいちょっと主要な開発言語としては厳しいものを感じる。
まあ小さなソースなら書きやすいとは思うのでちょっとずつ使っていこう。
2018年1月3日水曜日
AutoItでmandelbrotをやってみた。
結果は29.5秒ぐらいで99BASICの倍ぐらいの時間がかかっているけど捨てたくなるほどでもないか?
本来の目的がWindowsのソフトの自動化をすることなので・・・
でもちょっとした命令の理解で他の言語(今回はAccess用だけど)向けのソースから数分の修正で上記の結果が得られたことは良いと思う。
またGUIの記述方法もシンプルで良いと思う。
単体で動くEXEにコンパイルできるので活用したいツールだと思う。
2017年12月6日水曜日
面白い現象 ー ActiveBasicに見るコンパイルの仕方
先日のActiveBasicのFibを比較のためにと思ってoldBASIC形式でも試してみた。
あくまでも変数で疑似スタックを作成することの不備を確認するためだと思っていた。
予想は10倍位遅くなっても妥当だと思っていた。
しかし結果は予想を覆すものだった。
結果は下記
old形式:
debug : 3214ms
release : 3167ms
新形式:
debug : 167358ms
release : 5023ms
どうやら旧BASICの書式では殆んどdebug情報がオーバーヘッドに成らないようだ。
多分、碌なdebugが出来ないのかもしれない。
そしてActiveBasicに限って言えばfunction や subの形式にしたときはかなりのオーバーヘッドが発生するほどDebug支援のためのコードが裏で動いていると思われる。
CPUスタックに配置されるであろうローカル変数の操作よりもグローバル変数のみのコードは元の6掛けぐらいの速度になる。
検証用にVBAでも試行してみるか?
あくまでも変数で疑似スタックを作成することの不備を確認するためだと思っていた。
予想は10倍位遅くなっても妥当だと思っていた。
しかし結果は予想を覆すものだった。
結果は下記
old形式:
debug : 3214ms
release : 3167ms
新形式:
debug : 167358ms
release : 5023ms
どうやら旧BASICの書式では殆んどdebug情報がオーバーヘッドに成らないようだ。
多分、碌なdebugが出来ないのかもしれない。
そしてActiveBasicに限って言えばfunction や subの形式にしたときはかなりのオーバーヘッドが発生するほどDebug支援のためのコードが裏で動いていると思われる。
CPUスタックに配置されるであろうローカル変数の操作よりもグローバル変数のみのコードは元の6掛けぐらいの速度になる。
検証用にVBAでも試行してみるか?
2017年11月30日木曜日
ちょっとEulerは一休みでフィボナッチ数列のベンチをしてみた。
再帰でフィボナッチ数列を計算する関数を作成しfib(39)の値を求めるまでの所要時間を表示させるもの
C#(Debug) 4.132秒
C#(リリース) 1.071秒
ruby2.3.3 12.188秒
access(2010) 17.500秒
VBAでこれだけ掛かるし汎用の再帰の関数が定義できない昔のBASICは試すまでもない。
と言いつつ「N88-basicによる はじめてのアルゴリズム入門」河西朝雄著 P.163に
ソースがあったので改造してベンチマークしてみた。
結果は
99basic 383秒
まあよく終わったなって感じですね。ご苦労さまでした。
C#(Debug) 4.132秒
C#(リリース) 1.071秒
ruby2.3.3 12.188秒
access(2010) 17.500秒
VBAでこれだけ掛かるし汎用の再帰の関数が定義できない昔のBASICは試すまでもない。
と言いつつ「N88-basicによる はじめてのアルゴリズム入門」河西朝雄著 P.163に
ソースがあったので改造してベンチマークしてみた。
結果は
99basic 383秒
まあよく終わったなって感じですね。ご苦労さまでした。
これはもう結構遅いと感じたAccessのVBAの20倍の所要時間とは恐ろしい。
しかし問題はそんなことではない。関数が独立したものとして記述できないので単なる戻り場所を記憶したGOTO文にしか過ぎないgosubを再帰的に呼ぶために呼び出し時の変数をスタックに記憶しなければならない。その上スタックのサイズにも気を使わざるを得ず、元の資料では1000用意していた配列を6000に拡大して動かした。
また整数の範囲も-32768から32767の2byteなため解に到達できないし単なる宣言では単精度の浮動小数の型が適用されるため途中で末尾に誤差が生じ始める始末。
あらかじめそのへんの事情を知っていて手を打って初めて解に到達できるというのは厳しい。
javaとActiveBaic4も試してみた
ab4(Debug) 146.002秒
ab4(Release) 5.226秒
java8 0.430秒(何度か試行しての平均)
javaはさすがの結果
手持ちコンパイラの最速はmandelに続いて揺るがず
ただし文字列⇔数値の変換の記述がC#よりも複雑な気がする
技術評論社の「とっさのJava すぐに使える頻出フレーズ300」の必要性がわかった
activebasicのデバッグコンパイルとリリースコンパイルの差が大きいことに驚き。
C#だと4倍程度の差なのに30倍近く差がついた
ab4のソース 綺麗に機能が記述できて最低限のプログラミング要素を満たしてます。
#N88BASIC
' ::: c.f. http://www.activebasic.com/forum/viewtopic.php?t=786
Const cx=640'幅
Const cy=480'高さ
SetWindowPos(_PromptSys_hWnd,HWND_TOP,0,0,cx,cy,SWP_DRAWFRAME or SWP_NOMOVE or SWP_SHOWWINDOW)
dim st as DWORD,ed as DWORD
dim ans as string
function fib(n as long) as long
if n<2 then
fib=n
Else
fib=fib(n-1)+fib(n-2)
end if
end function
st=GetTickCount()
print fib(39)
ed=GetTickCount()
print " 所要時間 : ";ed-st;"ms "
ans = Input$(1)
2017年11月26日日曜日
Project Euler 第14問 「最長のコラッツ数列」
Q.
A.
100万未満なので結局2...1000000の範囲を見て最長のものを選択することになりそう。
律儀にループを回すと結果が帰ってこないことになりそうだが・・・
正の整数に以下の式で繰り返し生成する数列を定義する.
n → n/2 (n が偶数)n → 3n + 1 (n が奇数)
13からはじめるとこの数列は以下のようになる.
13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1
13から1まで10個の項になる. この数列はどのような数字からはじめても最終的には 1 になると考えられているが, まだそのことは証明されていない(コラッツ問題)
さて, 100万未満の数字の中でどの数字からはじめれば最長の数列を生成するか.
注意: 数列の途中で100万以上になってもよい
A.
100万未満なので結局2...1000000の範囲を見て最長のものを選択することになりそう。
律儀にループを回すと結果が帰ってこないことになりそうだが・・・
登録:
投稿 (Atom)
dosvaxj3が更新されていた。
最近、エミュレータ系をあまり触っていなかったのだけど久しぶりに見てみたらタイトルのようにdosvaxj3が更新されていた。 on emulatorでセルフにcなどのソースを書いて実行するのに母艦側の特定のフォルダをドライブとしてマウント出来たり普通に母艦のimeで漢字が入力でき...

