Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news-out.readnews.com!transit4.readnews.com!news-out.news.tds.net!newsreading01.news.tds.net!53ab2750!not-for-mail From: "qwertmonkey" Subject: How can you make idle processors pick up java work? Message-ID: <50181D63.55752.calajapr@time.synchro.net> X-Comment-To: All Newsgroups: comp.lang.java.programmer X-FTN-AREA: COMP.LANG.JAVA.PROGRAMMER X-FTN-MSGID: 1:261/38 310e48c1 Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.16a-Win32 NewsLink 1.98] Lines: 45 Date: Tue, 31 Jul 2012 18:02:36 GMT NNTP-Posting-Host: 69.21.70.65 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1343757756 69.21.70.65 (Tue, 31 Jul 2012 13:02:36 CDT) NNTP-Posting-Date: Tue, 31 Jul 2012 13:02:36 CDT Organization: tds.net Xref: csiph.com comp.lang.java.programmer:16784 From: qwertmonkey@syberiaoutpost.ru >> Is there a way to make these processors pick up/share work also, or >> do you have to use some sort of scheduling framework on top of java? > Use multiple threads? ~ a) I need to actually scan large text files (10+ million lines). b) On each line there is a NL sentence. c) That processing should be run only once, but as fast as possible. ~ d) If you go: d.1) int iPrx = Runtime.getRuntime().availableProcessors(); d.2) count all lines d.3) split the file in (total lines)/iPrx d.4) then run iPrx threads (or executable instances using a batch script) the time you waste on d.2) and d.3) will make all that strat senseless ~ I have no way to influence how those large files are generated ~ e) because of the large sizes of the files you can't even go ~ FIS = new FileInputStream(IFl); FileChannel IFlChnl = FIS.getChannel(); int iChnlSz = (int)IFlChnl.size(); MappedByteBuffer MptBytBfr = IFlChnl.map(FileChannel.MapMode.READ_ONLY, 0, iChnlSz); ~ so, apparently, the only option I have is: ~ BfR = Files.newBufferedReader(DirPth, ChrStUTF8); String aSx = BfR.readLine(); while(aSx != null){ aSx = BfR.readLine(); } ~ do you know of a faster way to go about this? ~ lbrtchx --- BBBS/Li6 v4.10 Dada-1 * Origin: Prism bbs (1:261/38) --- Synchronet 3.16a-Win32 NewsLink 1.98 Time Warp of the Future BBS - telnet://time.synchro.net:24