假設我有兩個包定義(兩者都是perl類和對象)Perl:長包名稱會影響解析性能嗎?
package FooRecord;
和
package FooBarHelloWorldRecord;
。 當上述類的實例訪問其方法時,是否會有性能差異? 我建議「長包名稱」會導致性能差異,因爲perl在方法解析過程中對字符串進行比較。
my $fooRecord = new FooRecord();
$fooRecord->getFooData();
my $fooWorldRecord = new FooBarHelloWorldRecord();
$fooWorldRecord->getWorldData();
由於將在上述方法調用,第一個(由於較短的名稱)將表現出比第二包名稱的方法調用更好的性能名稱解析。
猜測:perl是否不保留包名稱的哈希值並與它們進行比較(內部)?
如果長包名是你最糟糕的性能問題,你沒有性能問題。 – cjm