Subj : PCMS performance
To   : All
From : Digital Man
Date : Fri Mar 16 2001 10:42 am

PCMS is a rather obscure Synchronet acronym that stands for "Programmable
Command and Menu Structure". Baja is the compiler that converts the .src
(source) file into an executable binary (.bin) file that is then interpretted
by Synchronet as a command shell or loadable module.

If you're familiar with Synchronet command shells or Baja modules, then you're
familiar with PCMS.

Out of curiousity, I've been comparing PCMS performance to other interpretted
scripting systems and the best I could do was come up with this simple
(BogoMIPS inspired) bench mark code:

# PCMS Bench

int i t start

set i 0
call clock_sync
printf "Calculating Performance ..."
:loop
       time t
       compare start t
       if_equal
               add i 1
               goto loop
               end_if
printf "\r\n%lu addition and get-time-of-day operations per second\r\n" i

return

:clock_sync
printf "Synchronizing clock ..."
time t
:sync_loop
       time start
       compare start t
       if_equal
               goto sync_loop
               end_if
crlf
return

####

It's very system-load dependant, to you'll want to run it when there isn't much
(if anything) going on. These are the numbers I've seen so far (averages):

32000 on a lightly-loaded 700mhz Pentium III running WinNT 4.0
 900 on a lightly-loaded 300mhz Pentium II running WinME
 500 on a medium-loaded  300mhz Pentium II running WinME (same machine)
40000 on a lightly-loaded 200mhz Pentium I running Linux 2.2.14

Wow, huh? Let's hear it for Linux! (or maybe it's GCC that should take the
credit?) I haven't tried different OSes on the same hardware yet, but this
could prove interesting. Also, I haven't tried the Borland or GCC builds for
Win32 to see if they get different numbers, but I suspect they would.

Rob

---
� Synchronet � Vertrauen � Home of Synchronet � telnet://vert.synchro.net