Ticket #178 (closed defect)

Opened 6 years ago

Last modified 6 years ago

Eraser Calculating Time.

Reported by: Overwriter Owned by: Joel
Priority: major Milestone: Eraser 6.0
Component: Core Version:
Keywords: Cc:
Processor Architecture: Blocked By:
Blocking: Operating System:


XP Pro SP3 .Net 3.5 Eraser Beta 4

When I try to wipe my free space on C, right click and select “Erase Unused Space” Eraser takes a very, very long time calculating. Much longer than V5.

However I remembered reading this article by Svante and I wonder if this is the problem and possibly the solution ! Good old Svante !!

How to make a file read in Windows not become a write

by svante@… 2008-09-12 17:42

A little known, and even less used, feature of all Windows versions from XP and forward is that they support a property called 'Last Access' on all files. On the surface, this seems neat, if not so useful. You can see whenever a file was last accessed using this property.

But think about it. What does this mean? It means that every time you open a file for reading, Windows needs to write something somewhere on the disk! If you're in the process of enumerating, lets say 500 000 files, this is equal to slow! Does anyone ever use that property? Not that I know of.

I'm working with file based persistent storage in my solutions, not with a database, so file access is pretty important to me. By disabling this 'feature', I speeded up enumerating the file system by about a factor of 10! Generally speaking, you'll speed up any system with many file accesses by turning this feature off.

It's really simple too. At a DOS-prompt write:

fsutil behavior set disablelastaccess 1

When you're at it, you might also want to do:

fsutil behavior set disable8dot3 1

This last command disables generation of 8-dot-3 legacy file names, effectively halfing the size of directories in NTFS, which must be a good thing. Beware that there might be 16-bit software out there which actually need those 8-dot-3 names to find your files...


#178Eraser Calculating Time.Eraser 6.0

Blocked by

#178Eraser Calculating Time.Eraser 6.0

Change History

comment:1 Changed 6 years ago by Overwriter

I meant to say that disabling this “Windows feature” will add to users privacy also !

comment:2 Changed 6 years ago by Joel

  • Status changed from new to pending

Hmm, so what is there for me to do as someone developing Eraser? I don't really see the point of your ticket...

comment:3 Changed 6 years ago by Joel

  • Milestone set to Eraser 6.0

comment:4 Changed 6 years ago by trac-robot

  • Status changed from pending to closed

This ticket was closed automatically by the system. It was previously set to a Pending status and hasn't been updated within 14 days.

Note: See TracTickets for help on using tickets.