Обсуждение: 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