Feng Yuan (袁峰)

CLR, Performance, Debugging, Parallel Computing, WPF, XPS, GDI, GDI+, Printing (www.fengyuan.com)

XPS Again

I needed to generate images for an HTML document I'm generating, for which I use create a...

Author: Feng Yuan Date: 09/12/2012

Performance Tips: Faster than StringBuilder?

The web has tons of articles about how StringBuilder is much faster than string concatenation using...

Author: Feng Yuan Date: 08/14/2012

Performance Tips: System.Text.StringBuilder and String.Concat

Much has been written about the benefits of using StringBuilder over string concatenation. So much...

Author: Feng Yuan Date: 08/12/2012

Performance Tips: String.Split

String.Split methods are provided in .Net as a convenient way of dividing string into parts. Here...

Author: Feng Yuan Date: 08/12/2012

TextWriter.WriteLine(string, object[]) in less memory, less time

I found myself increasingly generating reports in .csv format, and then use Excel to analyze the...

Author: Feng Yuan Date: 08/04/2012

Problem: Better way to remove characters that aren't 32 to 175

There is a question on StackOverflow.com about better ways to remove characters in a string that are...

Author: Feng Yuan Date: 07/18/2012

Drawing bearing and distance property line using C#/SVG/IE9/Visio (V2)

Here is expanded version of my little C# program which converts property description in bearing and...

Author: Feng Yuan Date: 06/01/2011

Drawing bearing and distance property line using C#/SVG/IE9.

If you read an official property legal desciption, property line are often described using bearing...

Author: Feng Yuan Date: 05/30/2011

EWD637: Three Golden Rules for Successful Scientific Research

Here is something I read in graduate school and still thinks about from time to time: Edsger W....

Author: Feng Yuan Date: 04/14/2011

Optimization Note (C++) 1: push, pop, call _chkstk

I was looking at assembly code trying to improve an important performance scenario when I found a...

Author: Feng Yuan Date: 04/03/2011

Improving CLRProfiler 4: Reducing SampleObject memory consumption by 58%

In the previous three posts, we managed to double the speed of file loading time of CLRProfiler...

Author: Feng Yuan Date: 03/27/2011

Improving CLRProfiler 3: Double the speed of profile loading

In the first step of profile-guided optimization, we reduced tatal CPU sample of ReadNewLog.ReadFile...

Author: Feng Yuan Date: 03/23/2011

Improving CLRProfiler 2: 19.7% in TryGetValue

Playing with Visual Studio 2010 profiler data Function Code View finds another easy target for...

Author: Feng Yuan Date: 03/22/2011

Improving CLRProfiler 1: 8.4% Progress Bar Update

Being a CLR performance dev, it seems that CLR profiler will be a very useful. So now I'm trying to...

Author: Feng Yuan Date: 03/21/2011

New Job: CLR performance team

I switched job to CLR performance team last August. Now I'm working on something which has huge...

Author: Feng Yuan Date: 03/21/2011

(VS2010 Beta1) Native Parallel Programming: ConcRT example -- Debugging TwentyFour

In a previous posting, we presented a simple C++ parallel program TwentyFour, which is based on the...

Author: Feng Yuan Date: 06/22/2009

(VS2010 Beta1) Native Parallel Programming: ConcRT example -- TwentyFour

.code { word-wrap:break-word; margin:10px; padding:10px; border:2px ridge white;...

Author: Feng Yuan Date: 06/21/2009

STS: A palindromic word I will remember

Continuing searching palindromic sqaure numbers finds a new record number, a 55 digit parlindromic...

Author: Feng Yuan Date: 02/01/2008

A 53-digit Palindromic Square Number

Six years ago I wrote a program to search for palindromic square numbers and other palindromic...

Author: Feng Yuan Date: 01/15/2008

XpsStat: A program for gathering statistics information of XPS documents

In the Winhec presentation on XPS document performance optimization, a simple program XpsStat is...

Author: Feng Yuan Date: 05/21/2007

XPS Performance

There will be two XPS related sessions at Winhec 2007 tomorrow, focusing on Performance Optimization...

Author: Feng Yuan Date: 05/16/2007

XPS at Winhec 2007

Today (May 15, 2007) is the first day of Winhec 2007. If you're application developers,...

Author: Feng Yuan Date: 05/15/2007

A Simple XPS Decoder in C++

If you write programs in C#, Windows Presentation Foundation in .Net 3.0 provides quite nice API to...

Author: Feng Yuan Date: 04/22/2007

Another Ph.D for Bill Gates

On April 19th, Bill Gates has been awarded a honorary Ph.D degree by Tsinghua University...

Author: Feng Yuan Date: 04/19/2007

Something useful from 'junk' mails

With a high school junior in the house, we're receiving tons of 'junk' mails from colleges these...

Author: Feng Yuan Date: 03/28/2007

XPS document with 100,000 pages?

Once a simple document format like XPS is created, it takes on a life of its own. Seeing the beauty...

Author: Feng Yuan Date: 03/21/2007

Source code for Windows Graphics Programming: Win32 GDI and DirectDraw

Source code for Windows Graphics Programming: Win32 GDI and DirectDraw used to be on...

Author: Feng Yuan Date: 03/21/2007

Convert XAML Flow Document to XPS with Style (multiple page, page size, header, margin)

XPS is a fixed document format in which pages are pre-formated to a fixed page sixe. On the opposite...

Author: Feng Yuan Date: 03/10/2007

Anatomy of STL Vector: Data Size

In the last post, we discussed the cost of using STL vector to module size. Now let’s take a look at...

Author: Feng Yuan Date: 03/04/2007

Anatomy of STL vector: Module Size

If you need a dynamic array in C++, a widely used class is the vector template class in STL. There...

Author: Feng Yuan Date: 03/04/2007

Printing documents to Microsoft XPS Document Writer without user interaction

Now that the XPS storm has been started, people are generating XPS documents from all kinds of...

Author: Feng Yuan Date: 02/24/2007

Modifying XPS Document: Add Watermark

Windows Platform Foundation has provided easy APIs and solutions for XPS document generation,...

Author: Feng Yuan Date: 08/23/2006

Trobleshooting Printing Fidelity Problems

It's not uncommon to have a print-out from your printer not matching what do you see on screen....

Author: Feng Yuan Date: 08/08/2006

GDI Font Installation and Printing

I learned something new about GDI font installation and printing recently. So if you're use...

Author: Feng Yuan Date: 08/08/2006

XPS at WinHec

There is a large presence of XPS at Winhec this year, which makes Global Graphics' booth banner very...

Author: Feng Yuan Date: 05/24/2006

Anatomy of Radial Gradient Brush

WPF(Windows Presentation Foundation) and XPS (Open XML Paper Specification) supports five types of...

Author: Feng Yuan Date: 05/09/2006

The difference between an amature and professional plumber

An amature plumber makes multiple trips to Home Depot to buy supplies, a professional plumber gets...

Author: Feng Yuan Date: 05/06/2006

American in Chinese History: Anson Burlingame

On the eve of Chinese president's visit to United States, I thought it's fitting to discuss some...

Author: Feng Yuan Date: 04/18/2006

Windows Graphics Programming: Win32 GDI and DirectDraw (ISBN 0130869856) reprint is here !

Windows Graphics Programming: Win32 GDI and DirectDraw has been out of print for quite sometimes. I...

Author: Feng Yuan Date: 04/15/2006

Bought a new computer: HP Media Center PC m7334n with AMD Athlon 64 X2 3800

My desktop computer at home is about five years old, so I thought it's time to buy myself a new...

Author: Feng Yuan Date: 03/20/2006

The benefit of having your own office

The benefit of having your own office, or at least one of them, is that you can have your own $29...

Author: Feng Yuan Date: 03/02/2006

Know a good book on performance?

If you know a good book or more on performance, please recommend. I'm aware of the following books...

Author: Feng Yuan Date: 03/02/2006

Windows Graphics Programming: Win32 GDI and DirectDraw (ISBN 0130869856) gets reprinted

Just worked out a deal with the publisher. Windows Graphics Programming: Win32 GDI and DirectDraw...

Author: Feng Yuan Date: 02/08/2006

Zoran announces XPS rendering support for printers

Sunnyvale, Calif. - January 17, 2005 - Zoran Corporation (Nasdaq: ZRAN) announced that its IPS/XPS...

Author: Feng Yuan Date: 01/19/2006

Optimize XPS markup

XPS is hot, so naturally more and more applications will be generating XPS. If your application has...

Author: Feng Yuan Date: 01/18/2006

Proposal of purchase for a tiny piece of real estate

Just finished writing first draft of a proposal of purchase, for a tiny piece of real estate, 8...

Author: Feng Yuan Date: 01/17/2006

Sell your copy of Windows Graphics Programming: Win32 GDI and DirectDraw

Just before the new year, I noticed a copy of my book was listed on amazon.com for $160 (the listing...

Author: Feng Yuan Date: 01/15/2006

Seven Year Itch

Seven years ago, I was working for Hewlett-Packard on its inkjet printer drivers. Having worked on...

Author: Feng Yuan Date: 01/05/2006

Native Office Support for XPS Annouced

Office just annouced native/direct support for XPS document in Office 12. Read more about it: Jeff...

Author: Feng Yuan Date: 10/29/2005

Personal Computers 30 Years Ago

Last week, close to 20,000 Microsoft employees gathered together at Safeco field to celebrate...

Author: Feng Yuan Date: 09/27/2005

Next>