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.94.2) (envelope-from ) id 1uwlSa-0075Uk-Ea for pgsql-hackers@arkaria.postgresql.org; Thu, 11 Sep 2025 17:51:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uwlSY-009PPi-D6 for pgsql-hackers@arkaria.postgresql.org; Thu, 11 Sep 2025 17:51:50 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uwlSY-009PPa-3R for pgsql-hackers@lists.postgresql.org; Thu, 11 Sep 2025 17:51:50 +0000 Received: from mail-lj1-x232.google.com ([2a00:1450:4864:20::232]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uwlSW-001t2s-2v for pgsql-hackers@postgresql.org; Thu, 11 Sep 2025 17:51:49 +0000 Received: by mail-lj1-x232.google.com with SMTP id 38308e7fff4ca-336dd55aae1so10558751fa.1 for ; Thu, 11 Sep 2025 10:51:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757613107; x=1758217907; darn=postgresql.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=pTu4FV6UKptfVUIF0Nq98t6fbP9fozHMCvh/zqlH6IM=; b=Qqa+znGOUTqUrQtTpFeBOjR6GpewmfnDrhQdofXIXdhh1TrPAoPNfBN5bVYviFCGna tfiV3mc/maImGQFZbfElsADN+U45zbTyBXBsV+eynzlOKrA27C4XE5iJeA3aRI1OWJvL aKDsClUD38qDLZPoxS1oHSzwEp6XLlP81lzqxo9NGcFGC2XSkDTw0Pnkzv9FmDuF6fjV hby4p0DuVqmINSLaaP0cS19Gn0mzybTDX+/qSU92NnDZSxjRUzsdFCT7DoBR90+D34XX 3gj25e++89P+zr2H4plsJYT5XJQSKYZJyfMam8LqwSeUJxrg1TMds005b4E5HNQDUEaO hfbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757613107; x=1758217907; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pTu4FV6UKptfVUIF0Nq98t6fbP9fozHMCvh/zqlH6IM=; b=gVI5ahHFRv8y8EjWBH27a4jUoac7Mn2qLSgvwq33ZfYWLwLQLsQ23qAbA6krRxv1xt u2VS8MqzObZDx4C8LASlWFkcgEqJct6ab8/kBM+pG1owJD0kTWDnfO3Wuk/juy55b9Zn qGM8NWysaLxwWnLoYm2GBxtFiSTpOWqUaLYWF++mhqAnOv/0HF4WMiVOSfkZM1cm8E4s W6kSPlLWIKiPh1ZRt5Z7c16l9MGd1Nlk06mx7dvIgLeBShpwN7W2KDFVrWwyhTf0l3ri XDRrUriGnIVA4XS6x9V0s5CNO5jkHVEHGCR0IqTUVdZ6jsZJHRkoFqvR2X5eSMkD/0U8 l8vg== X-Forwarded-Encrypted: i=1; AJvYcCUGfwp+BCuqgKohVkCT8laFJ31Hbb8L9HPt00lT64IXd/xG2FENwL7ux8F//LIxYJV9kQRgVzoOyUazOqNa@postgresql.org X-Gm-Message-State: AOJu0YzEp0ghgqrl0P89FZM7fsnJeOQUZQ1nDAOs9v99epWSuQIyrSJ5 2PIz8G8Kb6+v8Ef0tlpIj22hIPcZftiSpN0DAVa/VLSU4VocK1E7vTNm X-Gm-Gg: ASbGncsCS3GRMsJjB5vbQNHWnQH6vcamriBfiuPsbcnWp6gBnxpSemxeimTWRf7xo6r 3K1+P6ssT4AQd1b5SbU4cr+k+W2Vp+PTcg7gPWb5I4BIGNNYHL/F8y81bKECrU9ZXju4v1Pj5aQ qVi46p6Qd+f1aKaNgIPqZ/cTu/RaopTDPRQP6SGVZLfhzBkcMxErMuXgBktaUE/+kNagMN8pPxp GV1PGYo1IqjJMj4cxiEg/msWh8Vu92KmvXt/AV5p6LTNLJB3kGELbJwTuE8JScjpMdl/VDkcFRG aHYhLlCnSxp/Dm/zq/xSBPpGlXO9tNxmrGAo9EehpfwVjZ9ZAhvm98MlQ+fFg3PtZt9cy2T/PpN FrEoQ/+0tAgBwlxSTuDIqZIR3PEX18sSdjw5SxKy8T/+ZmaWW80FK7/3U6HjjERB5DXHb0fVbFc +epmPdaaHU6NiEq75ekm4= X-Google-Smtp-Source: AGHT+IFa8Kqywi9gbHjWYGRQaTUITHH0KhJTKIr6IBjrDZ5/NLknuAUYc0vAOVEVFvh/hmZJLyA4sA== X-Received: by 2002:a2e:a78a:0:b0:336:e102:95fd with SMTP id 38308e7fff4ca-33b52b71809mr73668971fa.29.1757613106684; Thu, 11 Sep 2025 10:51:46 -0700 (PDT) Received: from [192.168.50.231] (broadband-5-228-119-150.ip.moscow.rt.ru. [5.228.119.150]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-34f1b39db54sm3912321fa.55.2025.09.11.10.51.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Sep 2025 10:51:46 -0700 (PDT) Message-ID: <11f371fe-9c97-4c71-957a-a4cd3813cc55@gmail.com> Date: Thu, 11 Sep 2025 20:51:45 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Improve the performance of Unicode Normalization Forms. To: Victor Yegorov Cc: Jeff Davis , PostgreSQL Hackers References: <844d3dd7-2955-4794-95d1-7f4c13cb89fc@gmail.com> <4211ffd7fe154c4af693b98d78f4a3689ce8cc30.camel@j-davis.com> <16f87504-f174-450e-93cc-2db1074522bb@gmail.com> <96c54fc3dde2ebaccafbd1ffa29b8be1005c8b8c.camel@j-davis.com> <677cde50-6d64-474b-9ba8-bab380a111b3@gmail.com> <599663a8d5948243bd87bf55a4f76bbb4a51a6e8.camel@j-davis.com> <85f2a36f-f70a-4667-be48-49b652457295@gmail.com> <088432f3-a3a9-4c40-8295-6c687c25d651@gmail.com> <1260f607-8d90-4cf2-accc-45aa6eab63d8@gmail.com> <7859e5ef-a574-4199-a69b-6fee26711521@gmail.com> Content-Language: ru From: Alexander Borisov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > Hey. > > I've looked into these patches. Hi Victor, Thank you for reviewing the patch and testing it! [..] > Description of the Sparse Array approach is done in the newly introduced > GenerateSparseArray.pm module.  Perhaps it'd be valuable to add a > section into > the src/common/unicode/README, it'll get more visibility. > ( Not insisting here. ) It seems that the description of the algorithm that forms the script is best kept in the script itself. But I'm not sure either, because I don't know what is customary in the PG community. -- Regards, Alexander Borisov