Page 3 of 3 <123
Topic Options
#117962 - 2004-04-16 02:42 PM Re: execution time
burnsc Offline
Starting to like KiXtart

Registered: 2004-04-14
Posts: 171
One other Question(for my own clarification).
When exactly does this prefetch occur?
Before Script Runs
At the point in the script where InGroup function is, but once per script(unless cache is older than specified)?

Thanks

Top
#117963 - 2004-04-16 02:48 PM Re: execution time
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
Can you clarify "Prefetch?" Are you talking about Token Caching with KiXtart? Or, are you talking about Prefetch from XP, for example?

If I go to Start/Run and type in Prefetch.. I see the programs that have been run. Prefetch tries to capture how programs are executed so that they attempt to run more efficiently. Have you dug around on http://msdn.microsoft.com for Prefetch and it's technology?

Thanks,

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#117964 - 2004-04-16 02:51 PM Re: execution time
burnsc Offline
Starting to like KiXtart

Registered: 2004-04-14
Posts: 171
This is the InGroup token cacheing.

Thanks for the xp tip though. Yet another nice tool to know about

Top
#117965 - 2004-04-16 02:55 PM Re: execution time
Kdyer Offline
KiX Supporter
*****

Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
If we dig into the manual from KiXtart. It is on pp. 19-20 of the 4.22 version.

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's

Top
#117966 - 2004-04-16 03:09 PM Re: execution time
Shawn Administrator Offline
Administrator
*****

Registered: 1999-08-13
Posts: 8611
The token cache is only populated when the first INGROUP function is executed. If you never execute a GROUP related function, then the cache never gets created. And of course, if the cache is already there and the cache age hasn't expired, then Kixtart will just use the cache instead of re-filling it everytime.

btw, think the manual is a tad mis-leading about how this works.

Top
#117967 - 2004-04-16 03:25 PM Re: execution time
burnsc Offline
Starting to like KiXtart

Registered: 2004-04-14
Posts: 171
This was not definitive enough for my implementations. "This group is filled once every kixstart session" does not tell me when during that session it is created. If 2 programs use this cache, and they run asynchronously it is very easy to have 'race' conditions.

Granted I am being more picky than an average user about this, but I am looking to use this cache as a resource for another program I am writeing too.

Top
#117968 - 2004-04-16 03:28 PM Re: execution time
burnsc Offline
Starting to like KiXtart

Registered: 2004-04-14
Posts: 171
Thanks for the information.

I think it is more vague than misleading. But, for most 'normal' implentations this is enough.

Top
#117969 - 2004-04-16 03:37 PM Re: execution time
Les Offline
KiX Master
*****

Registered: 2001-06-11
Posts: 12734
Loc: fortfrances.on.ca
I don't see the point of concerning yourself with how the prefetch works since you cannot control its behaviour. There are a couple of discussions in the beta forum on this. Granted, the topic is macros but howards tests reveal more than just macros.

@Macros
More on @Macros

Back to the topic of protocols and provider order, build yourself a new image and leave the NetWare stuff out, and you will see the delays are no more. Then add NetWare and start tweaking. How hard can it be?
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.

Top
#117970 - 2004-04-16 03:44 PM Re: execution time
burnsc Offline
Starting to like KiXtart

Registered: 2004-04-14
Posts: 171
My primary reason for that question was not as much control as it was to avoid the 'trial and error' work that someone had already done. It also adds information for the support spectrum of the program. Thanks for the links, I am sure they will help.

On the protocol setup, I am going to try to have one of my test machines available in a few days to try those kinds of setups, but unfortunately they are tied up with other projects at this exact moment.

Thanks for all the help.

Top
#117971 - 2004-04-16 04:25 PM Re: execution time
Shawn Administrator Offline
Administrator
*****

Registered: 1999-08-13
Posts: 8611
Lets seperate token caching from prefetching for a sec, they're two different thingies from my point of view. Based on the event log error messages your getting, the first message hints that the prefetching of @MACROS isn't working - this would happen (imho) for any script you run - regardless of whether you use INGROUP or not. Ruuds comments in the thread i linked you to suggests that if the pre-fetching of @MACROS fails, then the INGROUP caching will also fail which, based on the logs, holds water.
Top
#117972 - 2004-04-16 04:37 PM Re: execution time
burnsc Offline
Starting to like KiXtart

Registered: 2004-04-14
Posts: 171
I can run the timing script that was given. It produces no errors in the event log.
That script contains no @ macros that I can tell. But then neither does my logon script. Unless something is triggered in the InGroup commands processing.

Top
#117973 - 2004-04-16 04:52 PM Re: execution time
Les Offline
KiX Master
*****

Registered: 2001-06-11
Posts: 12734
Loc: fortfrances.on.ca
I did say that it was a little off-topic, but the point is that certain macros must make a trip over the network to populate. Ruud tries to optimize by populating all the macros that would make the trip when the first macro is called and that is what I call the prefetch. He does the same thing with macros that do not make a network trip but those are populated at the start of the script regardless of whether a macro is called or not.

What is not entirely clear is whether a macro call the makes a network trip will also prefetch what InGroup() need to make a trip for or not. I have in the past run tests over a dialup link on all the macros to see which ones cause a network trip but I have misplaced the results. At the time, I was trying to optimize a script for dialup users and wanted to know what macros and functions I should avoid to minimize network trips.

If anyone wants to run those sort of tests, there are two ways to do it. One would be to run a network trace, and the other would be trial and error of macros and functions in various combinations over a dialup line, timing the results each time.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.

Top
Page 3 of 3 <123


Moderator:  Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart 
Hop to:
Shout Box

Who's Online
0 registered and 248 anonymous users online.
Newest Members
gespanntleuchten, DaveatAdvanced, Paulo_Alves, UsTaaa, xxJJxx
17864 Registered Users

Generated in 0.189 seconds in which 0.138 seconds were spent on a total of 13 queries. Zlib compression enabled.

Search the board with:
superb Board Search
or try with google:
Google
Web kixtart.org