Intro Download and install Frequently Asked Questions Tips and tricks

Homepage







© J.C. Kessels 2009
MyDefrag Forum
May 19, 2013, 06:42:41 am *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: What speed improvement is expected after a SortBy() optimization ?  (Read 1784 times)
PoP
JkDefrag Senior
****
Posts: 32


View Profile
« on: January 14, 2010, 02:04:01 pm »

SortBy is a very slow process and,
what is more a concern to me, it implies a lot
of movements.

What kind of speed improvement is expected
from this kind of optimization ?
Logged
BloodySword
JkDefrag Hero
*****
Posts: 1113



View Profile
« Reply #1 on: January 14, 2010, 02:09:43 pm »

It depends on the speed of your hard drive and your controller.

First of all the head of your drive must not move so far for opening programs. The files are sorted in a way, that for exsample Firefox program files are near each other, so Firefox launches much faster.

Read the SortBy manual. Jeroen descripes how exactly the files are sorted.
Logged

Greetings from Germany!
Kasuha
JkDefrag Hero
*****
Posts: 595


View Profile
« Reply #2 on: January 14, 2010, 05:23:14 pm »

SortByName puts files from each directory and subdirectory into one continuous block. It is expected that when a file from particular directory is accessed, it is likely that another file from the same directory will be accessed soon and the disk will not need to move its heads much to reach it.

Other SortBy options are supported for the case someone finds them useful.
Logged
PoP
JkDefrag Senior
****
Posts: 32


View Profile
« Reply #3 on: January 14, 2010, 05:57:01 pm »

Thanks Kasuha,

I forgot that SortBy(Name) is actually SortBy(PathName).
I understand the -good- argument.

Now, is SortBy(Name) of the directories (Zone 2) really useful ?
I know that it is the only way for the moment to get
a consolidated directory zone at some optimal place from the
start of the HDD (default 30%).
Indeed I have experimented FastFill after a previous
SortBy a few days before. And FastFill was much much faster
BUT there were some directories that were left behind.
Apparently these were directories created recently in the
gap above zone 3 (standard Daily Script) and below the 30%.
They were not move into the zone 2

I wonder why FastFill does not attempt to get files from
below the zone it is working on.

M Daily 0ptimize runs for 15 mns if Sortby is used for
the directories. And it runs for only 10 mns if I use FastFill
with zone 2 at the beginning of the disk as it was some time ago.
5 mns for a zone that is 1-2 lines on my screen ......

I think even if its small, thanks to the natural speed of MD,
this 30% extra time and the amount of extra movements
for SortBy is not worth the gain in speed (I mean for directories.
I follow your argument above for application folders)

So I use FastFill with zone 2 at 0 but, of course, I'd rather
have the directories at a more optimal place than
the start of the disk. Some time ...
 
Logged
Kasuha
JkDefrag Hero
*****
Posts: 595


View Profile
« Reply #4 on: January 14, 2010, 07:02:31 pm »

FastFill and all other filling commands only push files down, never up. That's by design at present. Maybe some future MyDefrag version will be able to perform filling commands into the zone instead of just down but now the only way to move files up is by using one of sort commands.
Logged
poutnik
JkDefrag Hero
*****
Posts: 1105


View Profile
« Reply #5 on: January 14, 2010, 08:13:27 pm »

Now, is SortBy(Name) of the directories (Zone 2) really useful ?

I would say folders play in NTFS less important role, concerning folder access, comparing to FATxx FS.
Using fastfill, and keeping then roughly compact, tight close to MFT is enough.

In FATxx almost all file related info is stored in a folder.
In NTFS almost all file related info is stored in MFT ( even folder itself if small ).
In a folder there is mostly just info about a folder itself and index of files.

PC Guide


« Last Edit: January 14, 2010, 10:52:10 pm by poutnik » Logged

It can be fast, good or easy. You can pick just 2 of them....
Treating Spacehog zone by the same effort as Boot zone is like cleaning a garden by the same effort as a living room.
TheAnonymous
JkDefrag Senior
****
Posts: 29


View Profile
« Reply #6 on: January 15, 2010, 03:12:31 am »

The files are sorted in a way, that for exsample Firefox program files are near each other, so Firefox launches much faster.
Basically sums it up nicely, but there are things that all people should realize:

