Rumours from the battlefield... Did you know that:
- Although the Yukon release is still very beta, the core is quite solid
- That CLR support into T-SQL is already working for years
- That Visual Studio is often NOT used within Microsoft itself by its developers, projects are way too big
- But that Visual Studio is used for debugging ;-)
- That for editing often Slickedit 8.0 is used (seems to support code completion...): during PDC presentations often used!
- That Whidbey contains a new build system (MSBuild) that works a bit like (N)Ant
- But that within Microsoft a bit older build system is often still in use, that was also available within the Shared Source implementation of the .Net framework named Rotor
- That XMLSpy an often used tool within Microsoft is (especially within the Yukon group)
This info may be true... or not. It is just from hear-say...
At the PDC I saw a presentation where some optimization tips on memory usage in ASP.NET pages were given. The performance monitor was used to look at Gen 0, Gen 1 en Gen 2 usage of the garbage collector. The example was using a StringBuilder class to combine data and write this out versus using direct writes using Response.Write (which was much faster and consumes less memory). I am wondering if there are any good tools to look at memory consumption and garbage collection on a high-load website... Anyone?
The WinFS data storage system used in Longhorn seems cool... A short list of some powerful features:
- There is a concept of Items and relations between Items
- An Item is something like a file, a folder, a contact, or a user defined type
- There are two types of relations: holding relationships and reference relationships
- With holding relationship you can model the well known folder hierarchy, but also much more because an item can be "hold" in more than one relationship (although cycles in the "hold" graph are not permitted)
- An item has a reference count of its holding relationships. When it has no more references it is removed from the store.
- Security is on Item level (which could indicate that Yukon, presumably the storage engine in a slimmed down version, has row level security)
- Every store Item has an unique ID that identifies the Item in the store (although not guaranteed over multiple stores)
- WinFS supports: Asynchrony (multiple queries and data retrieval at the same time), Transactions, Notifications (on Item changes, relation changes, and many more subtile things going on), Blob/stream support, Cursoring and paging (a query can result into many Items!)
- A powerful API is available to interogate the store
- Within the API powerful querying and filtering functionality is available
- Also direct SQL queries can be executed on the store for really powerful aggregation and grouping
For more info have look at the Longhorn SDK section on WinFS: http://longhorn.msdn.microsoft.com/lhsdk/winfs/daovrWelcomeToWinFS.aspx
For a more conceptual view: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaero/html/wux_topic_storage.asp