• 0 Posts
  • 627 Comments
Joined 1 year ago
cake
Cake day: June 6th, 2023

help-circle











  • First of all, 350MB is a drop in a bucket. But what’s more important is performance, because it affects things like power consumption, carbon emissions, etc. I’d rather see Slack “eating” one gig of RAM and running smoothly on a single E core below boost clocks with pretty much zero CPU use. That’s the whole point of having fast memory - so you can cache and pre-render as much as possible and leave it rest statically in memory.




  • I would also like to add some of the higher level features available in most assembly languages.

    1. Memory management. You can define variables, for example, a string one containing “Hello, world!” and the compiler will correctly allocate required memory and you don’t need to know its address while writing the code, you just reference the variable.
    2. Code labels. If you want to do a conditional or unconditional jump, you need to know the address of the code you want to reach. But, obviously, every change you make to your code base will change the memory layout of your binary. Asembly provides code labels. You can think of them like function names.
    3. Assembly allows you to reference 3rd party libraries without knowing exact function entry addresses. You just use function names like you would with C or any other language.

    Modern assembly languages have even more higher level features, like macros support. And some are even hardware agnostic, like intermediate representation assembly language used in LLVM.