Herb why c




















It's called constructive -criticism. You and i have different views of what is respectful, it's cultural differences.

Not everyone thinks like an american you know Benjamin: "something he cannot possibly have knowledge about. How do you know i do not have this info?

Who's trolling now? A business just can't switch like that, it costs more money then to stick with what they have. Use google to learn more about this. Assumption: Your love to ms is making you blind to their faults. Any good physiologist would say that is most likely be a bad thing. I tell it how i see it and what i see is ms doing a bad job and treating it's user base like garbage and only sucks up to them, even lies, when ms needs their money.

I find c to be a nice little interesting language, I like reflection and delegates, I hate garbage collection, lake of near machine options a. LordKain: "Comparing a few lines of code is meaningless, we should at least compare simple programs as we do not design and write native and managed code the same way" We also design and write code in different ways when we go for performance and when we go for code quality.

Also, writing a simple program will be barely comparable to writing a robust application. Sorry but I don't have that much time for this. I'm fine with comparing the effectiveness of a simple custom implemented data structure, or file IO, or other light functions, but not a whole program. Way too many hidden aspects that can be optimized there. I'm not familiar at all with the Big5 format neither.

If we compare the effectiveness of the data structure and file IO, we can pretty much deduce from that how the application would perform, written well optimized. I only said you often CAN achieve high performance with C in the few places you really need it.

This is so funny!! I can't help but agree with this statement of Mr Crush: "Yes we can always hope but experience with microsoft tells me they can't learn from their mistakes.

Where is it?. ACG: That interview is fake. Pointing out examples of that to anyone who is as "passionate" as yourself, is, by definition, usually a waste of time, as passionate people usually have to see it for themselves to believe it. He has forgotten more than I ever knew. It can be easier to write good than write what you mean without inflaming good people, but do try as hard for both!

Infact, I am struggling not to be a hypocrite here right now! Charles: you are doing a brave effort of putting lipsick on pigs! I can't believe VS. Stuff like this makes me feel pretty much suckered every time it happens. That's how it looks. These are features other compilers already have, or will have, way way sooner than when Microsoft will now deliver them.

Which is when now? If they come at all, they will be very inconveniently timed compared to other vendors and at additional expense beyond that for v. Not exactly leadership there! This makes a mockery of the renaissance and Microsoft. It invites a cynical perspective that that is exactly what Microsoft plans and wants to happen? So how did Microsoft fail us again in this regard? It's not about resources, you have the money to pay for those.

It's about Will in absense of a resources excuse, surely? I don't appear to be alone in this point of view. But I've yet to assess that topic completely! Your thoughts on all of this, please. I was really optimistic when these videos started appearing on C9. I mean that blog post rather discourages buying the new VS. This is no longer the case and will continue to no longer be the case.

Everybody can talk. It's what you do that is important. You aren't doing much. Are you kidding? NET which it has been promoting all these years. What's the last framework windows developers had for building applications.. But its all about right tools for the job. But in this native! To be nice and I always want to be , its beautifull what MS does today. The page is there without video now, but video should be posted soon. Herb Sutter :The video is on and by the way: nice presentation!

Sep 10, at AM. Oh well, I keep dreaming. Google has the following to say: ". It is stated that perhaps its main use would be for large bitmap buffers or other memory intensive operations that exceed the current limited size of the application heap space or to augment performance for such specific compute intensive tasks as pixel manipulations.

Herb conveniently didn't mention Rim's Blackberry's which have always used Java and will likely always use Java.

Agreed, but it should be pointed out that using the same algorithms that C code will be up to about 2 to 2. For instance I wrote a highly optimized benchmark using C that could calculate the number of primes in the 32 bit number range in about a second using one core with most of the time spent culling composite numbers at about 2.

The C version using exactly the same array based algorithm respecting the cache sizes of the CPU took about 6 machine cycles per cull. Upon inspection of the generated code, the difference was primarily the C array bounds check, which could not be written around and still use the highly efficient algorithm. It should be noted that the original C program from which I derived the work took about 50 times as long as the final C version and therefore about 25 times longer than the final C version due to not respecting and optimizing the size of the cache and just using a huge linear array rather than paging the work as well as bit compressing the prime candidates; the point being that in any language, well written code using better algorithms for the specific purpose is more important that the choice of language.

Sorry, Dave, although you can use unsafe code context and thus use pointers in C without range checking, there is by design no performance gain in doing this due to there being less code optimization done in unsafe mode: it's about a wash in performance between the techniques. Unsafe mode is there so that one can do things that might not be possible from normal safe mode, but the reason is never for performance gains else many programmers would be tempted to use it as a matter of course.

GordonBGood: "Sorry, Dave, although you can use unsafe code context and thus use pointers in C without range checking, there is by design no performance gain in doing this" What? What about the Meego OS, Qt, great gui, great framework but no phones to implement apps for.

Even the MSDN documentation says: "As examples, using an unsafe context to allow pointers is warranted by the following cases Dave, I only know what native code the compiler generates as one can view with Visual Studio even the Developer Express VS - view Assembly code after a breakpoint Alt-8 and the actual measured results, both with optimization turned on in full release mode, as follows:. Inspection of the native code produced by the JIT compiler reveals that although there is no array bounds checking for this unsafe code, the code is quite poorly optimized with repeated reloading of contents of registers even when they already contain the right data.

I had already read this to be the case: that less optimization is done for unsafe code than as usual. Although MSDN is correct on the first two reasons for using unsafe mode, they are wrong that one uses it for performance. This makes sense as if the differences in performance were so extreme, programmers would be tempted to use unsafe mode as a matter of course by default. Basically, one uses it when one can't get the job done another way or where the other way would be inefficient.

There may be situations where the use of unsafe code and pointers does aid in performance gains, but tight loops certainly isn't one of them as demonstrated above.

The second form suffers from implementing the extra indirection through pointers with both unrolling the loop to an small amount. Unrolling the loop doesn't help C in the first case because most of the time is still spend in array bounds checking and in the second case because the pointers are reloaded into the registers for every access.

The hardware of mobile devices and batteries will soon enough have the power needed to run managed code with no fret I am sure everyone can see that coming. And the powers of desktops and laptops are already more than can be used by most programs, except of course high-end games. I personally don't like the direction the worl'd taking here. I fondly remember the cycle-counting days writing assembler. But no matter what, we're moving further and further away from native code.

But I wouldn't expect a new series for assembler programmers on C9. To me Herb's world-view seems at least a bit odd. What renaissance? GordonBGood: It was obvious to me right after reading your comment, that you messed up some settings with the project. Either compiled Debug version instead of Release, or somehow explicitly set the project not to optimize code. It's actually pretty easy for the compiler to bypass range checking here even for safe code, and it sometimes does it, sometimes doesn't.

Never faster than the unsafe ones. GrodonBGood: If you try it with a an array of longs, the unsafe code is always more than twice as fast as the safe one. Many might think, just use the one you like where you like. A possibly more interesting question would then be: can you actually do that now and in the future?

When you pick a favourite language, can it actually be used where you like for what you like, or will some big company make that too hard for you or limit you in self serving ways?

If that were to happen to your favourite language it wouldn't matter which one was best would it? What's your thoughts on that?. Come now, Dave, I do know the difference between Debug and Release settings and to check that the compiler Optimize Code switch was on.

However, I was running on a 64 bit machine and there is a difference both for Release mode , as for your example code:. For 64 bit code, all routines whether safe outside or inside the unsafe context or the unsafe loop using pointers ran at about the same speed or about 71 milliseconds on my 2.

When forced to 32 bit x86 code, both the safe and the unsafe ran at about the same speed as above but the safe loop outside the safe context ran slower at about milliseconds. Inspection of the code reveals this is because the safe loop outside the unsafe context was actually not optimized as well and was using more memory operations rather than more register operations, which is also why the 64 bit version outside the loop runs faster: it uses register operations for both cases.

