Intro Download and install Frequently Asked Questions Tips and tricks

Homepage







© J.C. Kessels 2009
MyDefrag Forum
June 19, 2013, 06:58:37 pm *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1] 2
  Print  
Author Topic: How does FastFill() handle fragmented files  (Read 2086 times)
ScorpionGTfx
JkDefrag Senior
****
Posts: 32



View Profile
« on: June 06, 2010, 07:04:51 pm »

If I've a file fragmented in, for example, 100 parts, and under all these parts I've 2 gaps that together are big enough to hold that file but divided only by unmovable data, how does FastFill() act? It will place that file in these 2 gaps, resulting in a file fragmented only in 2 parts? Or to reach this result is mandatory to execute the Defragment() action first?

Thanks Smiley
Logged
jeroen
Administrator
JkDefrag Hero
*****
Posts: 7156



View Profile WWW
« Reply #1 on: June 06, 2010, 10:07:44 pm »

FastFill does not do wrap-around.
Logged
ScorpionGTfx
JkDefrag Senior
****
Posts: 32



View Profile
« Reply #2 on: June 08, 2010, 09:47:08 pm »

But isn't MyDefrag designed with the Wrap-around fragmentation in mind? Fastfill is often used because it's called by weekly and daily scripts, and it might have some problems in compacting files if there are many unmovable block in the drive (for example like the Microsoft Crypto folders). Instead, SortByXXX doesn't seem to have these problems, but isn't used so often either (by concept, one time a month). It looks like the daily and weekly scripts don't follow too much the concept of Wrap-around fragmentation. It might preserve the already present wrapped around files, but nothing more. And maybe not even that: if you're using FastFill(WithShuffling), it can destroy wrapped around positioning because if it wants to enlarge a gap, and the next file is a wrapped around one, it will move that file away, compacting it. Then, when it will move it back, this file will not be wrapped around anymore...
Logged
jeroen
Administrator
JkDefrag Hero
*****
Posts: 7156



View Profile WWW
« Reply #3 on: June 09, 2010, 09:59:59 am »

But isn't MyDefrag designed with the Wrap-around fragmentation in mind?
Not exactly, no. FastFill was there long before I introduced the wrap-around concept. Perhaps in the future I will change FastFill so it will span it's scope across unmovable data, but at the moment it only looks at 1 gap at a time.
Logged
BloodySword
JkDefrag Hero
*****
Posts: 1114



View Profile
« Reply #4 on: June 09, 2010, 10:00:45 am »

But please as an option. I don't want FastFill to wrap files around.
« Last Edit: June 09, 2010, 10:24:25 am by BloodySword » Logged

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


View Profile
« Reply #5 on: June 09, 2010, 10:49:11 pm »

I don't think we need FastFill to be able to use the wrap-around concept. It might help in some cases and might make things worse in other cases - at least until the whole concept of wrap-around fragmentation is revisited.
What FastFill could handle better are fragmented files - like, normally fragmented, not wrapped around something. In my opinion it should be able (again as an option) to use individual file fragments for filling gaps instead of whole files.
At present, if someone has a partition made of database files, these files can be defragmented using defragment(chunksize) command leaving them fragmeted but in reasonably sized fragments - but at present there is no command that would be able to reduce gaps in between these chunks.
Logged
BloodySword
JkDefrag Hero
*****
Posts: 1114



View Profile
« Reply #6 on: June 10, 2010, 07:38:08 am »

FastFill() should stay as is. But it should always try to use files from the end of the zone.

Using fragments to fill gaps is a bad idea in most of the cases. But ForcedFill() will do.
Logged

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


View Profile
« Reply #7 on: June 10, 2010, 11:14:29 am »

Using fragments to fill gaps is a bad idea in most of the cases.
I disagree. If the file is fragmented, there is probably a reason for it (e.g. because the zone was defragmented using defragment(chunksize) command). And in such case it is irrelevant where within the zone individual fragments are placed.
I am not asking for FastFill() to fragment files. I am just asking to have option for it to handle already existing fragments instead of whole files as basic blocks used in the filling process.

But ForcedFill() will do.
Using ForcedFill() is a bad idea in most of the cases because it makes fragmentation worse.
Logged
ScorpionGTfx
JkDefrag Senior
****
Posts: 32



View Profile
« Reply #8 on: June 10, 2010, 06:19:35 pm »

I think MyDefrag should follow only one concept for defragmentation. You want to go with Wrap-around fragmentation? Ok, all the FileAction commands should work considering Wrap-around fragmentation. You want to go without Wrap-around fragmentation? Then all the FileAction commands shouldn't wrap around files, even commands like SortByXXX. In other words, all the commands should respect the active philosophy ... and I think this is quite important, because right now there are commands in MyDefrag that don't consider Wrap-around fragmentation even if the flag of WrapAroundFragmentation is set to true.

But please as an option. I don't want FastFill to wrap files around.
FastFill should follow the active settings (for example if IgnoreWrapAroundFragmentation is true then it should wrap around, otherwise should act like now).

I don't think we need FastFill to be able to use the wrap-around concept. It might help in some cases and might make things worse in other cases - at least until the whole concept of wrap-around fragmentation is revisited.
And what are these cases where it might make things worse?
Logged
BloodySword
JkDefrag Hero
*****
Posts: 1114



View Profile
« Reply #9 on: June 10, 2010, 06:23:54 pm »

No! No! No! Why should it be a benefit if you can not define the behaviour each FileAction session? I don't understand your point...
Logged

Greetings from Germany!
ScorpionGTfx
JkDefrag Senior
****
Posts: 32



View Profile
« Reply #10 on: June 10, 2010, 07:13:58 pm »

Actually, in the current version of MyDefrag, the Defragment() command works in this way ... there is no "Defragment(WrapAround)" right now.
Logged
BloodySword
JkDefrag Hero
*****
Posts: 1114



View Profile
« Reply #11 on: June 10, 2010, 07:46:55 pm »

Defragment will never Wrap arount, because of it'S concept. It searches a position to move the whole file to and might move files away.
Logged

Greetings from Germany!
ScorpionGTfx
JkDefrag Senior
****
Posts: 32



View Profile
« Reply #12 on: June 10, 2010, 09:55:04 pm »

It will not defragment a file fragmented due to wrap around if IgnoreWrapAroundFragmentation is True. So it respect the concept of Wrap-around fragmentation.
Logged
BloodySword
JkDefrag Hero
*****
Posts: 1114



View Profile
« Reply #13 on: June 11, 2010, 07:39:05 am »

Yes that's true. But the recognition should be improved a bit.
« Last Edit: June 11, 2010, 09:26:07 am by BloodySword » Logged

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


View Profile
« Reply #14 on: June 11, 2010, 09:24:40 am »

I don't think we need FastFill to be able to use the wrap-around concept. It might help in some cases and might make things worse in other cases - at least until the whole concept of wrap-around fragmentation is revisited.
And what are these cases where it might make things worse?
You still need to learn some of MyDefrag's problems.
WrapAround function wraps moved files around files which are unmovable during the defragmentation run which applies generally to any temporary file the system decides to use.
On my computer, trying to optimize a zone using a SortByName command leads to approximately 30% files being marked as fragmented right after they were placed at their position. The first following run of "daily optimization" moves them all twice - once when defragmenting them, once when filling them back. I really don't think it's a good idea to have this happening every daily defragmentation.
Logged
Pages: [1] 2
  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!