From fafad0fd81c579125bec453ec9797c5d45214eab Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Wed, 27 Feb 2013 11:26:52 +0100 Subject: [PATCH] Code for memory usage statistics --- lib/Slic3r/Print.pm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/Slic3r/Print.pm b/lib/Slic3r/Print.pm index 8676cd2197..1aad0ae390 100644 --- a/lib/Slic3r/Print.pm +++ b/lib/Slic3r/Print.pm @@ -426,6 +426,18 @@ sub export_gcode { $self->make_skirt; $self->make_brim; # must come after make_skirt + # time to make some statistics + if (0) { + eval "use Devel::Size"; + print "MEMORY USAGE:\n"; + printf " meshes = %.1fMb\n", List::Util::sum(map Devel::Size::total_size($_->meshes), @{$self->objects})/1024/1024; + printf " layer slices = %.1fMb\n", List::Util::sum(map Devel::Size::total_size($_->slices), map @{$_->layers}, @{$self->objects})/1024/1024; + printf " region slices = %.1fMb\n", List::Util::sum(map Devel::Size::total_size($_->slices), map @{$_->regions}, map @{$_->layers}, @{$self->objects})/1024/1024; + printf " perimeters = %.1fMb\n", List::Util::sum(map Devel::Size::total_size($_->perimeters), map @{$_->regions}, map @{$_->layers}, @{$self->objects})/1024/1024; + printf " fills = %.1fMb\n", List::Util::sum(map Devel::Size::total_size($_->fills), map @{$_->regions}, map @{$_->layers}, @{$self->objects})/1024/1024; + printf " print object = %.1fMb\n", Devel::Size::total_size($self)/1024/1024; + } + # output everything to a G-code file my $output_file = $self->expanded_output_filepath($params{output_file}); $status_cb->(90, "Exporting G-code" . ($output_file ? " to $output_file" : ""));