Groups | Search | Server Info | Login | Register


Groups > comp.lang.tcl > #55670

Re: Fastest way to run two external processes

From Ralf Fassel <ralfixx@gmx.de>
Newsgroups comp.lang.tcl
Subject Re: Fastest way to run two external processes
Date 2026-04-29 12:30 +0200
Organization A noiseless patient Spider
Message-ID <ygalde6hxe3.fsf@akutech.de> (permalink)
References <10sschf$3nvs2$1@dont-email.me> <10ssgq5$3nvs2$2@dont-email.me>

Show all headers | View raw


* Mark Summerfield <m.n.summerfield@gmail.com>
| With some help from Gemini (after I got past non-working and slow
| solutions) I did a multiprocessing version:
>
| proc app::multiprocess {pdftotext pdf1 pdf2} {
|     set p1 [open "|$pdftotext -tsv $pdf1 - 2>@1" r]
|     try {
|         set p2 [open "|$pdftotext -tsv $pdf2 - 2>@1" r]
|         try {
|             fconfigure $p1 -blocking 0
|             fconfigure $p2 -blocking 0

Depending on the output of $pdftotext, some -encoding option might be
necessary, too.

|             set pdf1tsv ""
|             set pdf2tsv ""
|             while {![eof $p1] || ![eof $p2]} {
|                 append pdf1tsv [read $p1]
|                 append pdf2tsv [read $p2]
|                 after 1
|             }

I don't like the busy-waiting loop for eof, but a solution using
fileevents would require namespace vars or globals to collect the output
and signallig 'done', so ymmv.

R'

Back to comp.lang.tcl | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Fastest way to run two external processes Mark Summerfield <m.n.summerfield@gmail.com> - 2026-04-29 07:38 +0000
  Re: Fastest way to run two external processes Mark Summerfield <m.n.summerfield@gmail.com> - 2026-04-29 08:51 +0000
    Re: Fastest way to run two external processes meshparts <alexandru.dadalau@meshparts.de> - 2026-04-29 11:24 +0200
      Re: Fastest way to run two external processes Mark Summerfield <m.n.summerfield@gmail.com> - 2026-04-29 09:46 +0000
    Re: Fastest way to run two external processes Ralf Fassel <ralfixx@gmx.de> - 2026-04-29 12:30 +0200
      Re: Fastest way to run two external processes abu <user13892@newsgrouper.org.invalid> - 2026-04-30 00:51 +0000
        Re: Fastest way to run two external processes Ralf Fassel <ralfixx@gmx.de> - 2026-04-30 14:23 +0200
        Re: Fastest way to run two external processes Mark Summerfield <m.n.summerfield@gmail.com> - 2026-05-01 07:04 +0000
          Re: Fastest way to run two external processes Ralf Fassel <ralfixx@gmx.de> - 2026-05-01 22:54 +0200
            Re: Fastest way to run two external processes Mark Summerfield <m.n.summerfield@gmail.com> - 2026-05-02 06:57 +0000
              Re: Fastest way to run two external processes Ashok <apnmbx-public@yahoo.com> - 2026-05-09 16:03 +0530
                Re: Fastest way to run two external processes Ralf Fassel <ralfixx@gmx.de> - 2026-05-11 11:08 +0200
                Re: Fastest way to run two external processes Mark Summerfield <m.n.summerfield@gmail.com> - 2026-05-12 08:40 +0000
                Re: Fastest way to run two external processes Ralf Fassel <ralfixx@gmx.de> - 2026-05-12 16:58 +0200
                Re: Fastest way to run two external processes Mark Summerfield <m.n.summerfield@gmail.com> - 2026-05-13 08:54 +0000
  Re: Fastest way to run two external processes Olivier <user1108@newsgrouper.org.invalid> - 2026-05-01 10:06 +0000
  Re: Fastest way to run two external processes Emiliano <emiliano@example.invalid> - 2026-05-02 00:34 -0300

csiph-web