Subject Re: [IB-Architect] Classic vs SuperServer was IB/FB Lock manager failures
Author Jim Starkey
At 01:46 PM 9/19/02 -0400, Paul Schmidt wrote:
>
>> It isn't necessary to do a fancy tree walk to find almost identical
>> statements. Do a string compare (after a hash lookup) for absolutely
>> identical. Keep a list of referenced tables with each compiled
>> statement to re-validate privileges and allow cheap invalidation after
>> a meta-data tweak. But the payback is limited unless the cache can be
>> shared over many attachments. (And, yes, Netfrastructure has this
>> optimization.)
>
>I wonder though if nearly identical, really are identical, for example the
following two
>are actually identical.
>
>SELECT ZNOG_ID FROM ZNOG WHERE ZNOG_ID = 23456
>SELECT ZNOG_ID FROM ZNOG WHERE ZNOG_ID = 23457
>
>Now you might gain a lot by doing a substitution, where the above both get
stored
>and compared as:
>
>SELECT ZNOG_ID FROM ZNOG WHERE ZNOG_ID = ?
>

In Netfrastructure I don't bother to cache a compiled statement
unless it contains at least on "?", which sorts out DDL quite
nicely. It's also a simple rule for developers to understand
and remember. The data aware elements of template language
also understand and exploit it.

>>
>> In Linux threads are implemented as separate processes sharing
>> a single virtual address space. They definitely get scheduled
>> on different processors. If you think writing fine granuality
>> code is hard, making it scream on a multi-processor is a gas.
>>
>
>So on Linux, thread or process is really the same difference, but on
Windows which
>benefits more with threads, threads are wierdly complicated..... I tried
writing a
>multi-threaded Windows app, but it ended up effectively one thread,
because #@$!^
>Win9x can't figure out how to answer a modem when it rings....
>

Not really. The thread semantics are remarkably similar. The
difference is that the NT kernel understands threads and thread
synchronization while the Linux kernel does not.

I'm sure many here will disagreement with me, but I find NT
a vastly superior development platform while Linux, even with
a performance penalty, makes a better deployment platform.
Virtually all Netfrastructure applications are developed on
Win32 and deployed on Linux.

But then I don't do modems...

Jim Starkey