Announcement

Collapse
No announcement yet.

Benchmarking AMD FX vs. Intel Sandy/Ivy Bridge CPUs Following Spectre, Meltdown, L1TF, Zombieload

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by atomsymbol

    I am not entirely convinced ramdisk makes sense on a spinning hard-disk for compilation tasks if the machine has a lot of RAM. A lot of RAM means that almost all intermediate data generated during the task will be served from the Linux kernel disk cache rather than be re-read from the disk. Writes to the spinning disk happen asynchronously, so they aren't interrupting the task as long as the writes do not exceed the disk write bandwidth. The initial (cold) read from the disk is there in both cases, a ramdisk does not reduce the amount of initial cold reads from the spinning disk. A ramdisk compared to a cache prevents automatic eviction of data from RAM, the user has explicit control over which data is in RAM and which data is on a disk.

    In summary, ramdisk is only useful when:
    • Task data writes exceed the disk write bandwidth (which is about 100 MB/s in case of a spinning disk)
      • The task write bandwidth requirement can be lowered by data compression (gzip/xz/zstd on individual files, compressed debug sections, ccache compression, btrfs filesystem compression, jpeg instead of png, ...)
    • The task's data access pattern does not match the Linux kernel's disk cache eviction policy
    Multitask during a Wine or kernel compile on spinners without using a ramdisk and get back to me.

    I suppose if all one is doing is just compiling something, sure, probably not as necessary. The second you want to watch Game of Thrones with SMPlayer or comment on Phoronix with Firefox you'll throw your computer out of the window.

    EDIT: And that's with keeping my sources on one disk, my os on another, and my media on yet another disk. It's very easy to IO fuck yourself with spinners.

    Comment


    • #32
      Originally posted by atomsymbol

      It is probable you will regret your behavior 20 years from now.

      Monkeys cannot write Shakespeare's work in finite time. https://en.wikipedia.org/wiki/Infinite_monkey_theorem

      You have free will to choose whether to incline to monkeys or to Shakespeare.
      If you had any idea how obscene Shakespeare actually is you probably wouldn't use that as your example. The puns and wordplay used back then don't come off the same way these days...but if you do know what to look for in those regards, Shakespeare makes for some good and funny reading.

      Honestly, I can tell you right now I'm not going to regret saying "IO fucked" or calling a certain "testing mouse" "retarded".

      Are you passing -pipe to the compiler?
      Yes I am. Is it detrimental in a ramdisk context? Note that I have a 24GB ramdisk (systemd default) and 24GB of system memory available while it's compiling (48GB total).

      Comment

      Working...
      X