Interesting,

As a matter of fact I use stored procedures in my database for a lot of
the big looping of 10s of thousands of records. But that is not portable
and doesn't solve the issue of looping speed within Witango.

I see now that dynamics within loops with compiler based languages have
come a long way since I last tried. 

I just don't want to loose the capability of dynamically creating object
references.

There is a plus side, the continual speed increase on processors. When I
run it on a Pentium 2 400Mhz server it takes a minute and a half :-)

Ben Johansen - http://www.pcforge.com
Authorized Witango Reseller http://www.pcforge.com/WitangoGoodies.htm 
Authorized MDaemon Mail Server Reseller
http://www.pcforge.com/AltN.htm


-----Original Message-----
From: Robert Garcia [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, July 02, 2003 10:16 PM
To: [EMAIL PROTECTED]
Subject: Re: Witango-Talk: Boosting Server Performance, and TCFs

I thought of that, so I made the instantiation a domain scope, then  
removed it for the subsequent times. I was surprised, it didn't not  
seem to have any effect. It must have only added a few milliseconds.  
Either way the TCF method was slightly slower or the same.

I agree that no one is going to look at that many years, but it was a  
good example to use as a comparison.

The reason I am so hot on this, is that I have several reports that I  
need to write, that require alot of looping and processing, and it just

chokes the witango server, and I need to right them in RB. I think if  
we had the choice quick and easy compiled code, then this would be less

of a problem.

Robert.


On Wednesday, July 2, 2003, at 02:55  PM, Ben Johansen wrote:

> No doubt the instantiation of the object is the add second or 2.
>
> If I can find some time I might try server side javascript.
>
> But realistically, I did it for 1 year which is about the max period
> someone would do, the TCF version on my 1.6gig P4 Laptop took a
second.
>
> Start 14:54:31
>
> from 07/02/2003 to 07/02/2004
> Total Nbr Days 366
> Total Work Days 262
>
> End 14:54:32
>
> Ben Johansen - http://www.pcforge.com
> Authorized Witango Reseller http://www.pcforge.com/WitangoGoodies.htm
> Authorized MDaemon Mail Server Reseller
> http://www.pcforge.com/AltN.htm
>
>
> -----Original Message-----
> From: Robert Garcia [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, July 02, 2003 12:49 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Witango-Talk: Boosting Server Performance, and TCFs
>
> I have tested your new TAFs. The TAFs that don't call the TCF method,
> both run 14 to 15 seconds consistently. The TAF that calls the TCF
> takes 15 to 16 seconds consistently.
>
> Does anyone have any updated docs on developing beans for use in
> Witango?
>
> Robert.
>
>
>
> On Wednesday, July 2, 2003, at 12:56  AM, Ben Johansen wrote:
>
>> Ok, so you are cleaning my clock :-)
>>
>> I have changed the calcs into a TCF and also matched your logic.
>>
>> Robert, Could you run the test against your server with the new
>> "workdates3.taf" which calls "daycalc.tcf"?
>>
>> This will be a more accurate time run because it is using the seconds
>
>> model
>> you used in RB.
>>
>> also included is the seconds logic in just a taf "workdates2.taf" (no
>
>> tcf
>> call)
>> could you run this time test on your server
>>
>>
>> Ben Johansen - http://www.pcforge.com
>> -Authorized WiTango Reseller
>>  http://www.pcforge.com/WitangoGoodies.htm
>> -Authorized Alt-N Reseller
>>  http://www.pcforge.com/AltN.htm
>>
>> -----Original Message-----
>> From: Robert Garcia [mailto:[EMAIL PROTECTED]
>> Sent: Tuesday, July 01, 2003 7:03 PM
>> To: [EMAIL PROTECTED]
>> Subject: Re: Witango-Talk: Boosting Server Performance, and TCFs
>>
>>
>> OK, I created an application in RealBasic, and compiled for all
>> platforms. It can be downloaded here:
>>
>> http://public.bighead.net/workdaytest/
>>
>> I also set up the workday taf on my test server and it can be run
> here:
>>
>> http://poh.bighead.net/workday/
>>
>> With the default values, spanning 46020 days my witango v5.1.058
> server
>> running on Windows 2000 server, AMD proc. running at 1.5ghz, with
>> 512megs ram, and a 266FSB, it should take 15 seconds. If it takes
>> longer, it is because a couple of you are hitting it at once.
>>
>> Now If I run my RB app on the same machine, it takes about 1/3 of a
>> second if I do not give a progress indication, and about a second if
I
>> do. That is even more of a performance increase than I expected. On
my
>> mac, the results are about the same, except the progress calc takes
>> just over 2 seconds.
>>
>> Also, I am running my calc within its own thread. If I were to not
>> thread the process, and disable background tasks, I could probably
>> squeeze out another 10% performance.
>>
>> Here is my code from the RB method, you can download the rb project
>> from the link above:
>>
>> Sub calcWDays()
>>     dim sDate,eDate,iDate as date
>>     dim nDays,wDays,sTicks,eTicks as double
>>     dim i as integer
>>     dim s as string
>>
>>     sTicks = ticks
>>
>>     sDate = new date
>>     eDate = new date
>>
>>     sDate.year = sDateDC.year
>>     sDate.month = sDateDC.month
>>     sDate.day = sDateDC.day
>>
>>     eDate.year = eDateDC.year
>>     eDate.month = eDateDC.month
>>     eDate.day = eDateDC.day
>>
>>     nDays = (eDate.totalSeconds - sDate.totalSeconds)/86400
>>
>>     wDays = 0
>>     iDate = new date
>>     iDate = sDate
>>     for i = 1 to nDays
>>        s = str(iDate.DayOfWeek)
>>        if iDate.dayofweek > 1 and iDate.dayofweek < 7 then
>>           wDays = wDays + 1
>>        end if
>>        iDate.TotalSeconds = iDate.TotalSeconds + 86400
>>     next
>>     eTicks = ticks
>>     s = "The total number of dates between "+sDate.abbreviatedDate+"
>> and
>> "+eDate.abbreviatedDate+" is "+str(nDays)+". "
>>     s = s + "The number of workdays in between is "+str(wDays)+" and
>> the
>> time taken to calculate was "+str((eTicks-sTicks)/60)+" seconds."
>>     msgBox s
>>
>> End Sub
>>
>> I tried to make the RB method as Identical to the one in Ben's taf as
>> possible as you can see. sDateDC and eDateDC are the date control
>> objects that the user interacts with.
>>
>> Robert.
>>
>> On Tuesday, July 1, 2003, at 06:09  PM, Ben Johansen wrote:
>>
>>> Cool
>>> and while you at it make the week day taf into a tcf and create a
new
>>> custom
>>> tag called <@DATEDIFFWK>
>>> LOL!.
>>>
>>>
>>> Ben Johansen - http://www.pcforge.com
>>> -Authorized WiTango Reseller
>>>  http://www.pcforge.com/WitangoGoodies.htm
>>> -Authorized Alt-N Reseller
>>>  http://www.pcforge.com/AltN.htm
>>>
>>> -----Original Message-----
>>> From: Robert Garcia [mailto:[EMAIL PROTECTED]
>>> Sent: Tuesday, July 01, 2003 5:05 PM
>>> To: [EMAIL PROTECTED]
>>> Subject: Re: Witango-Talk: Boosting Server Performance, and TCFs
>>>
>>>
>>> Actually, you could instantiate one field, then build an array of
>>> fields to the nth, building an array of field objects, and then loop
>>> through them referencing like so:
>>>
>>> for x = 1 to 10000000
>>>     field(x) = "some value"
>>> next x
>>>
>>> I just downloaded your weekday taf, I will do a test with it.
>>>
>>> Robert.
>>>
>>> On Tuesday, July 1, 2003, at 04:51  PM, Ben Johansen wrote:
>>>
>>>> Yes, when all factors are know the compiled code is quick.
>>>>
>>>> In your example you have 10 and it looks nice an simple.
>>>> Now multiply it by 10 and then maintain it. :-P
>>>>
>>>> Take the example I just sent with workdates.taf
>>>> write a case statement for all possible dates. Aaaaaah.
>>>>
>>>> The number of times that I had a loop that I know all the factors I
>>>> could probably count on my hands and ok I will take off my shoes
> also
>>>> ;-)
>>>>
>>>> The nature of a loop is dynamics, placing the case within the loop
> is
>>>> to
>>>> me not intuitive but is required for a compiler.
>>>>
>>>> I am just going by experience and IMHO I will take dynamics over
>>>> compiled.
>>>>
>>>> Ben Johansen - http://www.pcforge.com
>>>> Authorized Witango Reseller
> http://www.pcforge.com/WitangoGoodies.htm
>>>> Authorized MDaemon Mail Server Reseller
>>>> http://www.pcforge.com/AltN.htm
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Robert Garcia [mailto:[EMAIL PROTECTED]
>>>> Sent: Tuesday, July 01, 2003 4:37 PM
>>>> To: [EMAIL PROTECTED]
>>>> Subject: Re: Witango-Talk: Boosting Server Performance, and TCFs
>>>>
>>>> There really is no increase in code. I do this all the time in a
>>>> single
>>>>
>>>> conditional statement like:
>>>>
>>>> for x = 1 to 10
>>>>
>>>>    select case x
>>>>
>>>>    case 1
>>>>            field_1 = "some value"
>>>>    case 2
>>>>            field_2 = "some value"
>>>>    case 3
>>>>            field_3 = "some value"
>>>>    case 4
>>>>            field_4 = "some value"
>>>>    case 5
>>>>            field_5 = "some value"
>>>>    case 6
>>>>            field_6 = "some value"
>>>>    case 7
>>>>            field_7 = "some value"
>>>>    case 8
>>>>            field_8 = "some value"
>>>>    case 9
>>>>            field_9 = "some value"
>>>>    case 10
>>>>            field_10 = "some value"
>>>> next x
>>>>
>>>> There are other ways also, this is the simplest. Another way is to
>>>> build an array of objects, and loop through them.
>>>>
>>>> I think you underestimate the level of performance gain you get
when
>>>> you compile versus interpret on the fly on complex tasks.
Especially
>>>> processing loops. I will do a test and get back to this with some
>>>> results.
>>>>
>>>> Robert.
>>>>
>>>> On Tuesday, July 1, 2003, at 02:32  PM, Ben Johansen wrote:
>>>>
>>>>> You are correct, and this is where I question the speed boost.
>>>>>
>>>>> On one hand you have the quicker run speed but on the other hand
> you
>>>>> have the increased amount of code due to lose of this dynamic.
>>>>>
>>>>> There is no easy conversion of code and mindset between them.
>>>>>
>>>>> Ben Johansen - http://www.pcforge.com
>>>>> Authorized Witango Reseller
>>>>> http://www.pcforge.com/WitangoGoodies.htm
>>>>> Authorized MDaemon Mail Server Reseller
>>>>> http://www.pcforge.com/AltN.htm
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: Robert Garcia [mailto:[EMAIL PROTECTED]
>>>>> Sent: Tuesday, July 01, 2003 2:20 PM
>>>>> To: [EMAIL PROTECTED]
>>>>> Subject: Re: Witango-Talk: Boosting Server Performance, and TCFs
>>>>>
>>>>> dynamic referencing a table is one thing, that should be ok. What
I
>>>>> mean is referencing an object dynamically like you can do with
>>>>> javascript/flash with the eval() function.
>>>>>
>>>>> For instance, in javascript/flash, if you have a set of fields,
>>>>> named
>>>>> field_1, and field_2, and so on to field_10, they could be
>>>>> referenced
>>>>> dynamically like so:
>>>>>
>>>>> for x = 1 to 10
>>>>>    eval("field_"+str(x)) = "some value"
>>>>> next x
>>>>>
>>>>> The same could be done in witango with a bunch of arguments, <@arg
>>>>> field_1>, and so on.
>>>>>
>>>>> <@for start=1 stop=10 step=1>
>>>>>   <@addrows local$newArray <@arg field_<@currow>>>
>>>>> </@for>
>>>>>
>>>>> I don't believe this could be done in a compiled language. You
> would
>>>>> have to use a select case method or build an array of objects or
>>>>> something.
>>>>>
>>>>> Robert.
>>>>>
>>>>> On Tuesday, July 1, 2003, at 01:47  PM, Atrix Wolfe wrote:
>>>>>
>>>>>> you could still do dynamic referencing if they made allowances
for
>>>> it,
>>>>>
>>>>>> like
>>>>>> if they stored a table w/ the names of the vars and pointers to
>>>>>> them.
>>>>>>
>>>>>> If you can make java bytecodes though and then use gcc to make
> that
>>>>>> into an
>>>>>> executable or dynamic library, would you really need With to make
> a
>>>>>> witango
>>>>>> compiler?  That is assuming you dont lose anything like dynamic
>>>>>> referencing
>>>>>> in either of those 2 steps.
>>>>>>
>>>>>> I've been kind of wondering about this since With said you could
>>>>>> make
>>>>>
>>>>>> tango
>>>>>> into java bytecodes though...if you made your code into java
>>>>>> bytecodes, does
>>>>>> it support dynamic referencing TCF's, includes etc?
>>>>>>
>>>>>> Just wondering if could expect any and all code to work the same
>>>>>> whether it
>>>>>> was tango or java bytecodes.
>>>>>>
>>>>>>
>>>>>> ----- Original Message -----
>>>>>> From: "Robert Garcia" <[EMAIL PROTECTED]>
>>>>>> To: <[EMAIL PROTECTED]>
>>>>>> Sent: Tuesday, July 01, 2003 1:25 PM
>>>>>> Subject: Re: Witango-Talk: Boosting Server Performance, and TCFs
>>>>>>
>>>>>>
>>>>>>> Just because our tafs would be compiled in some native format,
>>>>> doesn't
>>>>>>> mean we would have to start worrying about things garbage
>>>> collection.
>>>>>>> The compiled tcf would would have in/out points and process data
>>>>>>> within. It would run within the memory space of the witango
>>>>>>> server,
>>>>>>> and
>>>>>>> the server would handle the garbage collection and the nasty
>>>>>>> stuff.
>>>>>>> The
>>>>>>> main benefit would be that complex methods in a tcf would not be
>>>>>>> scripted, but compiled so that there would be no tag processing
>>>>>>> and
>>>>>>> the
>>>>>>> other performance drags that are inherant with an interpreted
>>>>>>> language.
>>>>>>> It would mean, though, that certain things you can do in a tml
or
>>>>> taf,
>>>>>>> you could not do, like dynamic referencing.
>>>>>>>
>>>>>>> Robert.
>>>>>>>
>>>>>>> On Tuesday, July 1, 2003, at 09:49  AM, Scott Cadillac wrote:
>>>>>>>
>>>>>>>> But it does add several layers of complexity too. I'm not an
>>>>>>>> expert
>>>>>
>>>>>>>> at
>>>>>>>> this
>>>>>>>> level by any means, but it seams to me that Witango isn't ready
>
>>>>>>>> to
>>>>>>>> support
>>>>>>>> this kind of low-level environment (nor any interpreted
language
>>>> for
>>>>>>>> that
>>>>>>>> matter, e.g., ColdFusion).
>>>>>>>>
>>>>>>>> For example, garbage collection and other memory allocation
>>>>>>>> issues
>>>> -
>>>>>>>> what
>>>>>>>> sort of Metatags would we need for this?
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Robert Garcia
>>>>>>> President - BigHead Technology
>>>>>>> CTO - eventpix.com
>>>>>>> 2781 N Carlmont Pl
>>>>>>> Simi Valley, Ca 93065
>>>>>>> ph: 805.522.8577 - cell: 805.501.1390
>>>>>>> [EMAIL PROTECTED] - [EMAIL PROTECTED]
>>>>>>> http://bighead.net/ - http://eventpix.com/ -
> http://theradmac.com/
>>>>>>>
>>>>>>>
>>>>>
> ____________________________________________________________________
>>>>> _
>>>>> _
>>>>>>> __
>>>>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>>>>>>
>>>>>>
>>>>>
>>>>
> _____________________________________________________________________
>>>> _
>>>> _
>>>>>> _
>>>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Robert Garcia
>>>>> President - BigHead Technology
>>>>> CTO - eventpix.com
>>>>> 2781 N Carlmont Pl
>>>>> Simi Valley, Ca 93065
>>>>> ph: 805.522.8577 - cell: 805.501.1390
>>>>> [EMAIL PROTECTED] - [EMAIL PROTECTED]
>>>>> http://bighead.net/ - http://eventpix.com/ - http://theradmac.com/
>>>>>
>>>>>
>>>>
> _____________________________________________________________________
>>>> _
>>>> _
>>>>> _
>>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>>>>>
>>>>>
>>>>
> _____________________________________________________________________
>>>> _
>>>> _
>>>>> _
>>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>>>>>
>>>>>
>>>>
>>>> --
>>>>
>>>> Robert Garcia
>>>> President - BigHead Technology
>>>> CTO - eventpix.com
>>>> 2781 N Carlmont Pl
>>>> Simi Valley, Ca 93065
>>>> ph: 805.522.8577 - cell: 805.501.1390
>>>> [EMAIL PROTECTED] - [EMAIL PROTECTED]
>>>> http://bighead.net/ - http://eventpix.com/ - http://theradmac.com/
>>>>
>>>>
> _____________________________________________________________________
>>>> _
>>>> _
>>>> _
>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>>>>
>>>>
> _____________________________________________________________________
>>>> _
>>>> _
>>>> _
>>>> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>>>>
>>>>
>>>
>>> --
>>>
>>> Robert Garcia
>>> President - BigHead Technology
>>> CTO - eventpix.com
>>> 2781 N Carlmont Pl
>>> Simi Valley, Ca 93065
>>> ph: 805.522.8577 - cell: 805.501.1390
>>> [EMAIL PROTECTED] - [EMAIL PROTECTED]
>>> http://bighead.net/ - http://eventpix.com/ - http://theradmac.com/
>>>
>>>
> ______________________________________________________________________
>>> _
>>> _
>>> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>>>
>>>
> ______________________________________________________________________
>>> _
>>> _
>>> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>>>
>>>
>>
>> --
>>
>> Robert Garcia
>> President - BigHead Technology
>> CTO - eventpix.com
>> 2781 N Carlmont Pl
>> Simi Valley, Ca 93065
>> ph: 805.522.8577 - cell: 805.501.1390
>> [EMAIL PROTECTED] - [EMAIL PROTECTED]
>> http://bighead.net/ - http://eventpix.com/ - http://theradmac.com/
>>
>>
>
_______________________________________________________________________
>> _
>> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>>
>>
>
_______________________________________________________________________
>> _
>> TO UNSUBSCRIBE: Go to
>> http://www.witango.com/maillist.taf<WorkDates2.zip>
>
> --  
>
> Robert Garcia
> President - BigHead Technology
> CTO - eventpix.com
> 2781 N Carlmont Pl
> Simi Valley, Ca 93065
> ph: 805.522.8577 - cell: 805.501.1390
> [EMAIL PROTECTED] - [EMAIL PROTECTED]
> http://bighead.net/ - http://eventpix.com/ - http://theradmac.com/
>
>
_______________________________________________________________________ 
> _
> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>
>
_______________________________________________________________________ 
> _
> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
>
>

-- 

Robert Garcia
President - BigHead Technology
CTO - eventpix.com
2781 N Carlmont Pl
Simi Valley, Ca 93065
ph: 805.522.8577 - cell: 805.501.1390
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/ - http://theradmac.com/

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf

Reply via email to