Tom Eyckmans wrote:
2009/4/23 Steve Appling <[email protected]
<mailto:[email protected]>>
Tom Eyckmans wrote:
Hi Steve,
The previous message got rejected because of it's size so I have
put the test jar here http://www.box.net/shared/rjfyath7lb hope
that works.
clipped ...
True. Could you perform a speed test with the jar file in
attachment?
just execute it like so:
java -jar changedetection-0.1 dirOne dirTwo dirThree
Do you really need to include the file content, or can
you trust
the OS to update last modified date?
Not sure, but I know there is a force method on randomaccessfile
that allows to only force the content or both content and
metadata to be flushed. Thats why I included the content because
this allows the modified date not to be updated even when the
content has changed.
I know it is possible to do this, but unusual in normal development.
Seems better to just use absolute file path + last
modified date.
>From our main product branch I ran it on our java source and
webapp content. Performance seems to depend HEAVILY on what Windows
has cached.
First time:
C:\Working\main\dev>java -jar \temp\changedetection-0.1.jar source
webroot
C:\Working\main\dev\source : e48543ab1d4bd97990d70f52000b9595d0c75a88
C:\Working\main\dev\webroot : 0b23e572ac55209733d2564058fc3e553dfa95c9
time taken: PT258.716S
Second time:
C:\Working\main\dev>java -jar \temp\changedetection-0.1.jar source
webroot
C:\Working\main\dev\source : e48543ab1d4bd97990d70f52000b9595d0c75a88
C:\Working\main\dev\webroot : 0b23e572ac55209733d2564058fc3e553dfa95c9
time taken: PT8.312S
This is a big project (8,447 files under source and 15,670 files under
webroot), but it still seems like including the content of the files is
prohibitively expensive (at least at first). It would be
interesting to see how this works without the file content. I'll be
glad to test that for you too.
I've noticed this aswell, very hard to create something that works
consistently every single time.
New jar that doesn't include the file content, on Gradle source this
takes 0.2 seconds. Could you test this against your code base ?
Link:
http://www.box.net/shared/b53oc00c3r
Much better -
First time: 24.283S
Second time: 2.674S
24 seconds is acceptable to me for this size project for a first time test. 2.6
seconds rocks for 24k+ files. I'm sure performance would be even better under
any OS other than windows :)
I'm curious exactly what you plan to do with this. Copy tasks should probably
just do their own freshness check to avoid having to traverse the directory
structure twice if something does need to be done.
--
Steve Appling
Automated Logic Research Team
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email