Sign In
BCL Team Blog
Base types, Collections, Diagnostics, IO, RegEx...
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
.NET Framework 3.5
.NET Framework 4
.NET Framework 4.5 Preview
API
BCL Refresher
CodeDom
compress
Contracts
datatype
Generics
Globalization
managed
MEF
News
parsing
RegEx
Service
Silverlight
System.Collections
System.Diagnostics
System.IO
System.Resources
System.Threading
Win32
ZIP
Options
Blog Home
About
RSS for posts
Atom
RSS for comments
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Archive
Archives
December 2011
(2)
November 2011
(4)
October 2011
(2)
June 2011
(1)
May 2011
(2)
April 2011
(2)
March 2011
(1)
January 2011
(1)
November 2010
(1)
October 2010
(1)
August 2010
(1)
July 2010
(1)
June 2010
(2)
May 2010
(1)
April 2010
(1)
March 2010
(1)
January 2010
(1)
November 2009
(1)
October 2009
(1)
August 2009
(1)
July 2009
(2)
June 2009
(1)
May 2009
(1)
February 2009
(3)
January 2009
(1)
November 2008
(2)
October 2008
(2)
July 2008
(1)
June 2008
(3)
May 2008
(1)
April 2008
(1)
January 2008
(1)
November 2007
(4)
October 2007
(2)
August 2007
(3)
July 2007
(3)
June 2007
(7)
May 2007
(5)
April 2007
(4)
March 2007
(2)
February 2007
(1)
January 2007
(2)
December 2006
(1)
November 2006
(2)
October 2006
(8)
September 2006
(2)
August 2006
(3)
July 2006
(7)
June 2006
(5)
May 2006
(11)
April 2006
(16)
March 2006
(1)
January 2006
(1)
October 2005
(6)
September 2005
(5)
August 2005
(3)
July 2005
(2)
June 2005
(5)
April 2005
(3)
March 2005
(41)
February 2005
(7)
January 2005
(4)
December 2004
(8)
November 2004
(14)
October 2004
(9)
September 2004
(6)
August 2004
(6)
July 2004
(1)
June 2004
(2)
May 2004
(3)
March 2004
(2)
January 2004
(15)
December 2003
(3)
November 2003
(9)
October 2003
(5)
MSDN Blogs
>
BCL Team Blog
Anonymous
Comments
Ilya Ryzhenkov
2 Nov 2003 7:41 PM
Understood. But anyway users will develop generic collections for their specific cases and those collections will implement generic interfaces. To adopt to generics, let me rephrase the question: "Is there any chance we will have more collection interfaces besides ICollection<T>, IList<T> and IDictionary<T>?" To me, indexed access methods in IList<T> seems like misnamed interface. I understand that it might be a breaking change to remove indexed access from IList and invent something like IArrayList, but since generic interfaces are not yet used, it may be good idea to fix the naming problem.
Frank Hileman
3 Nov 2003 10:19 AM
Thanks for the response. A different hashtable class could be created by anyone. But the FNV is not a new data structure, as much as a new way of computing hash codes. So to use these more modern types of tables, you need different GetHashCode algorithms, in many cases. I asked because the more GetHashCode functions that are written, the more we are locked into the old type of hash table. And the newer algorithms, such as FNV, are supposed to be much more efficient in distribution (which means faster and smaller tables). Many OS hashtables are much faster thanks to FNV.
Frank Hileman
3 Nov 2003 10:21 AM
I am very happy to see this being addressed!
Frank Hileman
3 Nov 2003 10:24 AM
I have had the same problem, Ilya. Sounds like you want a logical organization a la STL. A good idea.
Joe kaplan
6 Nov 2003 4:10 PM
While you guys are considering this, could I ask for some enhanced overloads on the BitConverter's ToString method? Essentially, I'd like to be able to specify the separator used on the string that is created, much like Guid a bunch of format codes for different Guid string formats. The immediate application of this for me is in building LDAP binding string and search filters from binary data. Often I have to create a binding string like <SID=xxxx> where xxxx is the octet string format of the binary SID (little endian for AD....) with NO separator characters. Other times I need to build an LDAP search filter which requires a prefix of \ in front of each hex pair. It seems like this would be trivially easy to add and would probably help out more people than just the LDAP developers out there. Maybe even some format string that would allow you to specify the case of the hex digits would be possible? Thanks in advance for the consideration!
Kit George [MSFT]
7 Nov 2003 3:27 PM
Antoher fair suggestion, and we'll keep a track on that one also: thanks Joe!
Kit George [MSFT]
7 Nov 2003 3:30 PM
In answer to your second question Ilya, It's not likely in the near future. We will ALWAYS consider additional interfaces and designs, and in fact, we're actively exploring the most reasonable collections and ideas all the time. But right now, parity between generics and collections is taking all our efforts, so that will remain the focus.
Kit George [MSFT]
7 Nov 2003 3:31 PM
Thanks Frank!
damien morton
7 Nov 2003 8:39 PM
FNV isnt the only possible string hash function, and, in fact, FNV produces bad bit distributions amongst the higher bits. See "Performance in Practice of String Hashing Functions" by M.V. Ramakrishna and Justin Zobel for a thoughrogh review of string hashing functions. http://citeseer.nj.nec.com/ramakrishna97performance.html See also http://www.burtleburtle.net/bob/hash/evahash.html by Bob jenkins for a thoughrogh review of hash testing approaches.
Anonymous
10 Nov 2003 2:45 PM
Sorry for accidental posting on question form, I decided to ask here instead but it submitted for some reason, please discard. In MSDN it is stated that a Hashtable can support one writer and multiple readers concurrently. On the other topic it is written that "To support one or more writers, all operations on the Hashtable must be done through the wrapper returned by the Synchronized method.". Which is true? If first, aren't there performance issues for single-threaded application, or how do you achieve one-writer-many-readers without copying data locally? If second, there is a bug in SyncHashtable not locking indexer getter...
Brian Grunkemeyer
11 Nov 2003 10:32 PM
FYI - we have thought about changing the hash function on String, and we might do that sometime depending on some performance testing. It looks like we already have tweaked it a little bit since V1.1. We do hope that no one depends on the current behavior of GetHashCode, as we'll probably change it. Just ensure that you don't persist hash functions to disk or try to reverse engineer our hash function - you'll be broken later if you do. BTW, we have changed the behavior of Object::GetHashCode and ValueType::GetHashCode for performance reasons - they still obey the contract that they must obey, but if you are somehow counting on an object to give you the same value between different versions of the CLR, you have a problem. (Note that Hashtable implements an OnDeserializationCallback which calls GetHashCode on every key again, so this isn't a problem for serialized Hashtable instances.) The upshot is we reserve the right to reimplement GetHashCode on every object differently in every build of the CLR.
Frank Hileman
12 Nov 2003 1:08 AM
damien: yes, I saw those papers. The Zobel one seems a little old, testing perf on a sparc 20? I am not saying FNV is the best, but if you look around, you will see where it has been used and made a big difference. The main point is that more support is needed from the BCL because if people write their own GetHashCode functions they may be optimizing to a particular type of data structure. Also regardless of your favorite hash algorithm/structure the mod prime one is dated.
Olivier Le Pichon
26 Nov 2003 5:01 AM
Yes but if you want to reuse a thread to do different kind of job (à la ThreadPool) it can be great to be able to modify its name.
Olivier Le Pichon
26 Nov 2003 5:05 AM
Could be a break change. I'm not sure it's can be done.
Pete
29 Dec 2003 10:46 PM
I would like to add that the ability to make compound files would be very useful as well. I have need of them in a project and I'm considering using zip files instead.. but a true managed compound file would be very very cool. thanks.
Page 1 of 143 (2,138 items)
1
2
3
4
5
»