-If you have enough free RAM (for example, if you have 100MB of RAM used on XP out of 1GB of memory), data that has just been accessed by the disk will be placed into memory. This is placed into something called the page cache which is transparent, it doesn't interfere with memory that applications or Windows can use, because the page cache is cleared to allocate memory for them, data in the page cache doesn't show up on the default Task Manager memory reading. After a couple of hours of usage, the average user will have "unused" memory being completely utilized.

When you reboot, all memory is cleared and hence the page cache. So, for example, try this:

Reboot your system.
Start Firefox (or whatever web browser you use).
Close Firefox.
Start Firefox and notice it launches much faster because it is in memory now.
Internet Explorer modules are loaded in memory on boot-up, so that's why it usually launches fast.

Windows Vista and Windows 7 have a feature named Superfetch which monitors data access habits and will automatically place data into the page cache without the user having to first read them with the disk.
Logged
PoP
JkDefrag Senior
****
Posts: 32


View Profile
« Reply #7 on: January 15, 2010, 01:53:45 pm »

now the only way to move files up is by using one of sort commands.

What about a SortBy(nothing) function ?
Would take files from everywhere and put them into the zone
without the time overhead of the sorting.
Logged
Kasuha
JkDefrag Hero
*****
Posts: 595


View Profile
« Reply #8 on: January 15, 2010, 02:37:21 pm »

That wouldn't really help as it would still move all files in the zone. I guess you're rather asking for some kind of sorting that would leave files inside the zone where they are (if possible) and only move in files that lie out. But that's the purpose of Fill commands, they just don't fill up.
Logged
PoP
JkDefrag Senior
****
Posts: 32


View Profile
« Reply #9 on: January 15, 2010, 03:59:35 pm »

it would still move all files in the zone.

Not ALL files, only files that are selected, am I wrong ?

When I use

  FileSelect
    Directory(yes)
  FileActions
    SortByName(ascending)
  FileEnd

All the directories and only directories are consolidated
in the same zone, independent of their initial location, isn't it ?

Assume SortByNothing() does the same but without the sorting
algorythm, then

  FileSelect
    Directory(yes)
  FileActions
    SortByNothing()
  FileEnd

would put all directories in the same zone wherever they may
be before. This is what I want because I want to
place the directory zone at an optimal position say 30%.
But I dont want to pay the time overhead, movement overhead and stress
of a full sorting that does not provide speed improvement, I think
(for directories)

Logged
Darlis
JkDefrag Hero
*****
Posts: 1707


View Profile WWW
« Reply #10 on: January 15, 2010, 09:05:31 pm »

You could also move files up, if you use Make/AddGap without DoNotVacate and the use FastFill().
Logged

Need help creating a script? Try MyDefrag Script Creator.
Kasuha
JkDefrag Hero
*****
Posts: 595


View Profile
« Reply #11 on: January 16, 2010, 12:45:09 am »

  FileSelect
    Directory(yes)
  FileActions
    SortByNothing()
  FileEnd

would put all directories in the same zone wherever they may
be before.

SortBy commands work the following way:

They take list of all files belonging to that zone, put them to a "queue" in some predefined order and then move them to the zone in that order starting at zone begin. If any file lies in the way it is moved away regardless if it is file from that zone or not. The only exception is if it is the file that is supposed to be placed there.
SortByNothing would probably just create the queue without any particular order but that would still mean that every file (directory) in the zone is moved at least once so its efficiency is pretty much the same as for SortByName.

I don't think it's what you want. I believe you are rather asking for files to be put there in such order that files that are already inside the zone space are not moved. But that's not how SortBy commands work.

You could also move files up, if you use Make/AddGap without DoNotVacate and the use FastFill().
Yes but it's not good idea for zones 1 and 2 in current default scripts.
Logged
PoP
JkDefrag Senior
****
Posts: 32


View Profile
« Reply #12 on: January 19, 2010, 02:29:53 pm »

would put all directories in the same zone wherever they may
be before.

Yes you are right,
Too Bad  Cry

Need a FastFill that follows your suggestion : when
attempting to fill a gap give the precedence
to files that are outside, below or above, the zone.

Thanks for your time and patience
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!