* [gentoo-user] [OT] fast recursive local copy @ 2009-08-14 2:47 meino.cramer 2009-08-14 3:41 ` [gentoo-user] " Nikos Chantziaras 2009-08-14 7:33 ` [gentoo-user] " Mike Kazantsev 0 siblings, 2 replies; 13+ messages in thread From: meino.cramer @ 2009-08-14 2:47 UTC (permalink / raw To: Gentoo Hi, I am looking for a faster way to do a cp -a r <thisdir> <thatdir> locally on one machine with one harddisk inside. Is there a neat trick to accomplish this faster than good old cp? (I have to reorder greater part sof user data on my harddisc...) Thank you very much in advance for any help! Have a nice weekend! Best regards mcc -- Please don't send me any Word- or Powerpoint-Attachments unless it's absolutely neccessary. - Send simply Text. See http://www.gnu.org/philosophy/no-word-attachments.html In a world without fences and walls nobody needs gates and windows. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [gentoo-user] Re: [OT] fast recursive local copy 2009-08-14 2:47 [gentoo-user] [OT] fast recursive local copy meino.cramer @ 2009-08-14 3:41 ` Nikos Chantziaras 2009-08-14 8:30 ` Volker Armin Hemmann 2009-08-14 8:50 ` Joerg Schilling 2009-08-14 7:33 ` [gentoo-user] " Mike Kazantsev 1 sibling, 2 replies; 13+ messages in thread From: Nikos Chantziaras @ 2009-08-14 3:41 UTC (permalink / raw To: gentoo-user On 08/14/2009 05:47 AM, meino.cramer@gmx.de wrote: > Hi, > > I am looking for a faster way to do a > > cp -a r<thisdir> <thatdir> > > locally on one machine with one harddisk inside. > > Is there a neat trick to accomplish this faster than > good old cp? Nope. Some people like to use pipes in hope to speed it up, something like: tar -c <thisdir> | tar -xC <thatdir> but this isn't really faster and fscks up sparse files. But if <thatdir> already contains some files from <thisdir>, then rsync would be faster than cp. If not, stick with cp. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: [OT] fast recursive local copy 2009-08-14 3:41 ` [gentoo-user] " Nikos Chantziaras @ 2009-08-14 8:30 ` Volker Armin Hemmann 2009-08-14 8:50 ` Joerg Schilling 1 sibling, 0 replies; 13+ messages in thread From: Volker Armin Hemmann @ 2009-08-14 8:30 UTC (permalink / raw To: gentoo-user On Freitag 14 August 2009, Nikos Chantziaras wrote: > On 08/14/2009 05:47 AM, meino.cramer@gmx.de wrote: > > Hi, > > > > I am looking for a faster way to do a > > > > cp -a r<thisdir> <thatdir> > > > > locally on one machine with one harddisk inside. > > > > Is there a neat trick to accomplish this faster than > > good old cp? > > Nope. Some people like to use pipes in hope to speed it up, something > like: > > tar -c <thisdir> | tar -xC <thatdir> > > but this isn't really faster and fscks up sparse files. > > But if <thatdir> already contains some files from <thisdir>, then rsync > would be faster than cp. If not, stick with cp. use cp with -u and files already existing are skipped. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: [OT] fast recursive local copy 2009-08-14 3:41 ` [gentoo-user] " Nikos Chantziaras 2009-08-14 8:30 ` Volker Armin Hemmann @ 2009-08-14 8:50 ` Joerg Schilling 2009-08-14 16:00 ` Dirk Heinrichs 2009-08-14 17:00 ` Dirk Heinrichs 1 sibling, 2 replies; 13+ messages in thread From: Joerg Schilling @ 2009-08-14 8:50 UTC (permalink / raw To: gentoo-user Nikos Chantziaras <realnc@arcor.de> wrote: > On 08/14/2009 05:47 AM, meino.cramer@gmx.de wrote: > > Hi, > > > > I am looking for a faster way to do a > > > > cp -a r<thisdir> <thatdir> > > > > locally on one machine with one harddisk inside. > > > > Is there a neat trick to accomplish this faster than > > good old cp? > > Nope. Some people like to use pipes in hope to speed it up, something like: > > tar -c <thisdir> | tar -xC <thatdir> > > but this isn't really faster and fscks up sparse files. Pipes definitely do not speed up things, they slow things down as pipes introduce a significant system overhead. The fastest method for copying directory trees (typicalls 30% faster than any other known method) is to use star: star -copy -p -xdot -acl -sparse -C <fromdir> . <todir> Do not forget the '.' !!!!! Note that on Linux you may _need_ to add "-no-fsync" because file I/O is slow on Linux. On Solaris, not using -no-fsync slows things down by aprox. 10% but allows star to grant that everything was really copied to stable storage. On Linux, ot using -no-fsync slows things down by aprox. 400%, this is why I recommend to add "-no-fsync". BTW: other programs behave like star "-no-fsync" by default. It may help to speed up things (in case you have enough RAM) to add: fs=128M Use no more than 1/2 of the physical RAM as FIFO size. Star implements the most effective way since more than 20 years. The idea is to use a FIFO made of shared memory and to let star fork by default into two processes that work independently. Jörg -- EMail:joerg@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin js@cs.tu-berlin.de (uni) joerg.schilling@fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: [OT] fast recursive local copy 2009-08-14 8:50 ` Joerg Schilling @ 2009-08-14 16:00 ` Dirk Heinrichs 2009-08-14 16:11 ` Joerg Schilling 2009-08-14 17:00 ` Dirk Heinrichs 1 sibling, 1 reply; 13+ messages in thread From: Dirk Heinrichs @ 2009-08-14 16:00 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 367 bytes --] Am Freitag 14 August 2009 10:50:45 schrieb Joerg Schilling: > The fastest method for copying directory trees (typicalls 30% faster than > any other known method) is to use star: > > star -copy -p -xdot -acl -sparse -C <fromdir> . <todir> That's a really nice one. However, does it also handle the "update <todir>" case mentioned above? Bye... Dirk [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 190 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: [OT] fast recursive local copy 2009-08-14 16:00 ` Dirk Heinrichs @ 2009-08-14 16:11 ` Joerg Schilling 2009-08-14 16:56 ` Dirk Heinrichs 0 siblings, 1 reply; 13+ messages in thread From: Joerg Schilling @ 2009-08-14 16:11 UTC (permalink / raw To: gentoo-user Dirk Heinrichs <dirk.heinrichs@online.de> wrote: > Am Freitag 14 August 2009 10:50:45 schrieb Joerg Schilling: > > > The fastest method for copying directory trees (typicalls 30% faster than > > any other known method) is to use star: > > > > star -copy -p -xdot -acl -sparse -C <fromdir> . <todir> > > That's a really nice one. However, does it also handle the "update <todir>" > case mentioned above? star by default only overwrites a file if it is older than the file that is going to be extracted. Jörg -- EMail:joerg@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin js@cs.tu-berlin.de (uni) joerg.schilling@fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: [OT] fast recursive local copy 2009-08-14 16:11 ` Joerg Schilling @ 2009-08-14 16:56 ` Dirk Heinrichs 0 siblings, 0 replies; 13+ messages in thread From: Dirk Heinrichs @ 2009-08-14 16:56 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 233 bytes --] Am Freitag 14 August 2009 18:11:34 schrieb Joerg Schilling: > star by default only overwrites a file if it is older than the file that is > going to be extracted. Thanks. Will definitely try it out on next occasion. Bye... Dirk [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 190 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: [OT] fast recursive local copy 2009-08-14 8:50 ` Joerg Schilling 2009-08-14 16:00 ` Dirk Heinrichs @ 2009-08-14 17:00 ` Dirk Heinrichs 2009-08-14 20:47 ` Joerg Schilling 1 sibling, 1 reply; 13+ messages in thread From: Dirk Heinrichs @ 2009-08-14 17:00 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 604 bytes --] Am Freitag 14 August 2009 10:50:45 schrieb Joerg Schilling: > Note that on Linux you may need to add "-no-fsync" because file I/O is slow > on Linux. On Solaris, not using -no-fsync slows things down by aprox. 10% > but allows star to grant that everything was really copied to stable > storage. On Linux, ot using -no-fsync slows things down by aprox. 400%, > this is why I recommend to add "-no-fsync". This is also quite interesting. Do you have some (links to) recent benchmarks which would second that? Could this even be depending on the filesystem used on Linux? Bye... Dirk [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 190 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: [OT] fast recursive local copy 2009-08-14 17:00 ` Dirk Heinrichs @ 2009-08-14 20:47 ` Joerg Schilling 2009-08-15 15:26 ` Dirk Heinrichs 2009-08-15 22:49 ` Volker Armin Hemmann 0 siblings, 2 replies; 13+ messages in thread From: Joerg Schilling @ 2009-08-14 20:47 UTC (permalink / raw To: gentoo-user Dirk Heinrichs <dirk.heinrichs@online.de> wrote: > Am Freitag 14 August 2009 10:50:45 schrieb Joerg Schilling: > > > Note that on Linux you may need to add "-no-fsync" because file I/O is slow > > on Linux. On Solaris, not using -no-fsync slows things down by aprox. 10% > > but allows star to grant that everything was really copied to stable > > storage. On Linux, ot using -no-fsync slows things down by aprox. 400%, > > this is why I recommend to add "-no-fsync". > > This is also quite interesting. Do you have some (links to) recent benchmarks > which would second that? Could this even be depending on the filesystem used on > Linux? I did this test aprox. 3-4 years ago. You may try to do an own test and report. I did just rerun a test on a recent ubuntu in a VirtualBox environment and the speedup factor with -no-fsync was 8x. Jörg -- EMail:joerg@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin js@cs.tu-berlin.de (uni) joerg.schilling@fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: [OT] fast recursive local copy 2009-08-14 20:47 ` Joerg Schilling @ 2009-08-15 15:26 ` Dirk Heinrichs 2009-08-15 22:19 ` Volker Armin Hemmann 2009-08-15 22:49 ` Volker Armin Hemmann 1 sibling, 1 reply; 13+ messages in thread From: Dirk Heinrichs @ 2009-08-15 15:26 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1790 bytes --] Am Freitag 14 August 2009 22:47:46 schrieb Joerg Schilling: > Dirk Heinrichs <dirk.heinrichs@online.de> wrote: > > Am Freitag 14 August 2009 10:50:45 schrieb Joerg Schilling: > > > Note that on Linux you may need to add "-no-fsync" because file I/O is > > > slow on Linux. On Solaris, not using -no-fsync slows things down by > > > aprox. 10% but allows star to grant that everything was really copied > > > to stable storage. On Linux, ot using -no-fsync slows things down by > > > aprox. 400%, this is why I recommend to add "-no-fsync". > > > > This is also quite interesting. Do you have some (links to) recent > > benchmarks which would second that? Could this even be depending on the > > filesystem used on Linux? > > I did this test aprox. 3-4 years ago. You may try to do an own test and > report. > > I did just rerun a test on a recent ubuntu in a VirtualBox environment and > the speedup factor with -no-fsync was 8x. OK, here's mine, then. Please note that the test happened on an encrypted logical volume containing an XFS filesystem. Source and destination directory are on the same LV. # time star -copy -p -xdot -acl -sparse -C /gentoo/overlays/portage . /gentoo/build/portage star: 0 blocks + 447532544 bytes (total of 447532544 bytes = 437043.50k). star -copy -p -xdot -acl -sparse -C /gentoo/overlays/portage . 16,57s user 60,22s system 11% cpu 11:23,63 total # time star -copy -p -xdot -acl -sparse -no-fsync -C /gentoo/overlays/portage . /gentoo/build/portage star: 0 blocks + 447532544 bytes (total of 447532544 bytes = 437043.50k). star -copy -p -xdot -acl -sparse -no-fsync -C /gentoo/overlays/portage . 12,33s user 35,39s system 10% cpu 7:44,13 total Unfortunately, I can't compare with OSol :( Bye... Dirk [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 190 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: [OT] fast recursive local copy 2009-08-15 15:26 ` Dirk Heinrichs @ 2009-08-15 22:19 ` Volker Armin Hemmann 0 siblings, 0 replies; 13+ messages in thread From: Volker Armin Hemmann @ 2009-08-15 22:19 UTC (permalink / raw To: gentoo-user On Samstag 15 August 2009, Dirk Heinrichs wrote: > Am Freitag 14 August 2009 22:47:46 schrieb Joerg Schilling: > > Dirk Heinrichs <dirk.heinrichs@online.de> wrote: > > > Am Freitag 14 August 2009 10:50:45 schrieb Joerg Schilling: > > > > Note that on Linux you may need to add "-no-fsync" because file I/O > > > > is slow on Linux. On Solaris, not using -no-fsync slows things down > > > > by aprox. 10% but allows star to grant that everything was really > > > > copied to stable storage. On Linux, ot using -no-fsync slows things > > > > down by aprox. 400%, this is why I recommend to add "-no-fsync". > > > > > > This is also quite interesting. Do you have some (links to) recent > > > benchmarks which would second that? Could this even be depending on the > > > filesystem used on Linux? > > > > I did this test aprox. 3-4 years ago. You may try to do an own test and > > report. > > > > I did just rerun a test on a recent ubuntu in a VirtualBox environment > > and the speedup factor with -no-fsync was 8x. > > OK, here's mine, then. Please note that the test happened on an encrypted > logical volume containing an XFS filesystem. Source and destination > directory are on the same LV. > > # time star -copy -p -xdot -acl -sparse -C /gentoo/overlays/portage . > /gentoo/build/portage > star: 0 blocks + 447532544 bytes (total of 447532544 bytes = 437043.50k). > star -copy -p -xdot -acl -sparse -C /gentoo/overlays/portage . 16,57s > user 60,22s system 11% cpu 11:23,63 total > > # time star -copy -p -xdot -acl -sparse -no-fsync -C > /gentoo/overlays/portage . /gentoo/build/portage > star: 0 blocks + 447532544 bytes (total of 447532544 bytes = 437043.50k). > star -copy -p -xdot -acl -sparse -no-fsync -C /gentoo/overlays/portage . > 12,33s user 35,39s system 10% cpu 7:44,13 total > > Unfortunately, I can't compare with OSol :( > > Bye... > > Dirk and you dropped caches in between? ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: [OT] fast recursive local copy 2009-08-14 20:47 ` Joerg Schilling 2009-08-15 15:26 ` Dirk Heinrichs @ 2009-08-15 22:49 ` Volker Armin Hemmann 1 sibling, 0 replies; 13+ messages in thread From: Volker Armin Hemmann @ 2009-08-15 22:49 UTC (permalink / raw To: gentoo-user On Freitag 14 August 2009, Joerg Schilling wrote: > Dirk Heinrichs <dirk.heinrichs@online.de> wrote: > > Am Freitag 14 August 2009 10:50:45 schrieb Joerg Schilling: > > > Note that on Linux you may need to add "-no-fsync" because file I/O is > > > slow on Linux. On Solaris, not using -no-fsync slows things down by > > > aprox. 10% but allows star to grant that everything was really copied > > > to stable storage. On Linux, ot using -no-fsync slows things down by > > > aprox. 400%, this is why I recommend to add "-no-fsync". > > > > This is also quite interesting. Do you have some (links to) recent > > benchmarks which would second that? Could this even be depending on the > > filesystem used on Linux? > > I did this test aprox. 3-4 years ago. You may try to do an own test and > report. > > I did just rerun a test on a recent ubuntu in a VirtualBox environment and > the speedup factor with -no-fsync was 8x. > > Jörg reiser4 on raid5, compression is on, since no barriers, sync mode. Three runs, first without, second with, third without -no-fsync. echo 1 > /proc/sys/vm/drop_caches in between each run. temp was removed and recreated between each run. source and target on different md devices. star: 0 blocks + 96006656 bytes (total of 96006656 bytes = 93756.50k). star -copy -p -xdot -acl -sparse -C /usr/local/portage . temp/ 0,85s user 16,79s system 6% cpu 4:48,77 total star: 0 blocks + 96006656 bytes (total of 96006656 bytes = 93756.50k). star -copy -p -xdot -acl -sparse -no-fsync -C /usr/local/portage . temp/ 0,43s user 3,14s system 24% cpu 14,389 total star: 0 blocks + 96006656 bytes (total of 96006656 bytes = 93756.50k). star -copy -p -xdot -acl -sparse -C /usr/local/portage . temp/ 0,88s user 15,93s system 6% cpu 4:13,76 total but reiser4 is infamous for not loving fsync ;) ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] [OT] fast recursive local copy 2009-08-14 2:47 [gentoo-user] [OT] fast recursive local copy meino.cramer 2009-08-14 3:41 ` [gentoo-user] " Nikos Chantziaras @ 2009-08-14 7:33 ` Mike Kazantsev 1 sibling, 0 replies; 13+ messages in thread From: Mike Kazantsev @ 2009-08-14 7:33 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 639 bytes --] On Fri, 14 Aug 2009 04:47:24 +0200 meino.cramer@gmx.de wrote: > I am looking for a faster way to do a > > cp -a r <thisdir> <thatdir> > > locally on one machine with one harddisk inside. rsync can parallel some of the tasks, like creating paths while files are being copied, so I guess it wouldn't hurt to test it against cp: rsync -HaAX <thisdir> <thatdir> Flags are: -H - hardlinks -a - ids, modes, timestamps -A - ACLs -X - extended attributes You might want to throw in '-x' for 'one-file-system', but that contradicts with behavior of given cp example. -- Mike Kazantsev // fraggod.net [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2009-08-15 22:50 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-08-14 2:47 [gentoo-user] [OT] fast recursive local copy meino.cramer 2009-08-14 3:41 ` [gentoo-user] " Nikos Chantziaras 2009-08-14 8:30 ` Volker Armin Hemmann 2009-08-14 8:50 ` Joerg Schilling 2009-08-14 16:00 ` Dirk Heinrichs 2009-08-14 16:11 ` Joerg Schilling 2009-08-14 16:56 ` Dirk Heinrichs 2009-08-14 17:00 ` Dirk Heinrichs 2009-08-14 20:47 ` Joerg Schilling 2009-08-15 15:26 ` Dirk Heinrichs 2009-08-15 22:19 ` Volker Armin Hemmann 2009-08-15 22:49 ` Volker Armin Hemmann 2009-08-14 7:33 ` [gentoo-user] " Mike Kazantsev
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox