Thursday, 1 March 2012

new tools in Visual Studio 11 Beta

This topic contains links to information about new features and enhancements in Visual Studio 11 Beta. It contains the following sections:
This section contains information about the new tools in Visual Studio 11 Beta that help you design, build, test, and package your Metro style apps for the Windows 8 Consumer Preview operating system. Metro style apps are tailored to your users' needs, to specific devices, to touch interaction and hardware events, and to the new Windows user experience in Windows 8 Consumer Preview. Metro style apps run on wide variety of hardware platforms, including PCs and tablets, and can be tailored to take advantage of the unique characteristics available with various devices. If, for example, an app is running on a tablet device, you can tailor the app to reconfigure the layout of UI elements when the user rotates the tablet from landscape mode to portrait mode. For more information about Metro style apps, see Getting started with Metro style apps.

Metro Style App Project Templates

You can start creating a Metro style app by using one of several default project templates that provide the basis for various kinds of Metro style apps. For more information, see Visual Studio for Metro style app development.
The templates will vary depending on your programming language:
  • Metro style apps written using JavaScript. You can create a complete Metro style app by using JavaScript along with HTML. For more information, see Developing Metro style apps (JavaScript).
  • Metro style apps written using C++, C#, or Visual Basic. You can create a complete Metro style app by using C#, C++, or Visual Basic along with XAML. For more information, see Developing Metro style apps (C#/C++/VB).


Visual Studio includes a set of testing and debugging tools that can help you insure that your Metro style app is of the highest quality. For more information, see Debugging and testing Windows Metro style apps.
You can debug a Metro style app locally, which is similar to using the traditional Visual Studio debugging model. You can also debug apps in the Simulator on the local machine, or you can debug remotely on a tethered device:

Visual Studio IDE

  • Store menu. You can use the new Store menu to create a developer account at the Windows Store and reserve a name for an app. For more information see, see Packaging your app using Visual Studio.
  • Package and upload an app. You can create an app manifest and package all the required files together so that you can upload them to the Windows Store. For more information, see Packaging your app using Visual Studio.

Quality Tools

Blend for Microsoft Visual Studio 11 Beta

You can use Blend to visually design your HTML-based Metro style apps. For more information, see the Windows Dev Center.
These changes include new IDE features, improvements for parallel computing, and new and enhanced features for developing web, data, and SharePoint applications.


What's New for Visual Basic in Visual Studio 11 Beta
Describes new features in the Visual Basic language and Code Editor.
What's New for Visual C# in Visual Studio 11 Beta
Describes new features in the C# language.
What's New for Visual C++ in Visual Studio 11 Beta
Describes new and revised features in Visual C++.
What's New for Visual F# in Visual Studio 11 Beta
Describes enhancements in the Code Editor for the F# language and new features of the F# core library.

Other Technologies

Adopting Visual Studio and Team Foundation Server for Application Lifecycle Management
Outlines the activities of team members as they adopt Visual Studio for application lifecycle management.
What's New for Application Lifecycle Management Development in Visual Studio 11 Beta
Describes the new features for developing products throughout the application lifecycle.
What's New for Application Lifecycle Management Testing in Visual Studio 11 Beta
Describes the new features for testing products throughout the application lifecycle.
What's New in the .NET Framework 4.5 Beta
Contains information about key features and improvements in the .NET Framework 4.5.
What's New in MSBuild 4.5
Describes the new features in MSBuild with the .NET Framework 4.5.
What’s New for ASP.NET 4.5 and Web Development in Visual Studio 11 Beta
Describes the changes and enhancements for web development in Visual Studio 11 Beta.
What's New for Data Application Development in Visual Studio 11 Beta
Describes new features, such as SQL Server Object Explorer, the new Table Designer, and the SQL Server Express LocalDB engine.
What’s New for the Debugger in Visual Studio 11 Beta
Discusses enhancements to the debugger, which include the new GPU Threads and Parallel Watch windows.
What's New for LightSwitch in Visual Studio 11 Beta
Describes the new capabilities in the second version of Visual Studio LightSwitch.
What's New for SharePoint Development in Visual Studio 11 Beta
Describes the new and enhanced features for SharePoint development in Visual Studio 11 Beta.
Installing and Managing Visual Studio Tools and Extensions
Provides an overview of Extension Manager, which you can use to install a variety of tools and extensions for Visual Studio.
The following sections describe new and enhanced features in the Visual Studio IDE. For information about IDE features for developers of Metro style apps, see Tour of the IDE for C#/C++/Visual Basic Developers or Tour of the IDE for JavaScript Developers.

