EUC_JP and SJIS conversion improvement - Mailing list pgsql-patches

From Atsushi Ogawa
Subject EUC_JP and SJIS conversion improvement
Date
Msg-id PIEMIKOOMKNIJLLLBCBBMEFBCIAA.a_ogawa@hi-ho.ne.jp
Whole thread Raw
Responses Re: EUC_JP and SJIS conversion improvement
List pgsql-patches
The character-code conversion from EUC_JP to SJIS is executed by
converting two stages. The first stage is conversion from EUC_JP to MIC.
The next stage is conversion from MIC to SJIS. (Conversion from SJIS to
EUC_JP is also similar.)

It is not so efficient, because it is necessary to allocate the
buffer for MIC, and to execute the calculation for conversion twice.

In the attached patch, it enables the direct conversion of EUC_JP and
SJIS. Additionally, there is an improvement that reduce the call of
pg_mic_mblen.

The effect of the patch that I measured is as follows:

o The Data for test was created by 'pgbench -i'.

o Test SQL:
set client_encoding to 'SJIS';
select * from accounts;

o Test results: Linux(CPU: Pentium III, Compiler option: -O2)
 - original: 2.920s
 - patched : 2.278s

regards,

---
Atsushi Ogawa

Attachment

pgsql-patches by date:

Previous
From: Neil Conway
Date:
Subject: Re: plpgsql raise - parameters can be expressions
Next
From: Tom Lane
Date:
Subject: Re: plpgsql raise - parameters can be expressions