in reply to Bucket sort - reducing memory requirements and preserving speed
I was wondering does anyone know a trick to reduce memory requirement during a bucket sort without significantly reducing the speed
How? (which module or post code); and why? -- reasoning -- are you using a "bucket sort" from Perl?
Given that:
#! perl -slw use strict; use Time::HiRes qw[ time ]; my @data = qw[ 2 53 23456 75434532 233 45654 665446 33 234 5 6665 3 2 23 43 62553 27263 2 33 75434532 987762 34455 22 3345 24 567 54 43 12 23 ]; @data = ( (@data) x 10 ); my $start = time; @data = sort{ $a <=> $b } @data; printf "sorting %10u integers took: %.6f\n", scalar( @data ), time() - + $start; @data = ( @data ) x 10; $start = time; @data = sort{ $a <=> $b } @data; printf "sorting %10u integers took: %.6f\n", scalar( @data ), time() - + $start; @data = ( @data ) x 10; $start = time; @data = sort{ $a <=> $b } @data; printf "sorting %10u integers took: %.6f\n", scalar( @data ), time() - + $start; @data = ( @data ) x 10; $start = time; @data = sort{ $a <=> $b } @data; printf "sorting %10u integers took: %.6f\n", scalar( @data ), time() - + $start; @data = ( @data ) x 10; $start = time; @data = sort{ $a <=> $b } @data; printf "sorting %10u integers took: %.6f\n", scalar( @data ), time() - + $start; __END__ C:\test>1113070 sorting 300 integers took: 0.000152 sorting 3000 integers took: 0.000316 sorting 30000 integers took: 0.001214 sorting 300000 integers took: 0.018363 sorting 3000000 integers took: 0.192435
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Bucket sort - reducing memory requirements and preserving speed
by karlgoethebier (Abbot) on Jan 13, 2015 at 19:00 UTC | |
by BrowserUk (Patriarch) on Jan 13, 2015 at 19:38 UTC | |
by karlgoethebier (Abbot) on Jan 13, 2015 at 19:54 UTC | |
by BrowserUk (Patriarch) on Jan 13, 2015 at 21:34 UTC |