Re: Fwd: Re: late generation of assemble code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday, May 29, 2020 4:02:40 AM MST Paul Dufresne via devel wrote:
> had forgotten to reply also to the list... doing it now:
> 
> [cut the part where it was suggested to make package that contains LLVM 
> Intermediate Representation bitcode rather than CPU specific assembler]
> 
> 
> On 2020-05-29 1:01 a.m., John M. Harris Jr wrote:
> 
> > Paul,
> > What benefit do you see in the overhead of LLVM IR, compared to standard
> > packages?
> 
> 
> John,
> 
> Where do you see overhead in the distribution of LLVM IR?

See below responses.

> Advantages:
> 
> * more space on the hard disks of the servers, because they contains 
> repositories only for LLVM IR packages rather than one by supported 
> architectures

This may be a valid point, but I'm not sure it's really all that important. 
I'm currently mirroring 3 different arches of the Fedora repos, and the total 
disk space is 495G. That's not a lot of storage space these days, at least not 
for servers. Additionally, there are a number of packages that cannot be LLVM 
IR, which are needed to support running LLVM IR. Please also consider how 
initramfs would be handled. Statically compiled software or LLVM IR and the 
supporting software?

> * less use of the CPU time of the servers because they don't optimize 
> code for specific CPUs

Not handling this on the build servers means doing it on the end system, every 
time the program is run.

> * very reduced cost for supporting more architectures, as code is 
> client-side generated

Does LLVM IR have a way of handling arch-specific code?

> * faster code on clients with recent CPUs, because code is optimized for 
> them, and was not in the old way of doing because you had to distribute 
> for a common base CPU

How does LLVM IR accomplish this? Would it be slower on older CPUs, or does it 
specifically compile for the host CPU's micro-arch?

> * CPU specific code generation and optimizations can be done on idle 
> time of the clients... there is not much idle time of the servers

If it's going to be done on idle time of client systems, this is definitely 
not going to work in Fedora in general. Perhaps in Silverblue or other systems 
not designed to be a general purpose operating system? It actually might even 
work in Fedora Workstation, but then you'd have to separate Workstation from 
the base distro, assuming GNOME doesn't eat CPU idle time.

-- 
John M. Harris, Jr.
Splentity

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux