RE: .NET SUCKS --- READ FOLLOWING. MICROSOFT IS A SUCKY CO
- From: cmdematos <cmdematos@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 17 Oct 2005 08:42:36 -0700
This argument is ridiculous.
I would use .NET for this purpose.
Any application that must guarantee a response 100% of the time within 1
second MUST HAVE a finite set of states and each of these states MUST BE
resolvable within 1 second 100% of the time.
You design such an application as a FINITE STATE MACHINE, within this you
PREALLOCATE all memory you need (keep it in scope), in ANY LANGUAGE
ENVIRONMENT, including .NET. The GC will not run since you will never reach a
point where you run out of your allocation of heap GC Level 0 memory. The
approach should be identical in both JAVA and C++!
If you are doing ANYTHING with your problem state that requires a
non-deterministic operation (something you cannot guarantee how long it will
take, e.g.: disk IO, writting to SQL Server ETC) then this operation must be
QUEUEABLE in a guaranteed deterministic fashion, which excludes the use of
something like MSMQ. You build your own queue, normally with something like
shared memory and semaphores, then another thread services the queue in an
asynchronous fashion. In this case the shared memory is used to allow for
both threads to run in seperate .NET application domains. Each domain has its
own GC and do not interfere with one anothers threads. You design your
semaphores so that reads (the servicing thread) respect locks but never lock
the writes (the finite state thread will never be locked).
Your solution WILL ALLWAYS be subject to the performance of the thread
servicing the queue and its ability to keep up, but since any DISK IO or SQL
request can take longer than expected but on average is faster than required,
you are safe.
If your response time requirements are 1 second, I would gladly use .NET. I
would design a similar solution for C++, assembler, Java, Delphi, VB 6 etc.
One developer cannot be applied to all solutions equally. How much
experience do you have with RT systems in any case? I suggest you consult
with an architect that has RT experience including building RT solutions on
non-RT platforms.
Sincerely,
--
Carlos De Matos
Lead Technical Architect
TiBA Solutions
"consumer62000@xxxxxxxxx" wrote:
> Let me tell you a scenario and you will see what I mean.
> There is a large application that has communication with a real time
> system . The app has to respond to the requests in no more than 1 s.
> The app is a C# .NET app and everything is fine and everyone at
> Microsoft is happy that they forced their "new" platform down someone's
> throat.
>
> Now imagine a scenario where the GC has to collect the memory. Well,
> when GC runs all the threads are suspended and there is no response to
> the incoming requests and application fails a critical requirement.
>
> Well,any MS people here who can defend their sucky product,
> I know they will say "don't use .NET for this or that...use C or C++
> etc"
> My q to them is why did you create .NET then?
>
>
.
- Prev by Date: Re: SystemBrushes and SystemPens
- Next by Date: Re: Low Level View of .Net FrameWork
- Previous by thread: Re: .NET SUCKS --- READ FOLLOWING. MICROSOFT IS A SUCKY CO
- Next by thread: Re: .NET SUCKS --- READ FOLLOWING. MICROSOFT IS A SUCKY CO
- Index(es):
Relevant Pages
|