Inspection of the code shows that none of the "safe" loops eliminate buffer range checking, but that isn't the biggest consumption of machine cycles; rather it is the question of how well ordered the instructions are and their efficient use of registers.

As to why one optimization is different that another, it is likely just as for why sometimes the array bounds checking is eliminated and sometimes not: a question of what scope the various variables are - range checking is only eliminated when all variable have the right scope and the loop has exactly the right form. You are correct that the unsafe code is much faster than the safe code when dealing with eight byte data rather than one byte data.

This is because the JIT compiler isn't very optimized for dealing with these where as the pointer arithmetic uses the built in machine instructions directly.

It's not. The C generated native code has 11 machine instructions in its inner loop of which 8 of them are reading or writing to memory. One does not get these performance gains by just writing C unsafe code using pointers. Day Two. Early on the second day, I applied the product again. By the end of the second day, the bad spot was surrounded by a circle of white skin indicating the abnormal tissue was being rejected by the body.

This is the response predicted in the instructions that came with the product. Note that the skin surrounding the spot looks a little inflamed.

Day three. By the end of the third day, the questionable tissue was clearly dying. It turned into something that looked a little like a boil. In the photo note that pustules have begun to form on and inside the white ring. Rather, the pustules indicate the activity of white cells absorbing the abnormal tissue. Day seven. The process of rejection continued during the next few days.

The rejected tissue began to separate from the healthy surrounding skin. By the seventh day, the dead tissue had been reduced to a nugget of jelly-like material in the center of a crater of fresh pink skin.

There was no longer any discomfort. The skin around the nugget was clearly growing and developed a pouty, lip-like appearance as it expanded. Day ten. During the tenth day, the loosened nugget fell out while I was washing the area. No pain or discomfort. It just came out. I was surprised at the depth of the resulting pit in my arm.

The little patch of abnormal skin apparently had roots that extended far below the surface of the skin. Day thirteen.

The pit is closing up nicely, filling in with healthy skin as predicted. Most of the raised lip of the pit has disappeared as the tissue moves in to fill the gap. We know that C-herb effects the ability of these pathogens to hide or camouflage within the large protein molecules they often use for this purpose.

After C-Herb is applied to the offending tissue it works in a very predictable manner. This indicates the immune system has been activated and the removal process has begun.

After 48 hours the red ring will have a degree of white adjoining it, suggesting a concentration of white blood cells now surround the foreign tissue. On days 3 to 5 it appears that the immune system identifies and destroys the abnormal or foreign tissue and separates it from normal tissue.

The vacated root system leaves a cavity, now is the time to apply the NuCel Replenishing Cream which fills in within 10 to 14 days, usually with only a slight pigment change or discoloration. A collagen deficiency may cause some people to scar from this process, but that is not a normal experience.

Do this several times a day for a couple of days prior to using the C-Herb. This helps the area to become moisturized and softened. Once you have used the C-Herb do not use C-Herb more than once a day for 3 to 5 days and the wart or mole has been removed and the healing process has begun, apply the Replenishing Cream once again.

The Replenishing Cream assists in the healing process and reduces scarring. Please remember that the Replenishing Cream is not an antiseptic or antibacterial cream. For sensitive areas such as the face use a combination of C-Herb mixed with replenishing cream. Mix a tiny bit of C-Herb with replenishing cream. Start by using mixture for the lips, eyelids, nose, ears etc. It might take a bit longer as is much milder than straight c-herb.

C-Herb is a combination of herbs and minerals salts that are extraordinarily helpful in the removal of moles, warts and other skin abnormalities. The power of C-Herb rests in its ability to trigger the immune system and stimulate the body to use its own beneficial actions. C-Herb has the ability to strip away the protein shell viruses create to hide themselves.

When the virus is exposed, the immune system is activated to rid the body of the intruder. It is not the C-Herb that pulls the growth out of the body but rather the immune system that expels the growth.

Ingredients water, fiber, black walnut, burdock, white oak bark and mineral salts.



0コメント

  • 1000 / 1000