Forum > General

Lazarus IDE compiling is too slow for me!!

(1/8) > >>

vfclists:
I use Lazarus for my personal needs ie as my personal program and the compile edit cycle is to slow for me.

I realized that some years ago and I quit Lazarus for my personal regular stop.

I put it down to the fact that the PC was not fast enough, ie compiling and linking and writing out to disk was too slow for my needs.

But having upgraded my hardware it is still too slow for my liking.
I'm currently using an 8th gen i5 laptop, with 16G of RAM and an Nvme2 drive and it is still not fast enough. I understand that laptops are usually throttled to avoid overheating, but once the program is compiled performance looks fast enough. Perhaps a well specced late model Ryzen or Xeon workstation I can overclock to the highest speed may be better, but I can't take it around with me. Perhaps I should switch to cloud based development.

I remember the times when in the early days of Delphi a program would be fully compiled and linked and ready to run literally before I took my finger of the keyboard. This is not a "good old days" comment. I am certain it was actually so unless my memory is befuddled.

There are two questions I want to ask -

1. How can the compile be profiled to see where the hotspots are, even if the compilation occurs in parallel?

2. After point 1 is sorted what kind of workstation or laptop would I go for? The latest Macs are out. It has to be an Intel or AMD. Laptops are preferred for portability.

I need to go from designing in the IDE to running program in less then 8 secs. Short enough to stop my attention from moving onto something else. Start up time must be as fast as it would be with an interpreter.

The LCL is the main selling point for me with Lazarus which is why I'm exploring Python, Lua and Lisp with the LCL.

Are you guys aware that some enterprising guys have both Nim and Go working with the LCL?

TRon:

--- Quote from: vfclists on February 20, 2024, 09:54:45 pm ---I'm currently using an 8th gen i5 laptop, with 16G of RAM and an Nvme2 drive and it is still not fast enough.

--- End quote ---
In case the latter there must be something wrong configured. nvme drives are blazingly fast but if you connect it to pcie x 1 then it will not be faster than sata.

In case the former... not using a ram drive ? It can't get any faster than that.

Curt Carpenter:
Could you provide some actual times and file sizes?  (I'm only curious.  I use a pretty old 32bit machine on Linux and it has always seemed very fast with Lazarus.  Even rebuilding after adding a new package  only takes a minute or two.)   

vfclists:

--- Quote from: TRon on February 20, 2024, 10:01:26 pm ---
--- Quote from: vfclists on February 20, 2024, 09:54:45 pm ---I'm currently using an 8th gen i5 laptop, with 16G of RAM and an Nvme2 drive and it is still not fast enough.

--- End quote ---
In case the latter there must be something wrong configured. nvme drives are blazingly fast but if you connect it to pcie x 1 then it will not be faster than sata.

In case the former... not using a ram drive ? It can't get any faster than that.

--- End quote ---

Linux caches drive writes so I've come to the conclusion that a faster drive won't help. The process must be compute or IO bound. I would think that generation 80Mb of exe and debug information would be slow, but not on an NVMe drive.

The NVMe drive is fast alright, unless the write process makes many small writes in the case of this compilation.

vfclists:

--- Quote from: Curt Carpenter on February 20, 2024, 10:16:16 pm ---Could you provide some actual times and file sizes?  (I'm only curious.  I use a pretty old 32bit machine on Linux and it has always seemed very fast with Lazarus.  Even rebuilding after adding a new package  only takes a minute or two.)

--- End quote ---

I think there is a dialog which provides this information but I can't remember what it is and it may not be present in the menus.

Do you know what it is or whether it requires an additional package to be installed?

Navigation

[0] Message Index

[#] Next page

Go to full version