Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables)

Поиск
Список
Период
Сортировка
Искать
От
Andres Freund
Тема
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables)
Дата
Msg-id
20190108192114.o5kj2agf4ss2tztg@alap3.anarazel.de
Ответ на
Список
Дерево обсуждения
reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Joerg Sonnenberger <joerg@bec.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Joerg Sonnenberger <joerg@bec.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Joerg Sonnenberger <joerg@bec.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) David Rowley <david.rowley@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Joerg Sonnenberger <joerg@bec.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Joerg Sonnenberger <joerg@bec.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <john.naylor@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Alvaro Herrera <alvherre@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <john.naylor@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <john.naylor@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Joerg Sonnenberger <joerg@bec.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <john.naylor@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <john.naylor@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Joerg Sonnenberger <joerg@bec.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <john.naylor@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Joel Jacobson <joel@trustly.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Joel Jacobson <joel@trustly.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Andrew Gierth <andrew@tao11.riddles.org.uk>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Robert Haas <robertmhaas@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) David Fetter <david@fetter.org>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Robert Haas <robertmhaas@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Alvaro Herrera <alvherre@2ndquadrant.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) David Fetter <david@fetter.org>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writablevariables) Andres Freund <andres@anarazel.de>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) Tom Lane <tgl@sss.pgh.pa.us>
Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) John Naylor <jcnaylor@gmail.com>
Hi,

On 2019-01-08 13:41:16 -0500, John Naylor wrote:
> On Tue, Jan 8, 2019 at 12:06 PM Andrew Dunstan
>  wrote:
> > On 1/7/19 7:52 PM, Andres Freund wrote:
> > > Builtin functions for one, which we'd swatted down last time round due
> > > to gperfs defficiencies.
> 
> Do you mean the fmgr table?

Not the entire fmgr table, but just the builtin oid index, generated by
the following section:

# Create the fmgr_builtins table, collect data for fmgr_builtin_oid_index
print $tfh "\nconst FmgrBuiltin fmgr_builtins[] = {\n";
my %bmap;
$bmap{'t'} = 'true';
$bmap{'f'} = 'false';
my @fmgr_builtin_oid_index;
my $fmgr_count = 0;
foreach my $s (sort { $a->{oid} <=> $b->{oid} } @fmgr)
{
	print $tfh
	  "  { $s->{oid}, $s->{nargs}, $bmap{$s->{strict}}, $bmap{$s->{retset}}, \"$s->{prosrc}\", $s->{prosrc} }";

	$fmgr_builtin_oid_index[ $s->{oid} ] = $fmgr_count++;

	if ($fmgr_count <= $#fmgr)
	{
		print $tfh ",\n";
	}
	else
	{
		print $tfh "\n";
	}
}
print $tfh "};\n";

print $tfh qq|
const int fmgr_nbuiltins = (sizeof(fmgr_builtins) / sizeof(FmgrBuiltin));
|;

The generated fmgr_builtin_oid_index is pretty sparse, and a more dense
hashtable might e.g. more efficient from a cache perspective.

Greetings,

Andres Freund

В списке pgsql-hackers по дате отправления
От: Bossart, Nathan
Дата:
От: Tom Lane
Дата:
FAQ