The speed is determined by a simple 1000 / <iops> per disk (there's different disks if you click "Settings").
If you inspect and go to sources and look for "1e3 /" you'll find the line responsible, you can set a breakpoint and change e.disk.iops to 1000 which will make the timeout per row 1s instead of 2-4s, so the whole thing goes faster.
I was going to comment this same thing until I saw yours. I miss degaussing... Especially after holding a magnet to the CRT to get it to display fun colors it wasn't meant to and crossing your fingers that the degauss would fix the damage you'd wrought.
I agree. It may sound elitist but back then you need to understand a few concepts to use a computer. From simple things like a filesystem (folders, file, different file types, things my 19 years old nephew don't know), to how to install software, how to download software (!) and then things even a bit more technical: an operative system, how it works, booting, drivers, etc.
Now everything is just easier (which is better for most people!) but I miss the old days.
20 years ago if somebody told you they used Linux it really meant something - they weren't running WSL, they weren't running a VM in EC2, they probably didn't power on and immediately have things working, and they probably learned a ton just getting to a login screen for the first time. Spinning up a VM just doesn't give the same learning experience.
You had to recompile a kernel module to support your dang modem and network card or no networking. X11 was a royal pain cuz there was no it just works desktops.
Package mgmt was a nightmare and dependency based managers like yellow dogs APT and nonexistent redhats rpm didn't exist.
More like than not you had to compile some random a55 tarball from src and hoped ./configure && make && make all would work or spend hours on USENET looking for solutions (or mailing lists!).
That and many desktop PCs making a kind of grinding noise from the floppy drive on start up, along with the bios "BEEP", as the default boot order option was to seek booting from A: (and possibly B:) floppy drives before the hard drive.
I love it. A couple notes:
- This is about 10x a real defrag speed - WAAAY too fast
- IIRC the "Data that will not be moved" was typically lumped at the beginning of the drive, not spread out all over.
FAT32 allocates the first free block. IIRC, file order must match disk order because reasons. Ext2 prioritized allocating the middle of free space to allow fragment-free growth on both sides and it became a standard filesystem feature after that.
Pretty sure it was really just smarter filesystems that avoid and/or reduce fragmentation automatically: just be a bit more clever about where you place things, and reorganise/optimise things automatically and silently in the background.
Such things did exist back in the day, but they were relatively expensive to run since they had to run all the time. There was one that I used to run back in the 90s when windows was a thing. I think maybe it was diskeeper but I'm not sure.
When I was younger, my friends and I joked about making a "Disk Fragmenter" which would enumerate through every file on the disk and split them into non-contiguous clusters to make sure that the actuator arm on your platter-drive gets a PROPER WORKOUT TO FEEL THE BURN.
Such tools really exist and they're used for testing file systems, so that you have a more realistic "aged" layout on a freshly created test file systems.
We also have memory fragmenters to do the same for memory for the same reasons.
Would those tools be primarily proprietary, or do some live in the open-source world too? I’d be interested in the techniques they use to aim for realism there.
Admittedly I haven’t made much of a search, but various search engines and autocorrects seem really convinced that I mean “defragmenter” instead of “fragmenter,” despite myself…
This makes me wonder at the absurdity (yet plausible implementation??!?!) of a tool to test something like ZFS filesystem limits, as they are quite gargantuan in many possible measures.
Typically it would be getting some bits from other parts of the drive and there would be a few (that many) bits it wouldn't move because they were the swap file and DOS boot system files.
I recall there being some techno-mysticism surrounding defragging regarding how often and when it was necessary, what it did and didn’t help, etc. I also remember the claim “Macs don’t need defragging” but I don’t know if HFS(+) was actually any less prone to fragmentation than FAT32 was. Companies like Symantec were happy to sell defragging tools to Mac users regardless.
> The HFS Plus file system transparently defragments files that are less than 20 MiB in size and are broken into 8 or more fragments when the file is being opened.
Which I expect would have significantly reduced the need to defrag and thus reduced the joy of computing. :p
Perhaps it's appropriate for me to link to the free game I made where you play a taxi driving through Disk Defragmenter and delivering stray blocks of data to their final locations: https://safetystoatstudios.itch.io/ddr. It was pretty fun to watch Defragmenter as a kid, but it would have been better if it was interactive, kind of like the 3D maze screensaver.
76 comments
[ 0.24 ms ] story [ 7.1 ms ] threadIf AI generated this is what the AI revolution is all about.
Can we get a cross platform screensaver?
If you inspect and go to sources and look for "1e3 /" you'll find the line responsible, you can set a breakpoint and change e.disk.iops to 1000 which will make the timeout per row 1s instead of 2-4s, so the whole thing goes faster.
https://en.wikipedia.org/wiki/Interleaving_(disk_storage)
So many of us spent so much time staring at the barrel of a particle accelerator.
Now everything is just easier (which is better for most people!) but I miss the old days.
20 years ago if somebody told you they used Linux it really meant something - they weren't running WSL, they weren't running a VM in EC2, they probably didn't power on and immediately have things working, and they probably learned a ton just getting to a login screen for the first time. Spinning up a VM just doesn't give the same learning experience.
Package mgmt was a nightmare and dependency based managers like yellow dogs APT and nonexistent redhats rpm didn't exist.
More like than not you had to compile some random a55 tarball from src and hoped ./configure && make && make all would work or spend hours on USENET looking for solutions (or mailing lists!).
https://youtu.be/dc_SDyLYq3U?t=347
https://horatioconkerhead.github.io/win98-defrag/
I did it in computer lab and showed others and the teacher lost it, thought we were breaking things.
Such things did exist back in the day, but they were relatively expensive to run since they had to run all the time. There was one that I used to run back in the 90s when windows was a thing. I think maybe it was diskeeper but I'm not sure.
We also have memory fragmenters to do the same for memory for the same reasons.
Admittedly I haven’t made much of a search, but various search engines and autocorrects seem really convinced that I mean “defragmenter” instead of “fragmenter,” despite myself…
Actually here is a recent paper discussing this (although the basic concept is much older):
https://arxiv.org/abs/2401.08858
Per-drive individual sounds, and BSoD included. Nice touches, love it!
As great as it is, way too fast.
Typically it would be getting some bits from other parts of the drive and there would be a few (that many) bits it wouldn't move because they were the swap file and DOS boot system files.
afaics all that meant was file allocations make a little extra space at the end, so if the file expands it doesn't need to allocate a new block.
If one keeps files around for a long time and constantly adds to them, then the files get fragmented on any filesystem.
The only way to avoid this is pre-allocate all files to their maximum possible size and never exceed that size.
> The HFS Plus file system transparently defragments files that are less than 20 MiB in size and are broken into 8 or more fragments when the file is being opened.
Which I expect would have significantly reduced the need to defrag and thus reduced the joy of computing. :p
[1] https://en.wikipedia.org/wiki/File_system_fragmentation
I’m going to watch Johnny Castaway now.
When I changed it between drives and back I lost my progress :/