Re: We need to do something about build times

From: Tatsuki Makino <tatsuki_makino_at_hotmail.com>
Date: Wed, 01 Nov 2023 09:15:50 UTC
Sorry for the repetition.
The previous fix for the critical flaw does not work properly.
There should be no problem this time.

.if 1
STAGEDIRPREFIX=	${LOCALBASE}/.stage
STAGEDIR=	${STAGEDIRPREFIX}${.CURDIR}/${_WRKDIR}/stage
_PORTS_DIRECTORIES+=	${STAGEDIRPREFIX}
_USES_fetch+=	980:..stagedirprefix
${STAGEDIRPREFIX}/😈: .NOTMAIN ${STAGEDIRPREFIX}
	@${CHMOD} 1777 ${STAGEDIRPREFIX}
	@${TOUCH} ${TOUCH_FLAGS} ${.TARGET:Q}
..stagedirprefix: .NOTMAIN .PHONY ${STAGEDIRPREFIX}/😈
.endif

About the effect of this in my environment.
In my environment, I used to set USE_TMPFS=no to save memory.
And when the settings were applied, the following differences were found.

There is little difference in ports where most of the time is spent in the build phase. (e.g. www/qt5-webengine)
No more time is spent in the *-depends phase.
The time required to build one port seems to average one-third.
For ports where most of the python involved is copying files, the time required can be reduced by as much as a factor of 10.
There seems to be a good balance between how memory is used and where I/O speed is desired.

Now perhaps this experiment could have reached its termination :)

Regards.