Recent

Author Topic: Compiler Options / Config and Target  (Read 674 times)

sporer@sctn.de

  • New Member
  • *
  • Posts: 24
Compiler Options / Config and Target
« on: January 02, 2020, 04:38:13 pm »
I am using Laz. 2.0.0 FPC 3.3.1 on a Raspberry Pi3 (obviously ARM7 CPU) with the latest Jessie version.
Normally I compile with the default compiler settings. Only thing that I do is to create the release build mode when finished and compile with it.

Is there any significant benefit in performance if I select a Target Platform (ARM7)

It has to be said that all the applications generated by the compiler run exclusively on ARM7 CPU's

Linux IDE 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux

Leledumbo

  • Hero Member
  • *****
  • Posts: 8203
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Compiler Options / Config and Target
« Reply #1 on: January 02, 2020, 09:30:54 pm »
Is there any significant benefit in performance if I select a Target Platform (ARM7)
In x86 world, you can select more modern target CPU so the compiler may use instructions that don't exist in older CPU which may have a performance gain. AFAIK ARM is more for compatibility rather than performance, as ARM doesn't always guarantee backward compatibility.

sporer@sctn.de

  • New Member
  • *
  • Posts: 24
Re: Compiler Options / Config and Target
« Reply #2 on: January 03, 2020, 02:23:13 pm »
ok, thank you for your advice.
So I suppose it is a pointless exercise to compile with this option.

Leledumbo

  • Hero Member
  • *****
  • Posts: 8203
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Compiler Options / Config and Target
« Reply #3 on: January 04, 2020, 12:31:34 pm »
ok, thank you for your advice.
So I suppose it is a pointless exercise to compile with this option.
Maybe yes, maybe no. There's no better way but to test your own particular program yourself and see which one performs better and whether the improvements are significant enough. Among ARM7, I don't think there will be significant difference. But with ARM8 with aarch64, there could be magnitude of difference.

 

TinyPortal © 2005-2018