Files
harbour-core/harbour/tests/bnch_win.bat
Viktor Szakats c356496480 2009-03-29 11:02 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* INSTALL
  * external/Makefile
  + external/libhpdf/*
  + external/libpng/*
    + Added libharu and libpng to Harbour repository.
      Now it's possible to use libhpdf as static lib on all
      platforms. This is useful because this lib isn't yet part
      of Linux distros.
      libpng is only built for win/dos/os2 platforms.
      It's possible to override libpng location by using
      HB_INC_LIBPNG envvar.

  * contrib/hbhpdf/Makefile
    + Look for libharu headers in /external dir.

  * external/sqlite3/Makefile
    - Disabled for bcc. Latest sqlite3 version breaks with this compiler:
      ---
      Error E2293 ../../sqlite3.c 29156: ) expected in function winCurrentTime
      Warning W8013 ../../sqlite3.c 29157: Possible use of 'timeW' before definition in function winCurrentTime
      Error E2379 ../../sqlite3.c 29157: Statement missing ; in function winCurrentTime
      Error E2379 ../../sqlite3.c 29158: Statement missing ; in function winCurrentTime
      Error E2379 ../../sqlite3.c 29160: Statement missing ; in function winCurrentTime
      Error E2293 ../../sqlite3.c 29161: ) expected in function winCurrentTime
      Error E2379 ../../sqlite3.c 29162: Statement missing ; in function winCurrentTime
      Error E2293 ../../sqlite3.c 29163: ) expected in function winCurrentTime
      Warning W8057 ../../sqlite3.c 29171: Parameter 'prNow' is never used in function winCurrentTime
      *** 7 errors in Compile ***
      ---
      bcc users can report this problem here:
      http://www.sqlite.org/cvstrac/tktnew

  + tests/bnch_win.bat
  - tests/bnchmark
    * Moved bnch_win.bat to tests.
2009-03-29 09:09:24 +00:00

125 lines
5.7 KiB
Batchfile

@rem
@rem $Id$
@rem
@rem ---------------------------------------------------------------
@rem Benchmark for Harbour Project
@rem
@rem Copyright 2009 Viktor Szakats (harbour.01 syenar.hu)
@rem See COPYING for licensing terms.
@rem
@rem This script requires:
@rem - Windows XP or upper
@rem - Harbour binary build
@rem - Harbour binary build \bin dir as current dir
@rem - This batch copied into current dir
@rem - envvar HB_BENCH_PRG set to benchmark program (default: speedtst)
@rem - benchmark program copied into current dir
@rem - envvars HB_CMP_FLAGS_[1-8] set to benchmark program build flags
@rem - envvar HB_CMP_FLAGS set to common benchmark program build flags (optional)
@rem - envvars HB_RUN_FLAGS_[1-8] set to benchmark program run flags (optional)
@rem - envvar HB_RUN_FLAGS set to common benchmark program run flags (optional)
@rem - envvar HB_BENCH_RUNS set to number of times tests are run (default: 3)
@rem - C compiler configured (just like you'd do for hbmk2)
@rem - Running it using this command:
@rem 'hbbm_win.bat > results.txt 2>&1'
@rem ---------------------------------------------------------------
@if not "%OS%" == "Windows_NT" goto END
@rem ; Default settings
@if "%HB_BENCH_PRG%" == "" @set HB_BENCH_PRG=speedtst
@if "%HB_BENCH_RUNS%" == "" @set HB_BENCH_RUNS=3
@if "%HB_CMP_FLAGS_1%" == "" @set HB_CMP_FLAGS_1=-st
@if "%HB_CMP_FLAGS_2%" == "" @set HB_CMP_FLAGS_2=-mt
@rem ; Benchmark information
@set HB_BENCH_PRG
@set HB_BENCH_RUNS
@set HB_CMP_FLAGS
@set HB_RUN_FLAGS
@echo off
echo.>_hbhwinfo.js
echo.var locator = WScript.CreateObject( "WbemScripting.SWbemLocator" );>>_hbhwinfo.js
echo.var services = locator.ConnectServer();>>_hbhwinfo.js
echo.var items = new Enumerator( services.ExecQuery( "SELECT * FROM Win32_Processor" ) );>>_hbhwinfo.js
echo.while( ! items.atEnd() )>>_hbhwinfo.js
echo.{>>_hbhwinfo.js
echo. var item = items.item();>>_hbhwinfo.js
echo. WScript.StdOut.WriteLine( "Name: " + item.Name );>>_hbhwinfo.js
echo. WScript.StdOut.WriteLine( "Description: " + item.Description );>>_hbhwinfo.js
echo. WScript.StdOut.WriteLine( "Manufacturer: " + item.Manufacturer );>>_hbhwinfo.js
echo. WScript.StdOut.WriteLine( "NumberOfCores: " + item.NumberOfCores );>>_hbhwinfo.js
echo. WScript.StdOut.WriteLine( "NumberOfLogicalProcessors: " + item.NumberOfLogicalProcessors );>>_hbhwinfo.js
echo. WScript.StdOut.WriteLine( "AddressWidth: " + item.AddressWidth + " bits" );>>_hbhwinfo.js
echo. WScript.StdOut.WriteLine( "DataWidth: " + item.DataWidth + " bits" );>>_hbhwinfo.js
echo. WScript.StdOut.WriteLine( "CurrentClockSpeed: " + item.CurrentClockSpeed + " MHz" );>>_hbhwinfo.js
echo. WScript.StdOut.WriteLine( "MaxClockSpeed: " + item.MaxClockSpeed + " MHz" );>>_hbhwinfo.js
echo. WScript.StdOut.WriteLine( "ExtClock: " + item.ExtClock + " MHz" );>>_hbhwinfo.js
echo. items.moveNext();>>_hbhwinfo.js
echo.}>>_hbhwinfo.js
echo.var items = new Enumerator( services.ExecQuery( "SELECT * FROM Win32_PhysicalMemory" ) );>>_hbhwinfo.js
echo.var totalMemory = 0;>>_hbhwinfo.js
echo.while( ! items.atEnd() )>>_hbhwinfo.js
echo.{>>_hbhwinfo.js
echo. var item = items.item();>>_hbhwinfo.js
echo. totalMemory += parseInt( item.Capacity ) / 1024 / 1024;>>_hbhwinfo.js
echo. items.moveNext();>>_hbhwinfo.js
echo.}>>_hbhwinfo.js
echo.WScript.StdOut.WriteLine( "Physical memory: " + totalMemory + " MiB" );>>_hbhwinfo.js
@echo on
@rem ; Hardware information
cscript //nologo //E:javascript _hbhwinfo.js
@del _hbhwinfo.js
@rem ; Harbour information
harbour /build
@rem ; Pre-make cleanup
if exist %HB_BENCH_PRG%_*.exe del %HB_BENCH_PRG%_*.exe
@rem ; Creating benchmark executables
if not "%HB_CMP_FLAGS_1%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_1.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_1%
if not "%HB_CMP_FLAGS_2%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_2.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_2%
if not "%HB_CMP_FLAGS_3%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_3.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_3%
if not "%HB_CMP_FLAGS_4%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_4.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_4%
if not "%HB_CMP_FLAGS_5%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_5.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_5%
if not "%HB_CMP_FLAGS_6%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_6.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_6%
if not "%HB_CMP_FLAGS_7%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_7.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_7%
if not "%HB_CMP_FLAGS_8%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_8.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_8%
@rem ; benchmark executable information
dir %HB_BENCH_PRG%_*.exe %HB_BENCH_PRG%.prg
@rem ; pre-OS state information
tasklist
@rem ; Running benchmark executables in multiple runs
@for /l %%r in (1,1,%HB_BENCH_RUNS%) do @call :RUN_ALL %%r
@rem ; post-OS state information
tasklist
@goto END
:RUN_ALL
@echo.
@echo Run #%1
if exist %HB_BENCH_PRG%_1.exe %HB_BENCH_PRG%_1.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_1%
if exist %HB_BENCH_PRG%_2.exe %HB_BENCH_PRG%_2.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_2%
if exist %HB_BENCH_PRG%_3.exe %HB_BENCH_PRG%_3.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_3%
if exist %HB_BENCH_PRG%_4.exe %HB_BENCH_PRG%_4.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_4%
if exist %HB_BENCH_PRG%_5.exe %HB_BENCH_PRG%_5.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_5%
if exist %HB_BENCH_PRG%_6.exe %HB_BENCH_PRG%_6.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_6%
if exist %HB_BENCH_PRG%_7.exe %HB_BENCH_PRG%_7.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_7%
if exist %HB_BENCH_PRG%_8.exe %HB_BENCH_PRG%_8.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_8%
@goto END
:END