Schrift
[thread]5168[/thread]

Perl v5.8.8 frißt Performance: Tk mit system call

Leser: 1


<< >> 5 Einträge, 1 Seite
sesth
 2006-03-24 22:42
#45301 #45301
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Hallo,

seit dem Upgrade auf ActiveState Perl v5.8.8 laufen einige meiner Perl Tk Skripte unter Windows nicht mehr. Mit Perl v5.8.7 trat das Problem nicht auf. Hier ein kleines Beispiel:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use Tk;
use strict;

sub doHello()
{
    system('dir');
}

my $top = new MainWindow;

my $button = $top->Button(-text => 'Hello World', -command => \&doHello);

$button->pack();

MainLoop;

Nach Clicken von "Hello World" verbraucht der Perl-Prozeß 100% CPU Leistung und die Ausgabe des system-Befehle kommt ziemlich langsam. Auf ein return der Unterprogramms habe ich nie gewartet, da es mir zu lange dauert. Mit der Vorgängerversion von Perl trat das Problem nicht auf. Ich bin deshalb auf die alte Version zurückgegangen.

Hat jemand einen Tipp für mich, wie ich das mit Perl v5.8.8 unter Windows trotzdem zum Laufen bekomme? Die mangelnden Threadfähigkeiten von Tk sind ja dokumentiert - wurde da etwas geändert?
Gruß
Thomas
esskar
 2006-03-25 04:49
#45302 #45302
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
eine gerade minor version ist immer beta.
renee
 2006-03-25 12:52
#45303 #45303
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@esskar: Wie kommst Du da drauf?? Perl 5.8.8 ist ein stable release. Es gilt, dass die ungeraden Sub-Versionen für Developer ist. So ist 5.9.x der Weg für 5.10.x ...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
esskar
 2006-03-25 13:05
#45304 #45304
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ach mist. ich verwechsel das immer.
sesth
 2006-03-30 11:05
#45305 #45305
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Problem ist gelöst. Ich hatte Perl v5.8.8 Build 816 verwendet. Der ist nicht alt geworden. Heute morgen hatte ich eine Mail von Active State:
Quote
ActiveState has released ActivePerl 5.8.8.817 today. It fixes a number of serious issues that have been found in the 816 release:

* Restored binary compatibility to previous releases.
* Fixed several bugs on Windows related to GUI applications and
signal handling. These bugs were introduced in build 816.
* Updated threads and threads::shared modules to fix resource leaks

Mit Build 817 ist alles ok. Ich kann also nur vor Build 816 warnen.
Gruß
Thomas
<< >> 5 Einträge, 1 Seite



View all threads created 2006-03-24 22:42.