Shared library support for postmaster
Hi,
After a little test i manneged to create a shared library for
postmaster.
Originally the postmaster program was 3922308 bytes large, but after a
small modification in src/backend/Makefile it have a postgres binary of
26812 bytes and one shared library of 3981064 bytes.
This should save 115 megabytes of memory when 32 postmaster processed
have started!!
Could anyone find a reason not to do it this way?
BTW. The modification is:
postgres: fmgr.h $(OBJS) $(VERSIONOBJ)
$(CC) -all -shared $(LDFLAGS) -o libpgback.so $(OBJS) $(OBJS1)
$(VERSIONOBJ)
$(CC) $(CFLAGS) -o postgres main/SUBSYS.o -L. $(LDFLAGS)
-lpgback
instead of:
postgres: fmgr.h $(OBJS) $(VERSIONOBJ)
$(CC) $(CFLAGS) -o postgres $(OBJS) $(OBJS1) $(VERSIONOBJ)
$(LDFLAGS)
Erik
Erik Hofman <erik@ehofman.com> writes:
After a little test i manneged to create a shared library for
postmaster.
Originally the postmaster program was 3922308 bytes large, but after a
small modification in src/backend/Makefile it have a postgres binary of
26812 bytes and one shared library of 3981064 bytes.
This should save 115 megabytes of memory when 32 postmaster processed
have started!!
You wasted your time, I'm afraid. On any reasonable Unix system, all
the backends share the same copy of the text segment anyway.
regards, tom lane