Projects and Solutions

  • Project and solution backward compatibility. Use Visual Studio 11 Beta to open and edit projects and solutions that were created in Visual Studio 2010 SP1 without converting the Visual Studio 2010 SP1 project first. For more information, see Visual Studio 11 Compatibility.
  • Browse code in Solution Explorer. Browse the types and members in your projects, search for symbols, view a method’s Call Hierarchy, find symbol references, and perform other tasks without switching between multiple tool windows. For more information, see Viewing the Structure of Code.

Window Management

  • Access frequently used files more easily. Pin files that you use often to the left side of the tab well so that you can access them easily regardless of how many files are open in the IDE.
  • Preview files in the Code Editor. Reduce file clutter in the editor by viewing files without opening them. Preview files in a blue tab on the right side of the document tab well. If you modify the file or choose the Open button, the file opens. For more information, see Code and Text Editor.
  • Enhanced multi-monitor support. Dock multiple floating windows together as a “raft” on other monitors. You can also create multiple instances of Solution Explorer and move them to another monitor. For more information, see How to: Arrange and Dock Windows.


  • Search across the IDE. Locate menu commands quickly, open Options dialog box pages, or search across file names and paths of open documents by using Quick Launch. Choose the Enter key or choose an entry to open the dialog box or window that’s associated with the command. For more information, see Quick Launch.
  • Search in Tool windows. Filter the view by entering a keyword in the search box at the top of certain tool windows, such as the Toolbox, Solution Explorer, Error List, and Team Explorer. For more information, see Finding and Replacing Text.
  • New regular expression syntax. Use regular expression syntax from the .NET Framework in the Find and Replace control and the Find in Files and Replace in Files dialog boxes. For more information, see Using Regular Expressions in Visual Studio.

Code Editor for C++

  • Semantic colorization. More C++ tokens, such as types, enumerations, and macros, now have colorization by default. Parameters appear in italics. You can specify more token colorizations in the Options dialog box under Environment, Fonts and Colors. For more information, see Code and Text Editor.
  • Reference highlighting. You can highlight all instances of a symbol in the current file by pointing to the symbol. You can move among the highlighted references by choosing the Ctrl+Shift+Up Arrow or the Ctrl+Shift+Down Arrow keys. You can turn this feature off in the Options dialog box under Text Editor, C/C++, Advanced.
  • List Members. The List Members list appears automatically as you enter text in the code editor. Results are filtered so that only relevant members appear. You can control filtering logic by opening the Options dialog box and then changing the settings under Text Editor, C/C++, Advanced. For more information, see Using IntelliSense.
  • C++/CLI IntelliSense. C++/CLI now supports all IntelliSense features, such as Quick Info, Parameter Help, List Members, and Auto Completion.
  • C++ code snippets. Skeleton code is available for basic code constructs, such as switch, if-else, and for loop, in the List Members list. Choose a snippet from the list to insert it into your code, and then fill in the required logic. You can also create custom snippets for use in the editor. For more information, see Code Snippets.

