Hello Ron,

There's probably a problem in xHarbour's += operation. 
The following test program takes ages to finish:

/*** tst1.prg ***/
#define N_LOOP 1000000
proc main()
   memvar p
   local i, t
   local l
   static s, s2[1]
   private p
   p := s2[1] := s := l := ""
   t := secondsCPU()
   for i := 1 to N_LOOP
      l += chr( i )
   next
   t := secondsCPU() - t
   ? "LOCAL  +=", t, "sec."
   t := secondsCPU()
   for i := 1 to N_LOOP
      s += chr( i )
   next
   t := secondsCPU() - t
   ? "STATIC +=", t, "sec."
   t := secondsCPU()
   for i := 1 to N_LOOP
      s2[1] += chr( i )
   next
   t := secondsCPU() - t
   ? "ARRAY[] +=", t, "sec."
   t := secondsCPU()
   for i := 1 to N_LOOP
      p += chr( i )
   next
   t := secondsCPU() - t
   ? "PRIVATE +=", t, "sec."
   p := ""; s := "p"
   t := secondsCPU()
   for i := 1 to N_LOOP
      &s += chr( i )
   next
   t := secondsCPU() - t
   ? "MACRO +=", t, "sec."
return

Would appreciate your help to solve this.
This looks crusial, IMO.

Andi


------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
xHarbour-developers mailing list
xHarbour-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xharbour-developers

Reply via email to