Bug 471703 - RFE: new "make" target that does not use 98-100% CPU
Summary: RFE: new "make" target that does not use 98-100% CPU
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Publican
Classification: Community
Component: publican
Version: 2.0
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Ruediger Landmann
QA Contact: Joshua Wulf
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-11-15 02:07 UTC by Murray McAllister
Modified: 2016-06-17 21:12 UTC (History)
7 users (show)

Fixed In Version: 1.0
Clone Of:
Environment:
Last Closed: 2009-11-26 04:59:45 UTC
Embargoed:


Attachments (Terms of Use)

Description Murray McAllister 2008-11-15 02:07:18 UTC
I would like a new "make" targeted that does not use between 98% and 100% CPU.


Version-Release number of selected component (if applicable):
* publican-0.38-0


Additional info:
After thinking this over, I decided that it does not have to be a new "make" targeted - feel free to change existing targets to use less CPU. "make test" does not count.

Comment 1 Murray McAllister 2008-11-15 02:09:34 UTC
* "...does not have to be a new "make" target - ..."

Comment 2 Jeff Fearn ๐Ÿž 2008-11-17 04:28:00 UTC
Doing anything about the performance really requires the make files to be rewritten in a proper programming language. This would take about 3 weeks to complete.

One side affect of doing this would be that each books make file would need to be converted to a suitable configuration file. e.g. a conf, ini or xml file.

Doing this would make the creation of a GUI, or integrating the build in an editing tool, easier.

Comment 3 Christopher Curran 2009-02-26 06:04:25 UTC
Why write a net configuration file when you can just parse the existing make file in new ways. Just write publican.pl which looks the same as make and has similar functionality to the existing make system.

For example, the present system:
make html-single-en-US

Hypothetical new system:
publican html-single-en-US

And spit out errors like:
"You're not in a publican books directory, you dolt!"
"I can't find a Makefile"

Comment 4 Douglas Silas 2009-03-02 01:49:34 UTC
Or, similarly...

prepForPublican = do
	wd โ† liftIO $ getWorkingDirectory
	conts โ† liftIO $ getDirectoryContents wd >>= return โ—ฆ filter (โˆ‰ [".", ".."])
	env โ† ask
	state โ† get
	if lit_Makefile โˆ‰ conts
		then do
			outLine $ msgNoBuildFile wd
			retCode 1 fnNm
		else do
			mf โ† parseMakefile `liftM` (liftIO $ readFile lit_Makefile)
			put state
				{ makefile = Just mf
				, docLocation = lookup "XML_LANG" mf
				, docName = (flip addExtension $ ".xml")
					`liftM` (lookup "DOCNAME" mf)}
			retCode 0 fnNm
	where
	fnNm = "prepForPublican"
	msgNoBuildFile wd = docitErr โงบ fnNm โงบ ": "
		โงบ "a Makefile does not not exist in the current working directory: " โงบ wd

Comment 5 Michael Hideo 2009-06-17 02:31:18 UTC
This is being addressed. Stay tuned until post docs.redhat.com rebase.

Comment 6 Jeff Fearn ๐Ÿž 2009-08-10 23:24:01 UTC
This should be fixed in the BETA.

Comment 7 Ruediger Landmann 2009-09-07 23:06:42 UTC
Fixed in 1.0

I built a simple book[1] with the following results:

Version 0.44 -- took 73 seconds and used between 60% and 70% CPU for most of that time, but used 92% CPU for the final stage of the build, once Saxon was called.

Version 1.0 -- took 3 seconds, and CPU shot up to a maximum of 40% momentarily (less than a second).

Comment 9 Fedora Update System 2009-11-18 02:19:45 UTC
publican-1.2-0.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/publican-1.2-0.fc12

Comment 10 Fedora Update System 2009-11-20 05:18:58 UTC
publican-1.2-0.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2009-11-25 14:54:03 UTC
publican-1.2-0.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.