FWIW, it takes about 2 seconds for the sub to run for me, plus a few more (I guesstimate 4) for Tk to actually draw it
OTOH, wxPerl pops up an equal amount of widgets in 1 sec, and it takes 1 sec to destroy them all
$self->{label_A} = Wx::StaticText->new($self, -1, "A", wxDefaultPositi
+on, wxDefaultSize, );
$self->{bank1_sizer2_combo1} = Wx::ComboBox->new($self, -1, "", wxDefa
+ultPosition, wxDefaultSize, [], wxCB_DROPDOWN);
$self->{bank1_sizer2_combo2} = Wx::ComboBox->new($self, -1, "", wxDefa
+ultPosition, wxDefaultSize, [], wxCB_DROPDOWN);
$self->{bank1_sizer2_slider} = Wx::Slider->new($self, -1, 0, 0, 10, wx
+DefaultPosition, wxDefaultSize, wxSL_VERTICAL|wxSL_AUTOTICKS|wxSL_LAB
+ELS|wxSL_TOP);
$self->{bank2_sizer2_combo1} = Wx::ComboBox->new($self, -1, "", wxDefa
+ultPosition, wxDefaultSize, [], wxCB_DROPDOWN);
$self->{bank2_sizer2_combo2} = Wx::ComboBox->new($self, -1, "", wxDefa
+ultPosition, wxDefaultSize, [], wxCB_DROPDOWN);
$self->{bank2_sizer2_slider} = Wx::Slider->new($self, -1, 0, 0, 10, wx
+DefaultPosition, wxDefaultSize, wxSL_VERTICAL|wxSL_AUTOTICKS|wxSL_LAB
+ELS|wxSL_TOP);
$self->{bank3__ck_sizer2_a} = Wx::CheckBox->new($self, -1, "", wxDefau
+ltPosition, wxDefaultSize, );
$self->{bank1_sizer2_combo1}->SetMinSize(Wx::Size->new(30, 21));
$self->{bank1_sizer2_combo1}->SetSelection(-1);
$self->{grid_sizer_1} = Wx::GridSizer->new(49, 3, 0, 0);
$self->{bank1_sizer2} = Wx::BoxSizer->new(wxHORIZONTAL);
$self->{bank2_sizer2} = Wx::BoxSizer->new(wxHORIZONTAL);
$self->{bank3__ck_sizer2} = Wx::BoxSizer->new(wxHORIZONTAL);
$self->{grid_sizer_1}->Add($self->{bank1_sizer2}, 1, wxEXPAND, 0);
$self->{grid_sizer_1}->Add($self->{bank2_sizer2}, 1, wxEXPAND, 0);