Asynchronous (out-of-process) assembly

Adriaan van Os via fpc-pascal <[email protected]> Fri, 24 Jul 2026 07:43:58 +0000 (UTC)
Newsgroups gmane.comp.compilers.free-pascal.general
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============0418359626341644742==
Content-Type: multipart/alternative;
 boundary="------------QO0EWI0co1YtImUApxZBxxfz"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------QO0EWI0co1YtImUApxZBxxfz
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


I implemented an option for asynchronous (out-of-process) assembly. On 
Darwin, this makes building for me about 25% faster. With the llvm 
compiler and -O3, I get about 40% more speed (as the code generation 
improvements are done there in the assembly phase).

The patch can be found here 
<https://github.com/AdriaanVanOs/FreePascal-patches>, file 
<https://github.com/AdriaanVanOs/FreePascal-patches/blob/main/async-asm-331.diff>. 
The patch is for Darwin only, but it should be trivial to extend it to 
UNIX and Linux.

I plan to add a patch for 3.2.4 and binary installers for fpc-3.3.1 and 
fpc-3.2.4.

Regards,

Adriaan van Os

--------------QO0EWI0co1YtImUApxZBxxfz
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <br>
    <font face="Helvetica, Arial, sans-serif">I implemented an option
      for asynchronous (out-of-process) assembly. On Darwin, this makes
      building for me about 25% faster. With the llvm compiler and -O3,
      I get about 40% more speed (as the code generation improvements
      are done there in the assembly phase).<br>
      <br>
      The patch can be found here
      <a class="moz-txt-link-rfc2396E" href="https://github.com/AdriaanVanOs/FreePascal-patches">&lt;https://github.com/AdriaanVanOs/FreePascal-patches&gt;</a>, file
<a class="moz-txt-link-rfc2396E" href="https://github.com/AdriaanVanOs/FreePascal-patches/blob/main/async-asm-331.diff">&lt;https://github.com/AdriaanVanOs/FreePascal-patches/blob/main/async-asm-331.diff&gt;</a>.
      The patch is for Darwin only, but it should be trivial to extend
      it to UNIX and Linux.<br>
      <br>
      I plan to add a patch for 3.2.4 and binary installers for
      fpc-3.3.1 and fpc-3.2.4.<br>
      <br>
      Regards,<br>
      <br>
      Adriaan van Os<br>
      <br>
    </font>
  </body>
</html>

--------------QO0EWI0co1YtImUApxZBxxfz--

--===============0418359626341644742==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
fpc-pascal maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

--===============0418359626341644742==--