Index

images  A

Algorithm optimization

    approximation

        c-approximation algorithm

        maximum cut

        traveling salesman

    gap compression

    index compression

    introduction

    memoization and programming

        all-pairs-shortest-paths

        calculation

        dynamic programming

        edit distance

        Fibonacci numbers

        recursion

    memory and string dictionary

    probabilistic algorithms

        fermat primality test

        maximum cut

    taxonomic complexity

        Big-Oh notation

        complexity classes and TM

        master theorem

    variable length encoding

Allocation profilers

    CLR profiler

        allocation graph button

        heap dumps

        histogram buttons

        main report view

        objects

        time line button

        Visual view

    memory-related statistics

    Visual Studio profiler

        allocation view

        function details view

        JackCompiler.exe

        object lifetime view

        summary view

images  B

Built-in Windows tools

    counter categories

    Event Tracing for Windows (ETW)

        custom ETW providers

        kernel providers

        partial list

        PerfMonitor

        PerfView tool

        sampling

        Windows Performance Toolkit

    performance counters

        components

        configuring performance

        logs and alerts

        monitoring memory

        points

        steps

        tools

images  C

CLR generics

    C++ templates

        limitations

        turing-complete template resolution mechanism

        type-safe template class

    java

        code conversion

        Object array

        type erasure

Collections

    built-in arrays

    cache considerations

        cache-core-memory relationships

        cache hit

        cache line

        cache miss ratio

        code generation

        hitting the memory wall

        large main memories

        Level 1 cache for data

        Level 2 cache for data

        Level 3 cache for data

        Level 1 cache for program instructions

        matrix multiplication

    concurrent collections in .NET Framework

        AddOrUpdate method

        ConcurrentBagT

        ConcurrentDictionaryK,V

        ConcurrentQueueT

        ConcurrentStackT

    custom

        disjoint-set/union-find data structure

        one-shot collections

        skip list data structure

    IEnumerableT

    .NET framework

        additional requirements

        amortized O(1) cost collections

        DictionaryK,V

        HashSetT

        LinkedListT

        ListT

        SortedDictionaryK,V

        SortedListK,V

        SortedSetT

        StackT

        storage requirements

        strings

        ubiquitous space-time tradeoff

    apartments

        ASP.NET

        cross-thread parameter

        STA, MTA and NTA

        threads and objects

        types

    CCW and RCW

    exceptions

    lifetime management

    managed client

    NoPIA

    practices

    TLB import and code access security

    unmanaged client

    wrappers

Concurrency and parallelism. See also Synchronization

    advanced patterns, TPL

    advantage

    C# 5 async methods

        async and await

        asynchronous version

        continuation

        Dispose method

        exception handling

        forecasts variable

        language features

        TaskScheduler API

        WinRT (Windows Runtime) APIs

    data parallelism

        for and foreach loops

        parallel LINQ

    frameworks

    GPU computing

        C++ AMP

        matrix multiplication

        N-Body simulation

        parallelism

        tiles and shared memory

    harnessing parallelism

    introduction

    I/O operations

    Sutter, Herb

    task parallelism

        class

        decomposition

        exceptions and cancellation

        Parallel.Invoke

        partition method

        QuickSort algorithm

        recursive algorithms

        Task.Run method

    thread

        CPU

        Intel i7 system

        prime numbers

        questions and answers

        thread pools

images  D

Data parallelism

    for and foreach loops

        Parallel.For

        Parallel.ForEach

        ParallelLoopState class

        Stop method

        testing loop

    parallel LINQ (PLINQ)

        advantages

        AsParallel extension method

        loops

        queries

        thread-local buffers

images  E

Event Tracing for Windows (ETW)

    custom ETW providers

    kernel providers

    partial list

    PerfMonitor

        advantages

        bottom up report

        CPU, GC and JIT reports

        GC analysis report

        HTML files

        JIT analysis report

        runAnalyze command

        source code folder

        top down report

        TraceEvent

    PerfView tool

        features

        file view

        MemoryLeak.exe

        reference chain

        sampling

    Windows Performance Toolkit (WPT)

        call stack aggregation

        detailed stack frames

        graph

        I/O operations

        raw report

        sampling profilers

        SDK installation directory

        XPerf.exe

images  F

Flavors, GC

    CER

    disadvantages

    GC flavors and sub-flavors

    scenarios

    server GC

    threads

        mark phase

        suspension

        sweep phase

        types

    workstation GC

        concurrent GC

        non-concurrent GC

        types

images  G

Garbage collection (GC). See also Tracing garbage collection

    allocation cost

    coordination concepts

    deallocation cost

    definition

    design goals

    finalization

        automatic mechanism

        bullet-proof feature

        dispose pattern

        manual deterministics

        practices

        resources

        unmanaged resources

    flavors

        application threads

        GC flavors and sub-flavors

        scenarios

        server GC

        workstation GC

    free list management

    generational model

        assumptions

        background GC

        large object heap

        .NET implementation

        practices

        references

    interaction

        CLR hosting

        System.GC class

        triggers

    management cost

    memory leak

    memory management

    optimizations

    practices

        finalization

        generational model

        object graphs

        paging and unmanaged memory

        pinning

        pooling objects

        static code analysis (FxCop)

        value types

    reference-counting garbage collection

    segments and virtual memory

        approaches

        CLR handles

        COM objects and unmanaged code

        ephemeral segment

        fragmentation

        managed code

        memory space

        segment/VM hoarding

        VMMap

    weak references

        application code

        event

        GC handle

        long weak references

        short weak references

        strong reference

        various scenarios

Generational model, GC

    assumptions

    background GC

    large object heap

    mid-life crisis

    .NET implementation

        large object/generation

        old object/generation

        pinned objects

        types

        youngest objects/generation

    object life expectancies

    practices

    references

        card table

        JIT compiler

        mark phase

        micro-optimization

        non-null type

        statements

Generic programming

    ArrayList

    ArrayList with boxed Point2D

    binary search, sorted array

    CLR generics

        C++ templates

        java

    constraints

        closed generic type

        IComparableT

        IMathT interface

        interface

        interface vs. IEquatableT constraints

        Java

        ListT

        open generic type

    generic code conversion

    generics internals

    ListT

    non-boxing

    System.Object method

    type safety

GPU computing See also C++ AMP

    matrix multiplication

    N-Body simulation

    parallelism

    tiles and shared memory

        element

        matrix multiplication algorithm

        multiple threads

        .NET

        parallel_for_each

        speed increase

        tile_barrier objects

        tile_static storage

images  H

images  I

Internet Information Services (IIS)

    output cache

        kernel-mode

        user-mode cache

    pool configuration

        idle timeouts

        processor affinity

        recycling

        web garden

    types

I/O concepts

    copying memory

        data buffer

        unmanaged memory

    exposing part

    file I/O

        cache hinting

        unbuffered I/O

    I/O completion port (IOCP)

        CreateIoCompletionPort

        GetQueuedCompletionStatus

        overlapped structure

        Pack method

        structure and operation

        TestIOCP method

        thread handles

    .NET Thread Pool

    overlapping

    performance gains

    scatter-gather

    synchronous and asynchronous

images  J, K

JIT compiler

    common subexpression reduction

    constant folding

    .ini file

    method inlining

    range check elimination

        array

        loop function

    standard optimizations

    tail calling

        GCD method

        heuristics

        integers

        method

        online details

images  L

images  M

Memory profiler

    ANTS

        comparison

        directories

        individual string

        strings

    SciTech .NET

        dump files

        FileInformation instances

        memory snapshots

        post mortem

Microbenchmark

    code

    environment

    guidelines

    poor design

        conclusion

        framework

        as and is keyword

        operations

        virtual modifier

images  N

Networking

    network protocols

        chatty protocol session

        encoding and redundancy

        message chunking

        pipelining

        streaming

    Server applications

    sockets

        asynchronous

        buffer

        Nagle’s algorithm

        registered I/O

images  O

Optimization

    CDNs

    HTTP cache headers

        dynamic content

        static content

    IIS components

        client applications

        configuring compression

        dynamic compression

        static compression

    minification and bundling

        bundles folder

        CSS files

        meaning

        problems

        script

        use of

images  P

Performance measurement

    allocation profilers

        approaches

        black-box testing

        CLR profiler

        memory-related statistics

        Visual Studio profiler

    built-in Windows tools

        Event Tracing for Windows (ETW)

        performance counters

    concurrency profilers

    database and data access profilers

    I/O profilers

    memory profiler

        ANTS

        SciTech .NET

    microbenchmark

        approaches

        guidelines

        poor design

    MSDN features

    time profilers

        customization

        guidlines

        instrumentation profiling

        profiling modes

        sampling mode

        Visual Studio sampling profiler

    tools

    white-box testing

Performance metrics

    application types

    architecture

    goals

        application types

        environment

        statements

        well-defined

    partial list

    process

    software development lifecycle

Performance patterns

    code generation

        dynamic lightweight code

        source code

        third-party frameworks

    exceptions

    JIT compiler

        .ini file

        method inlining

        range check elimination

        standard optimizations

        tail calling

    processor-specific optimization

        features

        ILP

        SIMD

    reflection

    startup

        GAC

        image packers

        MPGO

        multi-core JIT compilation

        native image

        pre-JIT compilation

        reduce assemblies

        require rebasing

        types

P/Invoke

    binding

    blittable types

    code access security

    C-style functions

    DllImport attribute

    FindFirstFile method

    IntPtr

    marshaler stubs

        direction, value and reference types

        HRESULT returns

        IL Stub Diagnostics

        managed code execution

        memory allocation

        ML and assembly code

        native code

        steps

        unmanaged code execution

        unmarshaling

    PInvoke.net and interop assistant

    WIN32_FIND_DATA struct

images  Q

images  R

images  S

Server, Web application

    asynchronous

        controller classes

        I/O operation

        page

        threads

    cache objects

Synchronization

    agent-based languages

    cache considerations

        invalidation/collision

        localSums array

        sequential method

        sum variable

    directions

    execution history

    lock-free code

        C# method

        Compare-And-Swap (CAS)

        data structure

        DoWithCAST

        general version

        incorrect result

        in-stack queued spinlocks

        Interlocked.CompareExchange

        lost updates

        memory models and volatile variables

        multiplication method

        operating system

        processors

        Push method

        spinlock

        suffers

        Task Parallel Library

        thread

        TryPop method

    machine instructions

    message-passing processor

    transactional memory

    windows mechanisms

        data structure

        internal implementation

        state semantics

        user-mode programs

System.GC class

    control methods

        enumeration

        properties

        scenarios

    diagnostic methods

    notifications

images  T

Threads

    CPU

    Intel i7 system

    mark phase

    pools

        abstraction

        approach

        concurrency profiler report

        FIFO and LIFO

        priorities

    prime numbers

    questions and answers

    suspension

    sweep phase

    task parallel library

    types

Time profilers

    commercial tools

    customization

    guidlines

    profiling modes

    sampling mode

    Visual Studio

        instrumentation profiling

        sampling profiler

Tracing garbage collection

    mark phase

        eager collection

        false positivies and negatives

        f-reachable queue

        GC handles

        local roots

        performance implications

        referenced objects

        SOS.DLL

        static roots

    .NET CLR

    pinning operation

        approaches

        disadvantages

        fragmentation

        GC handle

        managed and unmanaged code

        .NET memory management model

        practices

    sweep and compact phase

        GC model

        linear objects

        moving objects

        next object pointer and GC heap

        shaded objects

Turing machine (TM)

    automata theory

    halting problem

        C# method

        countable

        DoesHaltOnInput

        Hepler method

        undecidable problems

    iterations

    NP-complete problems

        characterization

        P and NP

        problems

    O(n2) algorithms

    P/NP-complete

    polynomial time

    state diagram

images  U

Unsafe code. See also C++/CLI language extensions

    C# project

    lifetime management

    memory pooling scheme

    pinning and GCHandles

    P/Invoke

        binding

        code access security

        C-style functions

        DllImport attribute

        FindFirstFile method

        IntPtr

        marshaler stubs

        PInvoke.net and interop assistant

        WIN32_FIND_DATA struct

    unmanaged memory

    widespread technologies

images  V

Visual Studio

    allocation profiler

        allocation view

        function details view

        JackCompiler.exe

        object lifetime view

        Summary view

    instrumentation profiling

        _CAP

        CPU-bound

        functions view

        instrumented method

        .NET Reflector

    sampling profiler

        accurate technique

        Call Tree view

        details view

        exclusive samples

        functions view

        inclusive samples

        intervals

        partial list

        profiler report

        program runing

images  W, X, Y, Z

Web application performance

    ASP.NET applications

        mechanisms

        overview

        per-compiling

        pitfalls

        process model

        scaling out

        server affinities

        server-side output cache

        tracing and debugging

        view state

    features

    HTTP monitoring tools

    IIS

        output cache mechanisms

        pool configuration

    optimization, 329–330, CDNs

        compression IIS components

        HTTP cache headers

        minification and bundling

    server

        asynchronous pages, modules and controllers

        cache objects

Windows Communication Foundation (WCF)

    asynchronous operation

    bindings

    caching

    process model

    throttling

        ASP.NET applications

        configuration

        parameters

        ServiceThrottling object

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.34.161