Thank you Barney for more scientific tests of conditional's performance. I
hope these tests will show once and for all that in CFMX iif is nothing to
be afraid of as far as speed goes. The results for cfswitch slower
performance also surprise me, didn't expect that, good to know.

TK
  -----Original Message-----
  From: Barney Boisvert [mailto:[EMAIL PROTECTED]
  Sent: Wednesday, February 11, 2004 7:43 PM
  To: CF-Talk
  Subject: RE: Which is quicker

  I ran several tests to check the relative performance of the various
  conditional things. In every case, the idea was to check a variable
  containing either a string or an int, against one or two other constants
of
  the same type, or select a default (2- or 3- way).  The action for the
  matched conditional was to assign a separate (preinitialized) variable
with
  a constant of the same type.  Each conditional was implemented using each
of
  the three conditional constructs CF provides.

  I have provided results below for two separate runs of 100,000 iterations
  each below, for 24 records (two each for the 12 tests).

  Overall results were that CFIF and IIF were similar in execution profile,
  with CFIF having a slight edge when dealing with strings (presumably
because
  of the dynamic evaluation), and IIF having a slight edge with more than
two
  conditionals (presumably because it can be nested 'better').  CFSWITCH was
  noticably slower across the board, particularly when dealing with strings
  (which surprises me).

  Test server was running ColdFusion Server Standard 6,1,0,63958 on top of
  Apache/2.0.47, on a 600mHz AMD k6-2 machine with 256MB of RAM (my pathetic
  dev server that also has to cope with serving files to the office, run
  MySQL, and act as our internet gateway/router).

  If anyone's interested in the test script or the excel spreadsheet of
data,
  I'd be happy to send it to you.  Just email me off list.

  time    mechanism    data       ways
  1103    CFIF         Integers   2
  1208    IIF          Integers   2
  2042    CFSWITCH     Integers   2
  2285    CFIF         Integers   2
  2669    IIF          Integers   2
  3763    CFSWITCH     Integers   2
  786     CFIF         Strings    2
  885     IIF          Strings    2
  891     CFIF         Strings    2
  966     IIF          Strings    2
  5756    CFSWITCH     Strings    2
  6722    CFSWITCH     Strings    2
  1173    IIF          Integers   3
  1452    IIF          Integers   3
  1611    CFIF         Integers   3
  2102    CFSWITCH     Integers   3
  2323    CFSWITCH     Integers   3
  3908    CFIF         Integers   3
  888     CFIF         Strings    3
  1089    IIF          Strings    3
  1908    CFIF         Strings    3
  2188    IIF          Strings    3
  7749    CFSWITCH     Strings    3
  11211   CFSWITCH     Strings    3

  Cheers,
  barneyb

  > -----Original Message-----
  > From: Matthew Walker [mailto:[EMAIL PROTECTED]
  > Sent: Wednesday, February 11, 2004 3:39 PM
  > To: CF-Talk
  > Subject: RE: Which is quicker
  >
  > Interesting that people's ideas of good programming style are
  > so different.
  > I think we generally consider good style to be the way we as
  > individuals
  > normally do it, i.e. consistent style is good style. I would
  > always use
  > cfswitch where there are more than two static values to choose from,
  > therefore to me that's good style. I would also write <cfif
  > recordset.recordcount> and consider that elegant. Others find
  > it appalling.
  >
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]

Reply via email to