Тест производительности Factor ( P4,3.0, 1 )
Запускал из директории benchmark так:
..\..\factor benchmark.factor
Потом
benchmarks
и пару раз Enter ( т.к. сразу он не находит нужное слово, а только с подсказкой )
Как более правильно запускать и загружать из его оболочки ещё не было временни разобраться, например tetris по рекомендации запускал как "tetris" run
или по его слову tetris-window
Код:
Пересобраное ядро(1замер) Пересобраное ядро(2замер)
Benchmark Time (seconds) Time (seconds) Time (seconds)
backtrack 4.593132 4.386663 4.359012
base64 13.857512 11.97356 12.045872
beust1 46.681225 25.85165 25.873311
beust2 17.88822 17.780815 17.748864
binary-search 0.562425 0.561993 0.562464
binary-trees 3.780742 3.543674 3.5154
bootstrap1 29.042971 26.975635 26.763912
continuations 0.10936 0.109276 0.109368
crc32 2.280943 2.013806 2.015496
dawes 0.703031 0.686879 0.687456
dispatch1 1.593535 1.545479 1.578024
dispatch2 1.07798 1.155207 1.24992
dispatch3 2.796499 2.825573 2.81232
dispatch4 6.311651 6.291193 6.312096
dispatch5 4.530641 4.558383 4.624704
empty-loop-0 0.124983 0.109276 0.109368
empty-loop-1 0.687408 0.6088249999999999 0.609336
empty-loop-2 0.609293 0.6088249999999999 0.70308
euler150 18.544382 19.404349 18.98316
euler186 117.17175 116.354574 117.867456
fannkuch 5.108688 5.794797 5.15592
fasta 13.123236 11.964461 12.608568
fib1 0.109361 0.109336 0.109368
fib2 0.093738 0.09371599999999999 0.109368
fib3 0.312458 0.296769 0.31248
fib4 0.312458 0.312388 0.328104
fib5 1.140472 1.093358 1.140552
fib6 16.200947 18.274698 19.108152
iteration 7.889565 7.309879 9.077617
knucleotide 0.48431 0.49982 0.515599
mandel 0.218721 0.203052 0.218738
md5 2.296566 2.249194 2.437375
nbody 5.530506 5.498029 5.609088
nested-empty-loop-1 0.124983 0.124955 0.124994
nested-empty-loop-2 1.937239 1.936806 1.999898
nsieve 1.171718 1.171455 1.187439
nsieve-bits 3.749496 3.592462 3.749808
nsieve-bytes 0.781145 0.7809700000000001 0.812459
partial-sums 3.077712 3.077022 3.171713
random 24.481085 24.975421 24.326879
raytracer 4.764985 8.278282000000001 5.390349
recursive 9.233134 8.981154999999999 9.296398999999999
regex-dna 15.888489 15.260154 16.233543
reverse-complement 5.421147 5.310596 5.515343
ring 7.842696 7.965894 7.8121
sha1 9.983033000000001 10.246326 10.796323
sockets 224.282353 225.557842 229.144518
sort 5.624244 5.827193 5.796578
spectral-norm 40.166476 41.540227 41.794735
stack 2.609024 2.68707 2.687362
sum-file 5.296163 5.43663 5.562216
typecheck1 1.56229 1.56225 1.624916
typecheck2 0.999865 1.031085 1.046822
typecheck3 1.109226 1.140443 1.15619
typecheck4 0.984243 1.015463 1.015573
ui-panes 0.96862 0.99984 0.9687
Ждать только долго, пока он нужные библиотеки подгрузит. Возможно ещё, что то
тестирует и оптимизирует:) После этого в корневой директории образовалось
несколько boot.*.image для разных ОС.
Самосборку factor.img он тоже может сделать. ( factor.exe -i=boot.<cpu>.image )
P.S. Можно посмотреть еще demos ( а там ... есть тетрис:) хотя, при запуске под windows не всё запустилось.
То, что Factor форт нового поколения - это вряд ли.
Сколько форт ориентированных языков существует? а форт "всё живее всех живых"
Разрабатывается Factor с 2003года, как сказано на идеях Forth, PostScript, Smalltalk
( "пятилетка" однако )