kennyw.com
Open in
urlscan Pro
208.113.159.25
Public Scan
URL:
https://kennyw.com/?m=200509
Submission: On July 22 via api from US — Scanned from US
Submission: On July 22 via api from US — Scanned from US
Form analysis
1 forms found in the DOMGET https://kennyw.com/
<form role="search" method="get" id="searchform" class="searchform" action="https://kennyw.com/">
<div>
<label class="screen-reader-text" for="s">Search for:</label>
<input type="text" value="" name="s" id="s">
<input type="submit" id="searchsubmit" value="Search">
</div>
</form>
Text Content
KENNYW.COM MENU Skip to content * Home * Restaurants * Atlanta, GA Restaurants * Berkeley, CA Restaurants * Cambodia Restaurants * Croatia Restaurants * Hungary Restaurants * India Restaurants * Laos Restaurants * Los Angeles, CA Restaurants * Nepal Restaurants * New Orleans, LA Restaurants * New York City Restaurants * Portland, OR Restaurants * Seattle, WA Restaurants * Thailand Restaurants * Vancouver, BC Restaurants * Vietnam Restaurants * Whistler, BC Restaurants * Band Recordings * Archives MONTHLY ARCHIVES: SEPTEMBER 2005 WCF: EFFICIENT BUFFER MANAGEMENT 6 Replies In order for a Transport to read and write Messages, it may buffer the serialized message. At the very least, the Headers need to be buffered. And in many cases (such as to avoid head of the line blocking issues), buffering the entire message is necessary. While the CLR’s garbage collector does a really good job of recycling memory, there are still costs involved with each allocation. These costs include zeroing out the buffer, as well as the GC churn. As our performance dev says “no work is better than some work”. A bunch of Indigo R & D has gone into creating an efficient way to pool buffers given two knobs: * MaxBufferPoolSize – the total number of bytes to pool * MaxItemSize – maximum size of an item stored in the pool With proper tuning, large (>10%) increases in performance can be witnessed. This functionality is exposed through System.ServiceModel.Channels.BufferManager. If you are writing a custom channel, you can create a BufferManager through the static method: BufferManager.CreateBufferManager(long maxBufferPoolSize, int maxSize) Then instead of calling “new byte[n];“, you can call “bufferManager.TakeBuffer(n);“. Just remember to call bufferManager.ReturnBuffer(buffer) (in a finally block if necessary) when you are finished. Lastly, you can call bufferManager.Clear(); if you ever want to flush the cache (e.g. after a certain amount of idle time). On the built-in WCF Bindings and Transport Binding Elements, we expose MaxBufferPoolSize as a property for you to control our cache footprint. If you are sending small (< 64K) messages, then the default value of 512K is likely acceptable. For larger messages, it's often best to avoid pooling altogether, which you can accomplish by setting MaxBufferPoolSize=0. You should of course profile your code under different values to determine the settings that will be optimal for your application. This entry was posted in Indigo on September 23, 2005 by kenny. BACK FROM PDC: HAVE SOME CODE! 4 Replies While others were able to get a number of blog entries together, I spent the majority of my time at the conference either talking to customers, or in final preparation for my talk on Channel Extensibility. Yasser and I went through the basics of extending the channel layer to write a custom transport and a custom layered channel. I walked through writing a custom TCP-based transport channel. I then adapted that channel to interop with WSE 3.0 Beta. I’ve posted the code (along with a brief README) here. As time permits I’ll walkthrough the important pieces in future posts. Yasser covered writing a custom layered channel (also called a “protocol channel”). He wrote a “chunking channel” that allowed you to fragment a Message into a number of smaller messages (the maximum size of which is controlled through a quota). These chunks would get reassembled on the receiving side, which then enables streaming scenarios over buffered transports. Other implications include that you can use WS-Security (and WS-RM) in conjunction with chunking to reliably and securely stream data over any transport. Very powerful. Code for the chunking channel to be posted in the next few days. This entry was posted in Indigo on September 21, 2005 by kenny. PDC LIVE AND ONLINE Leave a reply A few quick notes as I’m scrambling to get my final ducks in a row for PDC 05. If you aren’t able to attend in person, you can still keep up on all the happenings at pdcbloggers.net. They have aggregated feeds from both speakers and attendees, and it’s a good first stop in checking the online pulse of the conference. And for those of you joining us in LA, you can check out my talk in Room 406 AB, on Thursday, September 15 from 3:45-5PM. I’ll also be roaming around the WCF Track Lounge and Hands on Labs, and at the WCF Extensiblity table during Ask the Experts. See you next week! This entry was posted in Indigo on September 9, 2005 by kenny. "STUFFING" PACKETS WITH NET.TCP AND NET.PIPE Leave a reply One performance tuning knob you can use over Indigo’s TCP and Named Pipe transports is our level of batching messages. Sockets programmers may be familiar with this concept as Nagle’s algorithm. In brief, you can make the tradeoff between latency and maximizing packet usage by setting 3 knobs: 1. IContextChannel.AllowOutputBatching (or message.Properties.AllowOutputBatching at the Channel layer) 2. bindingElement.MaxOutputDelay 3. bindingElement.ConnectionBufferSize When you set AllowOutputBatching=true, you are saying “hold on to this message in a local buffer to send out with other serialized messages if possible”. ConnectionBufferSize determines the size of the this local buffer (as well as the buffer sizes used by the underlying network objects). MaxOutputDelay specifies the maximum amount of time that we will wait for more data to package with a batched message. The default value of MaxOutputDelay is 200 milliseconds. One last note: when using the typed programming model, these values only affect OneWay methods. For request-reply, ServiceModel will always optimize for latency and will set AllowOutputBatching = false. This entry was posted in Indigo on September 2, 2005 by kenny. ROBINSON CRUSOE PARENTAL UNIT 3 Replies Thanks to everyone for your concerns about my Dad who’s in Slidell, LA (on the north shore). He’s alive and well and performing much needed emergency work down there. They got hit pretty hard by Katrina, but Slidell Memorial Hospital (where my Dad was working during the storm) made it through the storm still standing, and everyone inside was ok. Landlines and cell towers are still down, but I get bits of information through my step-mom who evacuated a few hundred miles away. This is where I take a moment to share just how amazing my father is. Not only has he been patching the injured up as they arrive in droves (he’s a general surgeon), but when the generator at the hospital went down, he got out his tools and fixed that too! That brought air conditioning and hot water support to the hospital. (Dad was able to reward himself with a hot shower :)). Then, during breaks between surgery, he went back to his house (which had a tree fall on it, but miraculously didn’t take water), and fixed up the roof. I can’t imagine a more awesome father than Gary J Wolf. Dad, I love you and I’m continually amazed and proud. Keep up the great work! This entry was posted in General on September 2, 2005 by kenny. Search for: RECENT POSTS * Luc (Seattle, WA) * Revel (Seattle, WA) * Deli & Bread Connection (Lihue, HI) * Thai Tom 2011: Match 4 * The Big Egg (Portland, OR) RECENT COMMENTS * harini on Error 1001. The specified service has been marked for deletion * stef on Error 1001. The specified service has been marked for deletion * Vivek on Error 1001. The specified service has been marked for deletion * Gloria Highlights, Week 59 « lawolf.net on Paseo (Seattle, WA) * Fred on Error 1001. The specified service has been marked for deletion ARCHIVES * July 2011 * May 2011 * April 2011 * March 2011 * January 2011 * December 2010 * November 2010 * October 2010 * August 2010 * June 2010 * May 2010 * April 2010 * March 2010 * February 2010 * January 2010 * December 2009 * November 2009 * October 2009 * September 2009 * August 2009 * July 2009 * June 2009 * May 2009 * April 2009 * February 2009 * January 2009 * November 2008 * October 2008 * September 2008 * August 2008 * July 2008 * June 2008 * May 2008 * April 2008 * March 2008 * February 2008 * January 2008 * November 2007 * October 2007 * September 2007 * August 2007 * July 2007 * June 2007 * April 2007 * March 2007 * January 2007 * December 2006 * November 2006 * October 2006 * September 2006 * August 2006 * July 2006 * June 2006 * May 2006 * April 2006 * March 2006 * February 2006 * January 2006 * December 2005 * November 2005 * October 2005 * September 2005 * August 2005 * July 2005 * June 2005 * May 2005 * April 2005 CATEGORIES * Band * Food * General * Ice Cream * Indigo * Seattle * Travel * Work * Workflow META * Log in * Entries feed * Comments feed * WordPress.org -------------------------------------------------------------------------------- kennyw.com is proudly powered by WordPress