Code Editor for JavaScript

  • IntelliSense. IntelliSense performance is improved. To customize the behavior of the JavaScript Code Editor and IntelliSense, on the menu bar, choose Tools, Options, Text Editor. For more information, see JavaScript IntelliSense.
  • Support for ECMAScript 5 and the HTLM5 DOM.
  • Parameter Help. You can provide IntelliSense for fields, function overloads, and variables by using triple-slash (///) code comments.
  • Signatures in statement completion. Function signatures display on the right side of the statement completion list.
  • Immediate feedback. IntelliSense includes statement completion for identifiers in the active document when accurate information about objects isn’t available. For more information, see Statement Completion for Identifiers.
  • Implicit references. You can control which objects are available in the global scope by using reference groups. To configure reference groups, on the menu bar, choose Tools, Options, Text Editor, JavaScript, IntelliSense, References. For information about references, choose the F1 key on specific UI elements.
  • Breakpoints. You can set breakpoints on specific locations in a single line of code. For example, in the code var y = 5; var x = 10;, you can set the breakpoint on only var x = 10;.
  • Script Loader. Delay-loaded scripts are now loaded in the development environment, which allows IntelliSense to provide information about the script objects.
  • Brace matching. Matching braces are highlighted when the cursor is on the left side of an opening brace or on the right side of a closing brace.
  • Outlining. New navigational aids include collapsible functions in the editor.
  • Go To Definition. You can put your cursor in a function and choose the F12 key (or right-click the function and then choose Go To Definition) to open the JavaScript file that contains the definition of the function. The page opens at the location in the file where the function is defined. This feature isn’t supported for generated files.
  • Drag-and-drop references. You can drag .js files from Solution Explorer to the JavaScript Code Editor, where they’re added as references. References that you add in this manner appear at the top of the page in the Code Editor.

Async Feature

Visual Basic and C# introduce the Async feature, which makes asynchronous programming almost as straightforward as synchronous programming. Asynchronous code traditionally has required you to define continuations to capture what happens after a called asynchronous operation finishes. This requirement complicates your code and makes routine tasks such as exception handling more awkward and difficult.
By using the Async feature, you can call asynchronous methods without defining continuations or splitting your code across multiple methods or lambda expressions. For more information, see Asynchronous Programming with Async and Await (C# and Visual Basic).

Caller Information

Visual Basic and C# introduce Caller Info attributes, which you can use to obtain information about the caller to a method. You can obtain the source code file path, source code line number, and member name of the caller. For more information, see Caller Information (C# and Visual Basic).

Visual Basic

  • Iterators. You can use iterators to perform custom iterations over collections. An iterator uses the Yield statement to return each element in the collection one at a time. For more information, see Iterators (C# and Visual Basic).
  • Call Hierarchy. The IDE for Visual Basic now supports the Call Hierarchy feature. You can use this feature to navigate through code by displaying all calls to and from a selected method, property, or constructor. For more information, see Call Hierarchy.
  • Global keyword. By using the Global keyword in a Namespace statement, you can define a namespace out of the root namespace of your project. For more information, see Namespaces in Visual Basic.
The following sections describe new Visual C++ features. For more information, see What's New for Visual C++ in Visual Studio 11 Beta.

Improved Support for C++11 Standards

  • Standard Template Library. Standard Template Library (STL) support is extended to provide additional programming constructs that the C++11 specification requires.
  • Stateless lambdas. Stateless lambdas are defined as code that starts with an empty lambda-introducer [] that captures no local variables. These elements are now implicitly convertible to function pointers, as the C++11 standard requires.
  • SCARY iterators. SCARY iterators are implemented, as permitted but not required by the C++11 Standard.
  • Range-based for loops. Write more robust loops that work with arrays, STL containers, and (when collection.h is included) WinRT collections in the form for ( for-range-declaration : expression ).
  • Scoped enumerations support. The C++ enumclassenum-key is now supported.

Metro Style App Development Support

  • Native XAML-based UI model. For Metro style apps, you can use the new native XAML-based UI model.
  • Visual C++ Component Extensions. These extensions simplify consumption of Windows Runtime objects, which are a necessary part of Metro style apps.
  • DirectX Metro style games. Develop engaging and immersive games by using the new DirectX support for Metro style apps.
  • XAML and DirectX interoperability.Metro style apps that use both XAML and DirectX now interoperate efficiently.
  • Windows Runtime Component DLL development. Component DLL development makes the Windows Runtime environment extensible.

Visual C++ Compiler and Linker

  • Auto-vectorizer. Where possible, the C++ compiler automatically vectorizes loops. Vectorization reorganizes a loop so that the CPU can execute multiple iterations at the same time. Vectorized loops can run up to eight times faster on CPUs that support vectorization.
  • Auto-parallelizer. The new auto-parallelizer improves how your code runs on multi-core and multiprocessor hardware. This feature reorganizes a loop so that it can execute on multiple threads at the same time. You can tell the compiler which loops to parallelize by using the #pragma parallelize directive.

Code Quality Tools

  • Updated unit test framework. Write unit tests in C++ by using the new framework in Visual Studio.
  • Architecture dependency graphs. Understand your code better by generating dependency graphs for binary, class, namespace, and include files in your C++ solution or projects.
  • Layer diagrams. Use layer diagrams to validate architecture design against implementation code that’s written in C++.
  • Architecture Explorer. You can now use the Architecture Explorer to explore the assets in your C++ solution, projects, and files.
  • Code coverage. Code coverage is updated to dynamically instrument binaries at run time. This change reduces configuration overhead and increases performance. You can also collect code coverage data from unit tests for C++ applications.

Related Sections

For information about other new features in Visual C++, see the following sections in this topic:

Information-Rich Programming

Visual F# in Visual Studio 11 Beta extends the succinct and expressive F# language to support information-rich programming. You can use this technology to program directly against rich spaces of data and services that often dominate enterprise and web programming, such as databases, web services, web data feeds, and data brokers. Information-rich programming in F# includes the F# Type Providers mechanism, F# LINQ Queries, and a set of built-in type providers for database, OData, and web service programming. For more information, see What's New for Visual F# in Visual Studio 11 Beta.


Remote debugging. The Visual Studio remote debugging process is simplified, and you can more easily discover and connect to computers that are running the remote debugger in the Select Remote Debugger Connection dialog box. For more information, see Remote Debugging Setup.


Collecting IntelliTrace data with the stand-alone utilities. You can use the IntelliTrace collection utilities to collect logs of IntelliTrace events and other debugging information about computers that don’t have Visual Studio installed. Because of the low-impact installation of the utilities, you can use IntelliTrace log files to debug issues that appear on production servers and other computers where maintaining the computer configuration is important. Note that you can open IntelliTrace log files on only those computers that are running Visual Studio Ultimate. For more information, see Collecting IntelliTrace Data Everywhere.

Code Analysis

Code Analysis window. Code analysis warnings now appear in the Code Analysis tool window. In this window, you can filter messages by keyword, project, and severity. For certain C++ warnings, the message lists source lines that identify the execution path that led to the warning.
New C++ concurrency warnings. New concurrency warnings help you ensure locking disciplines in multithreaded C/C++ programs. The analyzer detects several concurrency bugs, which include potential race conditions, lock order inversions, caller/callee locking contract violations, and mismatched synchronization operations.
C++ rule sets. By creating or using rule sets, you can specify the analysis rules that you want to apply to code analysis runs.
C++ one-click suppression. In the Code Analysis window, you can suppress a particular warning by inserting a pragma into the source code.
For more information, see Analyzing Application Quality by Using Code Analysis Tools.

SQL Server Object Explorer

The new SQL Server Object Explorer provides a view that's like SQL Server Management Studio. You can open SQL Server Object Explorer from the View menu in Visual Studio. For more information, see Connected Database Development.

New Table Designer

The new Table Designer enables you to define a table graphically and have an at-a-glance understanding of its related objects. As you change the table definition by using a graphical interface, the table’s definition is updated in the Script pane. You can apply the SQL in the Script pane by choosing the new Update button.
The new Table Designer appears for databases that are in the SQL Server 2012 Release Candidate 0 format. For more information, see How to: Create Database Objects Using Table Designer.

SQL Server Express LocalDB Engine

The SQL Server Express LocalDB engine is a new lightweight version of SQL Server that is used to access a SQL Server 2012 Release Candidate 0 database file (.mdf). For more information, see Local Data Overview.
The following sections describe new and enhanced features for ASP.NET and web development. For more information, see What’s New for ASP.NET 4.5 and Web Development in Visual Studio 11 Beta.

ASP.NET Core Services

ASP.NET core services include enhancements for request validation and new support for the WebSockets protocol. You can now bundle and minify JavaScript, read and write HTTP requests and responses asynchronously, and use asynchronous HTTP modules and handlers. In addition, encoding APIs for preventing cross-site scripting have been integrated into the core framework of ASP.NET pages.

ASP.NET Web Forms

ASP.NET Web Forms now offer model binders for data access, which resemble those in ASP.NET MVC. By using model binders, you can write code that’s called directly by data-bound controls, which works like action methods in ASP.NET MVC. Additional enhancements to Web Forms applications include strongly typed data controls, support for client-side validation using unobtrusive JavaScript, redirection of references to built-in JavaScript files to the Microsoft CDN, and support for new HTML5 form input types.

Visual Web Developer Enhancements

  • Multi-browser support. Installed browsers appear in a list next to the Start Debugging button in Visual Studio. You can now test the same page, application, or site in a variety of browsers.
  • Page Inspector. Page Inspector renders a webpage (HTML, Web Forms, ASP.NET MVC, or Web Pages) directly within the Visual Studio IDE so that you can examine both the source code and the resulting output. For ASP.NET pages, you can determine which server-side code produced the HTML markup that’s rendered to the browser.
  • HTML editor. The new HTML editor offers support and snippets for HTML5 and improved IntelliSense, which filters on the text that you enter so that only relevant options appear. In addition, you can configure Visual Studio to validate a page against the schema that the page's <!DOCTYPE> declaration specifies, and you can save selected markup to a user control. Other improvements include Smart Tasks in Source view, smart indentation inside tag pairs, and automatic renaming of the corresponding tag when you modify one tag in a pair.
  • CSS editor. The CSS editor now supports CSS3. Other enhancements include sections that you can expand and collapse, hierarchical indentation, the ability to comment and uncomment blocks, improvements in IntelliSense like those in the HTML editor, support for CSS hacks, snippets for vendor-specific extensions to CSS, and a color picker.
  • JavaScript editor. For information about enhancements to the JavaScript editor, see the Code Editor Enhancements for JavaScript section.

Data-Related Enhancements

SQL Server Express LocalDB replaces SQL Server Express as the default database engine for development. This engine is a lightweight version of SQL Server that has all the programmability features of a SQL Server database. You can use SQL Server Object Explorer in Visual Studio to manage database objects in a way similar to SQL Server Management Studio. You can add new DataAnnotation attributes to properties to automate validation for frequently used data types such as e-mail addresses, telephone numbers, and credit-card numbers.

Multi-Version Support

ASP.NET 4.5 updates multi-targeting so that you can work with projects that target earlier versions of the .NET Framework. You can also open and work with Visual Studio 2010 SP1 projects in Visual Studio 11 Beta and Visual Studio 11 Beta projects in Visual Studio 2010 SP1.

IIS Express

In Visual Studio 11 Beta, IIS Express replaces the ASP.NET Development Server as the default server for web development.
  • New designers for lists and content types. When you create a list or content type in Visual Studio, a designer now helps you set up and lay out the contents of that list or content type.
  • Site Column project item template. By using this template, you can create site columns, or "fields," more easily.
  • Silverlight Web Part project template. This template makes hosting a Silverlight application in a web part easier and more convenient. With this template, you can create a Silverlight application or provide your own, and the template also provides a web part project with which to associate the Silverlight application.
  • Remote publishing. You can now publish your SharePoint solutions to remote SharePoint sites as well as local sites.
  • Support for ALM Features. The Visual Studio SharePoint tools now fully support the following ALM features:
    • Performance profiling: Tests your application's performance and identifies and locates bottlenecks.
    • Unit testing: Creates small, procedure-level tests to debug your source code.
    • IntelliTrace debugging: Debugs your SharePoint applications across the boundaries of Visual Studio, including the web.
  • Sandboxed visual web parts. Visual web parts now support sandboxed projects, not just farm projects.
  • Improved support for sandboxed solutions. When you work on sandboxed solutions, Visual Studio displays a compiler error if you try to use farm-only API calls. Also, IntelliSense displays only those APIs that are compatible with sandboxed solutions when you work on a sandboxed solution.
  • Support for JavaScript debugging and IntelliSense for JavaScript. You can now debug JavaScript in SharePoint projects, and IntelliSense is enabled for JavaScript. URL resolution for JavaScript works for visual web parts in sandboxed solutions.
The following section describes new and enhanced tools for working with 2D and 3D graphics and game development in Visual Studio 11 Beta.

Asset Viewers and Editors

  • Image and texture editing. Create, inspect, and edit bitmap and compressed image formats (DDS, TGA, TIFF, PNG, JPG, GIF) with a new image editor that supports transparency and mipmaps. For more information, see Working with Images and Textures.
  • 3D models. Inspect standard 3D model formats (OBJ, COLLADA, and Autodesk’s FBX) directly in Visual Studio to improve artist-developer workflow. Create placeholder art for 3D games and applications by using built-in 3D primitive generation and materials. For more information, see Working with 3-D Models.

DirectX Programmable Shaders (HLSL)

  • Edit and build support for HLSL. Add, edit, and compile HLSL shaders in Visual Studio projects more easily with syntax coloring, indenting and outlining of HLSL source code, and automatic MSBuild support for the Microsoft HLSL Compiler (fxc.exe).
  • Visual Shader designer. Create advanced pixel shaders by using a new, node-based shader designer that provides a 3D preview of the effect at every stage. Export the shader as HLSL to use in your application. For more information, see Working with Shaders.

DirectX Graphics Debugger

Debug Direct3D applications directly in Visual Studio by taking whole-frame snapshots of a running application and then re-creating the frames step-by-step while inspecting Direct3D events, device state, buffer contents, and even individual vertices and pixels. Determine which Direct3D API calls take the most processing time. For more information, see Debugging DirectX Graphics.

C++ Accelerated Massive Parallelism

C++ Accelerated Massive Parallelism (C++ AMP) accelerates the execution of your C++ code by taking advantage of the data parallel hardware that’s often present as a GPU on a discrete graphics card. This programming model includes multidimensional arrays, indexing, memory transfer, tiling, and a mathematical function library. By using C++ AMP language extensions and compiler restrictions, you can control how data moves from the CPU to the GPU and back. For more information, see C++ Accelerated Massive Parallelism (C++ AMP).

Parallel Debugging

You can use the GPU Threads and Parallel Watch windows to debug parallel applications. For more information, see What’s New for the Debugger in Visual Studio 11 Beta.

Concurrency Visualizer

The Concurrency Visualizer has several new features to enable quicker access and increase configuration control. This tool also includes a new SDK that you can use to define custom performance data that appears in the visualizer. You can use the following new features to examine performance, especially of code that uses parallel processing:
  • The chart zoom control provides a graphical display of the entire application execution. By using this control together with the zoom control, you can more easily focus on a portion of code.
  • The GPU Activity graph on the Utilization tab shows the total number of engines that are running.
  • The timeline on the Threads tab displays information for any data that you’ve defined by using the Concurrency Visualizer SDK.
You can perform the following tasks from the new Concurrency Visualizer submenu, which is on the Analysis menu in Visual Studio:
  • Start the current project, and display trace information in the visualizer.
  • Start any application on your computer, and display trace information in the visualizer.
  • Attach to a running process.
  • Open an existing trace file, and view it in the visualizer.
  • Add support for the Concurrency Visualizer SDK to your project.
  • Configure display options for the Concurrency Visualizer.
By choosing Advanced Settings on the Concurrency Visualizer submenu, you can configure the following settings more easily than you could in earlier versions:
  • Symbols: The Symbols tab includes a quick link to the debugging symbols setting.
  • Just My Code: You can use Just My Code to specify the executable files that you want the visualizer to show.
  • Buffering:  You can set several buffering parameters for the Event Tracing for Windows collection.
  • Filter: You can specify which events, among CLR, sample, GPU, and file I/O, to display in the visualizer.
  • Markers: You can configure how the marker data that you create by using the Concurrency Visualizer SDK appears in the visualizer.
  • File: You can specify the folder location of the trace files. Visual Studio 11 Beta introduces the *.cvtrace file.
By using the Concurrency Visualizer SDK, you can instrument your code to visualize additional markers, flags, and messages in the Concurrency Visualizer. The SDK is available for both managed and native code. Visual Studio 11 Beta includes several samples to help you start to use this feature.

TPL Dataflow

Task Parallel Library (TPL) Dataflow supports parallel dataflow-based programming by building on features that were introduced in the .NET Framework 4. For more information, see Dataflow (Task Parallel Library).
This section lists key improvements in the .NET Framework 4.5 Beta. For more information, see What's New in the .NET Framework 4.5 Beta.

Core Improvements

  • System restarts are reduced during installation of the NET Framework.
  • Asynchronous file operations are provided that use the new Async feature in C# and Visual Basic.
  • Background just-in-time (JIT) compilation on multi-core processors improves application performance.


  • A new programming interface is provided for HTTP applications.

Windows Communication Foundation (WCF)

  • New features make it simpler to develop and maintain WCF applications.
  • New asynchronous streaming support is provided.

Windows Workflow Foundation

  • The Workflow Designer has several enhancements.
  • You can create state machine workflows.

Windows Presentation Foundation (WPF)

  • You can implement a ribbon user interface by using the new Ribbon control.
  • You can display large sets of grouped data faster.
Post a Comment