Last active
September 30, 2017 03:44
-
-
Save Hamayama/904643c8ef867e88cf30c7eabb5aaa6f to your computer and use it in GitHub Desktop.
Gauche の Windows コンソールのコードページ対応の測定
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<Gauche の Windows コンソールのコードページ対応の測定> | |
1. 環境 | |
OS : Windows 8.1 (64bit) | |
開発環境 : MSYS2/MinGW-w64 (64bit) (gcc version 7.1.0 (Rev2, Built by MSYS2 project)) | |
Gauche : v0.9.6_pre2 (コミット aa189e6 + 変更) | |
2. 測定 | |
2.1. ロード時間測定 | |
(1)コマンドプロンプト1 (Windows コンソール対応あり) | |
gosh -pload | |
Load statistics: | |
Time(us) File | |
--------+------------------------------------------------------------------- | |
15627 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/generator.scm | |
15627 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/common-macros.scm | |
15626 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/charconv.scm | |
15625 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/defvalues.scm | |
15623 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/os/windows/console/codepage.scm | |
15620 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/procedure.scm | |
15609 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/srfi-0.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/interactive.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/portutil.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/srfi-13.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/vport.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/srfi-26.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/util/match.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/partcont.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/uvector.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/data/queue.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/sequence.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/collection.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/srfi-1.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/os/windows.scm | |
--------+------------------------------------------------------------------- | |
109357 Total | |
(2)コマンドプロンプト2 (Windows コンソール対応なし) | |
set GAUCHE_WINDOWS_CONSOLE_RAW=1 | |
gosh -pload | |
Load statistics: | |
Time(us) File | |
--------+------------------------------------------------------------------- | |
15639 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/common-macros.scm | |
15595 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/interactive.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/srfi-0.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/defvalues.scm | |
--------+------------------------------------------------------------------- | |
31234 Total | |
(3)mintty1 (Windows コンソール対応あり) | |
gosh -pload | |
Load statistics: | |
Time(us) File | |
--------+------------------------------------------------------------------- | |
15642 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/collection.scm | |
15626 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/vport.scm | |
15625 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/interactive.scm | |
15625 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/portutil.scm | |
15625 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/procedure.scm | |
15609 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/uvector.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/defvalues.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/os/windows/console/codepage.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/charconv.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/srfi-13.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/srfi-26.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/util/match.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/generator.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/partcont.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/data/queue.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/sequence.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/common-macros.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/srfi-1.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/os/windows.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/srfi-0.scm | |
--------+------------------------------------------------------------------- | |
93752 Total | |
(4)mintty2 (Windows コンソール対応なし) | |
export GAUCHE_WINDOWS_CONSOLE_RAW=1 | |
gosh -pload | |
Load statistics: | |
Time(us) File | |
--------+------------------------------------------------------------------- | |
15640 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/interactive.scm | |
15626 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/common-macros.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/srfi-0.scm | |
0 C:\Program Files (x86)\Gauche\share\gauche-0.9\0.9.6_pre3\lib/gauche/defvalues.scm | |
--------+------------------------------------------------------------------- | |
31266 Total | |
2.2. 表示時間測定 | |
(1)コマンドプロンプト1 (Windows コンソール対応あり) | |
gosh | |
(time (print (iota 10000))(flush)) | |
; real 1.669 | |
; user 0.703 | |
; sys 0.281 | |
(2)コマンドプロンプト2 (Windows コンソール対応なし) | |
set GAUCHE_WINDOWS_CONSOLE_RAW=1 | |
gosh | |
(time (print (iota 10000))(flush)) | |
; real 0.109 | |
; user 0.047 | |
; sys 0.000 | |
(3)mintty1 (Windows コンソール対応あり) | |
gosh | |
(time (print (iota 10000))(flush)) | |
; real 0.016 | |
; user 0.016 | |
; sys 0.000 | |
(4)mintty2 (Windows コンソール対応なし) | |
export GAUCHE_WINDOWS_CONSOLE_RAW=1 | |
gosh | |
(time (print (iota 10000))(flush)) | |
; real 0.016 | |
; user 0.016 | |
; sys 0.000 | |
3.3. リダイレクト測定 | |
プログラム test_file.scm | |
(define (main args) | |
(time | |
(let loop ([line (read-line)]) | |
(unless (eof-object? line) | |
(print line) | |
(loop (read-line)))) | |
(flush)) | |
0) | |
入力ファイル test_in.txt | |
100文字x10000行で約1Mバイトのファイル | |
(1)コマンドプロンプト1 (Windows コンソール対応あり) | |
del test_out.txt | |
gosh test_file.scm < test_in.txt > test_out.txt | |
; real 0.062 | |
; user 0.047 | |
; sys 0.016 | |
(2)コマンドプロンプト2 (Windows コンソール対応なし) | |
set GAUCHE_WINDOWS_CONSOLE_RAW=1 | |
del test_out.txt | |
gosh test_file.scm < test_in.txt > test_out.txt | |
; real 0.063 | |
; user 0.047 | |
; sys 0.015 | |
(3)mintty1 (Windows コンソール対応あり) | |
rm test_out.txt | |
gosh test_file.scm < test_in.txt > test_out.txt | |
; real 0.062 | |
; user 0.015 | |
; sys 0.047 | |
(4)mintty2 (Windows コンソール対応なし) | |
export GAUCHE_WINDOWS_CONSOLE_RAW=1 | |
rm test_out.txt | |
gosh test_file.scm < test_in.txt > test_out.txt | |
; real 0.062 | |
; user 0.016 | |
; sys 0.047 | |
(2017-9-11)(2017-9-12)(2017-9-23)(2017-9-24)(2017-9-30) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment