Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vtCe6-0097Fq-18 for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Feb 2026 22:37:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vtCe5-005vg4-04 for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Feb 2026 22:37:17 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vtCe4-005vfw-23 for pgsql-hackers@lists.postgresql.org; Thu, 19 Feb 2026 22:37:16 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vtCe1-00000000Hi4-1dHj for pgsql-hackers@postgresql.org; Thu, 19 Feb 2026 22:37:15 +0000 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-6581234d208so2467300a12.3 for ; Thu, 19 Feb 2026 14:37:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771540633; cv=none; d=google.com; s=arc-20240605; b=OqT77em9CLRY649DblEz7TrEJvJ/ebOo9ZUU1aVzeq+Ic/u7yn17HwxFUpTkJC40zx J2rnUrnTJB4fj1sXRXU9Text28VmEbKG9FOAYh7vDyfj9Xyj5BDwV9TQCdXn/kgOOLQl PdNjMKaES6PdCGdtMTHzyTeJTRypGj5ZN04ZnmScTbir62g60/LUZSRezOD9KNdFBFvU HSbJRhd0NYhCAiHgxQcavPzHoTk6Oaweh9tyskGS2kO8YWFah2F2UrV72QMZt6X76TBB 590x1w+kRF0ORWNdPvSsJoZttvCjgbWxXvx0Z3AE9Sw5P048jrM0Sg8XKqqNpl3huJc6 CSDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=+Z2W2Ej2t/em+ZXc7A05OEMid+GqlZiVLqvBaTjcybE=; fh=D0KGuQOb31UKGSN6kImeDr0qneDRiMnd2tXEqWZbkTc=; b=BuDyyjsi/gaLP882zJpv8MDk2yaqDoUXb3KU2ctsyHZKAeSS/H5H6tODITXRCGFEZP PmuxM8pGEorqI6cyOxgIu+SS06jbLLTL2g/CPpmVPAvr/0XAbTmenAbQxUCN1q5/wz7T HHb80ekJg8OiFFqOm8YK8R8F4Phf2qIVzbR0asdEYSq6tY6AOIblbl/gkpwmV+saYO9j DN3GztjnxIQuKW9/TnwGCjq7Y89Cxk+7FZtE4EvAPjl+GIsbfxGiQLNKMkD0HODRZtkH Z1EFJih/bUsvIzndQbAKO1IGhSKiNXn2oSW5VE7SkCnbsnHHIVqqEmFndVxh1b0twNy2 rQIg==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=esi.dz; s=google; t=1771540633; x=1772145433; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=+Z2W2Ej2t/em+ZXc7A05OEMid+GqlZiVLqvBaTjcybE=; b=EtdxYqCoIluE8fKZxPDyNy9zRLS1M6ehQBTtKA/4RcVG81F5EEMcOeGyx15o/NPNAd AFf0pTG1MP1KfWbkfL8mM9BYK2TTPnaJa+/cHEP7bUqP4McJm2BN3xzsVF81cMVCsM0F qyEOW9N1potqWaXW5OT58VivsSXCrhHzQNO9ASKzhTTgqji+jaUtPNMFV0VwluIg3DeB H6LlVlfzxM0T5zRoF9fcOp12s8pt6hrl/opzAKAQQ0VhaaQFzJQVa9whOAheQnnehbeX 19T1VEnqPz4/7uyiFDVoVuL3R1EzIi0cUIbrG4fwXFkFLnPJqVauiWGIp+hqwTEvPN/j 5CXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771540633; x=1772145433; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+Z2W2Ej2t/em+ZXc7A05OEMid+GqlZiVLqvBaTjcybE=; b=QKjAB27ulPsrSrOsygX8J0I+VkoKiWgM6NFIJ8a24qwodfBG45mAadkg13geaMeW1A CuU9XVNVdpO1J+nQfIDrgTotVPDx6KV4d9LJtHMlq3tIEBE4MhvJbTFfoQewe/kOKeN1 dMwJIa+/VMbYtqfEQacME5MKcsMGEuSVVdcAj9Xq3EX3EjUCpgzHTv0oj8hdfekEG6H5 xOpyr5dlD6ALKKjssr6trzO+zJP3LVwH/L4R9thBueGenUVvTEy+oYUjFGDICJ9dNOes H9ad7GLaTv0tQcBft4SQIRyRx5Rd+N6YFm26jUgQQsPPiLSjHMGUDX80K7PYLymsJc7E vetQ== X-Forwarded-Encrypted: i=1; AJvYcCUIEADN1jlQLzgNzSfMeXF8eajJIZlM0njlbnpKo20Zt6e12/pqbmhj58lsf2qxjdWn12jzaFwfN7wyFVG9@postgresql.org X-Gm-Message-State: AOJu0YzM9EXApp38UWoyj8xmOJyUGaw58BYQQI31qjz/0SSGhieTalDO h9dEz90M6QqZQLGtGOX0RCnkt0/XJBX8oXpI0h31bV4/OsmpBia0HRbt2JeF14zKhVCQnEXkuLQ 2GB+yhEanx8Sl+a03qGpVUI5npA2mp6Mb/OomhHK8 X-Gm-Gg: AZuq6aKk/dXOU1HF9+2JTLrDSERhw/UwRCBWSukrv6PqKNx01Qng0RfpI4Vvw7YZPlM EnIsW34qH3N35Yp1XyWhZYjTEWA/w1i820lyYTkJQWLlOgMs2w37ZJCzHmUPuQ554VYpP7HCn+3 xcWhTjadeCKkxsGzTmtHOrDaHdGTW/Nx/IXUAjMiEGWrA2vPfMLshxrTxd0CIuAdqQJXtq9RYuK phwdSBgqeGL4vmsEsis8ropU7tRiiLoXkNBNLpfJMRRNvcUmnYL+VReQ3VMw6/pSbx943rxo0dX ZRAB7UUy/am/+cYeaYeCRyhvAEcbT/4iftgxc916JIO3HKNKGiKQcGIYLqMPO4iwjaQ5J737gcK WABVnm0KzP4sI8YI2WfYhnrTB7tCVI/xLwOzFEA== X-Received: by 2002:a05:6402:35cd:b0:65b:f3d5:ae79 with SMTP id 4fb4d7f45d1cf-65bf3d5b181mr8963630a12.10.1771540633118; Thu, 19 Feb 2026 14:37:13 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: KAZAR Ayoub Date: Thu, 19 Feb 2026 23:37:00 +0100 X-Gm-Features: AaiRm51O1cLrr3Fzy_FPp9cog2l4lXo1XrYdEBXpS8kvDWOx2Na0mFznd6d85p8 Message-ID: Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD To: Nazir Bilal Yavuz Cc: Manni Wood , Nathan Bossart , Neil Conway , Andrew Dunstan , Shinya Kato , PostgreSQL-development Content-Type: multipart/alternative; boundary="000000000000247add064b34f204" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000247add064b34f204 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, I ran some long benchmarks on this, and I got stable results across multiple runs (few milliseconds difference) This is on an Intel I7-1255U CPU with: sudo cpupower frequency-set --governor=3Dperformance sudo cpupower idle-set -D 0 echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo WIDE (500k rows) TXT | none Master avg: 22,183 ms New avg: 20,435 ms Improvement: -7.88% CSV | none Master avg: 26,737 ms New avg: 24,625 ms Improvement: -7.90% TXT | escape Master avg: 26,720 ms New avg: 23,658 ms Improvement: -11.46% CSV | quote Master avg: 35,961 ms New avg: 33,317 ms Improvement: -7.35% -------------------------------------- NARROW (1.5M rows) TXT | none Master avg: 2,220 ms New avg: 2,125 ms Improvement: -4.28% CSV | none Master avg: 2,330 ms New avg: 2,145 ms Improvement: -7.92% TXT | escape Master avg: 2,425 ms New avg: 2,187 ms Improvement: -9.79% CSV | quote Master avg: 2,272 ms New avg: 2,253 ms Improvement: -0.85% No regressions as expected, overall this looks good. Regards, Ayoub On Thu, Feb 19, 2026 at 10:01=E2=80=AFAM Nazir Bilal Yavuz wrote: > Hi, > > On Thu, 19 Feb 2026 at 07:02, Manni Wood > wrote: > > > > I took some time tonight to apply v8 to the latest master (759b03b2) on > my x86 tower and arm raspberry pi 5. > > > > Here are the results, using both narrow columns and the wider columns > we've been using througout: > > > > x86 master NARROW > > TXT : 2587.642000 ms > > CSV : 2621.759000 ms > > TXT with 1/3 escapes: 2707.933500 ms > > CSV with 1/3 quotes: 3254.896500 ms > > > > x86 v8 NARROW > > TXT : 2488.655250 ms 3.825365% improvement > > CSV : 2628.818000 ms -0.269247% regression > > TXT with 1/3 escapes: 2615.522000 ms 3.412621% improvement > > CSV with 1/3 quotes: 3446.368000 ms -5.882568% regression > > > > x86 master WIDE > > TXT : 30583.229500 ms > > CSV : 35054.533500 ms > > TXT with 1/3 escapes: 32767.421500 ms > > CSV with 1/3 quotes: 44214.163500 ms > > > > x86 v8 WIDE > > TXT : 26527.494250 ms 13.261305% improvement > > CSV : 33364.443750 ms 4.821316% improvement > > TXT with 1/3 escapes: 29320.648000 ms 10.518904% improvement > > CSV with 1/3 quotes: 42334.074750 ms 4.252232% improvement > > > > > > > > arm master NARROW > > TXT : 1999.401000 ms > > CSV : 2081.610750 ms > > TXT with 1/3 escapes: 2053.230250 ms > > CSV with 1/3 quotes: 2431.608750 ms > > > > arm v8 NARROW > > TXT : 1981.663750 ms 0.887128% improvement > > CSV : 2023.892500 ms 2.772769% improvement > > TXT with 1/3 escapes: 2004.215250 ms 2.387214% improvement > > CSV with 1/3 quotes: 2616.872750 ms -7.618989% regression > > > > arm master WIDE > > TXT : 9120.731750 ms > > CSV : 11114.478250 ms > > TXT with 1/3 escapes: 10338.124500 ms > > CSV with 1/3 quotes: 13404.430250 ms > > > > arm v8 WIDE > > TXT : 8430.090750 ms 7.572210% improvement > > CSV : 10115.135500 ms 8.991360% improvement > > TXT with 1/3 escapes: 9624.383500 ms 6.903970% improvement > > CSV with 1/3 quotes: 12331.714000 ms 8.002699% improvement > > Thank you for the results, they are interesting. I didn't expect to > see any regression for this benchmark. Also, I would expect the > non-special character cases and the 1/3 special character cases to > perform similarly, since we are not using SIMD for this benchmark. > > I noticed that the timings in your narrow benchmark (both x86 and ARM) > are quite short. Would it be possible to extend the test so that the > total runtime is closer to ~10,000 ms? That might give us more stable > results. > > Here is my benchmark with using your script: > > WIDE: Total 500000 lines and each line is 4096 bytes. > NARROW: Total 1500000 lines and each line is 2-4 bytes (`"A""A"` and > `A\\A`). > > > +---------+---------------+---------------+---------------+--------------= --+ > | WIDE | TXT None | TXT 1/3 | CSV None | CSV 1/3 > | > > +---------+---------------+---------------+---------------+--------------= --+ > | master | 10512 | 11133 | 12241 | 14321 > | > > +---------+---------------+---------------+---------------+--------------= --+ > | patched | 10000 (-%4.8) | 10804 (-%2.9) | 11571 (-%5.4) | 14008 (-%2.18= ) > | > > +---------+---------------+---------------+---------------+--------------= --+ > | | | | | > | > > +---------+---------------+---------------+---------------+--------------= --+ > | NARROW | | | | > | > > +---------+---------------+---------------+---------------+--------------= --+ > | master | 9702 | 9745 | 9784 | 10149 > | > > +---------+---------------+---------------+---------------+--------------= --+ > | patched | 9344 (-%3.6) | 9477 (-%2.7) | 9439 (-%3.5) | 9751 (-%3.9) > | > > +---------+---------------+---------------+---------------+--------------= --+ > > The results look promising to me. > > -- > Regards, > Nazir Bilal Yavuz > Microsoft > --000000000000247add064b34f204 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

I ran some long benchma= rks on this, and I got stable results across multiple runs (few millisecond= s difference)

This is on an Intel I7-1255U CPU with:
= sudo cpupower frequency-set --governor=3Dperformance
s= udo cpupower idle-set -D<= /span> 0
echo &= quot;1" | sudo tee /sys/devices/= system/cpu/intel_pstate/no_turbo

WIDE (500k rows)

TXT | none
Master avg: 22,183 ms
New avg= : 20,435 ms
Improvement: -7.88%

CSV | none
Master avg: 26,737 ms
New avg: 24,625 ms
Improvement: -7.90%

TXT | escape
Maste= r avg: 26,720 ms
New avg: 23,658 ms
Improve= ment: -11.46%

CSV | quote<= /span>
Master avg: 35,961 ms
New avg: 33,317 ms
Improvement: -7.35%

--------------------------------------

NARROW (1.5M rows)

TXT | none
M= aster avg: 2,220 ms
New avg: 2,125 ms
Impro= vement: -4.28%

CSV | none<= /span>
Master avg: 2,330 ms
New avg: 2,145 ms
Improvement: -7.92%

= TXT | escape
Master avg: 2,425 ms
New= avg: 2,187 ms
Improvement: -9.79%

CSV |= quote
Master avg: 2,272 ms
New avg: 2,253 = ms
Improvement: -0.85%

No regressions = as expected, overall this looks good.

Regards,

Ayoub


On Thu, Feb 19, 2026 at 10:01=E2=80=AFAM Nazi= r Bilal Yavuz <byavuz81@gmail.com<= /a>> wrote:
H= i,

On Thu, 19 Feb 2026 at 07:02, Manni Wood <
manni.wood@enterprisedb.com> wrot= e:
>
> I took some time tonight to apply v8 to the latest master (759b03b2) o= n my x86 tower and arm raspberry pi 5.
>
> Here are the results, using both narrow columns and the wider columns = we've been using througout:
>
> x86 master NARROW
> TXT :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0258= 7.642000 ms
> CSV :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0262= 1.759000 ms
> TXT with 1/3 escapes: 2707.933500 ms
> CSV with 1/3 quotes:=C2=A0 3254.896500 ms
>
> x86 v8 NARROW
> TXT :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0248= 8.655250 ms=C2=A0 3.825365% improvement
> CSV :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0262= 8.818000 ms=C2=A0 -0.269247% regression
> TXT with 1/3 escapes: 2615.522000 ms=C2=A0 3.412621% improvement
> CSV with 1/3 quotes:=C2=A0 3446.368000 ms=C2=A0 -5.882568% regression<= br> >
> x86 master WIDE
> TXT :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0305= 83.229500 ms
> CSV :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0350= 54.533500 ms
> TXT with 1/3 escapes: 32767.421500 ms
> CSV with 1/3 quotes:=C2=A0 44214.163500 ms
>
> x86 v8 WIDE
> TXT :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0265= 27.494250 ms=C2=A0 13.261305% improvement
> CSV :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0333= 64.443750 ms=C2=A0 4.821316% improvement
> TXT with 1/3 escapes: 29320.648000 ms=C2=A0 10.518904% improvement
> CSV with 1/3 quotes:=C2=A0 42334.074750 ms=C2=A0 4.252232% improvement=
>
>
>
> arm master NARROW
> TXT :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0199= 9.401000 ms
> CSV :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0208= 1.610750 ms
> TXT with 1/3 escapes: 2053.230250 ms
> CSV with 1/3 quotes:=C2=A0 2431.608750 ms
>
> arm v8 NARROW
> TXT :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0198= 1.663750 ms=C2=A0 0.887128% improvement
> CSV :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0202= 3.892500 ms=C2=A0 2.772769% improvement
> TXT with 1/3 escapes: 2004.215250 ms=C2=A0 2.387214% improvement
> CSV with 1/3 quotes:=C2=A0 2616.872750 ms=C2=A0 -7.618989% regression<= br> >
> arm master WIDE
> TXT :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0912= 0.731750 ms
> CSV :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0111= 14.478250 ms
> TXT with 1/3 escapes: 10338.124500 ms
> CSV with 1/3 quotes:=C2=A0 13404.430250 ms
>
> arm v8 WIDE
> TXT :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0843= 0.090750 ms=C2=A0 7.572210% improvement
> CSV :=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0101= 15.135500 ms=C2=A0 8.991360% improvement
> TXT with 1/3 escapes: 9624.383500 ms=C2=A0 6.903970% improvement
> CSV with 1/3 quotes:=C2=A0 12331.714000 ms=C2=A0 8.002699% improvement=

Thank you for the results, they are interesting. I didn't expect to
see any regression for this benchmark. Also, I would expect the
non-special character cases and the 1/3 special character cases to
perform similarly, since we are not using SIMD for this benchmark.

I noticed that the timings in your narrow benchmark (both x86 and ARM)
are quite short. Would it be possible to extend the test so that the
total runtime is closer to ~10,000 ms? That might give us more stable
results.

Here is my benchmark with using your script:

WIDE: Total 500000 lines and each line is 4096 bytes.
NARROW: Total 1500000 lines and each line is 2-4 bytes (`"A""= ;A"` and `A\\A`).

+---------+---------------+---------------+---------------+----------------= +
| WIDE=C2=A0 =C2=A0 | TXT None=C2=A0 =C2=A0 =C2=A0 | TXT 1/3=C2=A0 =C2=A0 = =C2=A0 =C2=A0| CSV None=C2=A0 =C2=A0 =C2=A0 | CSV 1/3=C2=A0 =C2=A0 =C2=A0 = =C2=A0 |
+---------+---------------+---------------+---------------+----------------= +
| master=C2=A0 | 10512=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 11133=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0| 12241=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 14321=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |
+---------+---------------+---------------+---------------+----------------= +
| patched | 10000 (-%4.8) | 10804 (-%2.9) | 11571 (-%5.4) | 14008 (-%2.18) = |
+---------+---------------+---------------+---------------+----------------= +
|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |
+---------+---------------+---------------+---------------+----------------= +
| NARROW=C2=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 |
+---------+---------------+---------------+---------------+----------------= +
| master=C2=A0 | 9702=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 9745=C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 | 9784=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 10149=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |
+---------+---------------+---------------+---------------+----------------= +
| patched | 9344 (-%3.6)=C2=A0 | 9477 (-%2.7)=C2=A0 | 9439 (-%3.5)=C2=A0 | = 9751 (-%3.9)=C2=A0 =C2=A0|
+---------+---------------+---------------+---------------+----------------= +

The results look promising to me.

--
Regards,
Nazir Bilal Yavuz
Microsoft
--000000000000247add064b34f204--