我剛剛閱讀了Gabor Szabo的文章this,他指出Devel :: Size報告說簡單的sub {}
據報道需要8,516字節的空間。這個報告的大小是否正確?如果是這樣,爲什麼Perl需要爲單個空子例程分配這麼多空間?Devel ::尺寸報告的尺寸
3
A
回答
5
$ perl -MDevel::Size=total_size -E'
my $s = "x" x 100_000;
my $x = \$s;
my $y = \$s;
say total_size($x);
say total_size($y);
'
100048
100048
這是否意味着的$x
和$y
組合大小爲200KB?不是。
它不是sub的大小,而是引用的大小,以及它直接或間接引用的所有內容。
$ perl -MDevel::Size=total_size -E'
sub f { } say total_size(\&f);
${"xxx"}=1; say total_size(\&f);
${"yyy"}=1; say total_size(\&f);
'
5847
5908
5969
正如你所看到的,這不僅僅是測量子。似乎有一個指向子命名空間的指針。
3
Devel :: Size在測量像子程序這樣的複雜項目的大小時,沒有容易理解的規則。
Devel::SizeMe是Devel :: Size的實驗性叉,它使用引用計數來決定包含什麼,所以結果更容易理解。它還包括可視化數據內部結構的方法。
您可以找到Devel :: SizeMe的更多信息,包括幻燈片和截屏視頻的鏈接,here。
相關問題
- 1. 尺寸表報告
- 2. CVMat尺寸/尺寸/形狀
- 3. NSImageView尺寸vs NSImage尺寸
- 4. 計算尺寸/尺寸
- 5. 查看的報告尺寸調換了
- 6. 在jasper報告上增加JFreeChart尺寸
- 7. 調整大小報告尺寸
- 8. QuickReport綜合報告預覽尺寸
- 9. Magento產品尺寸的尺寸單位
- 10. 尺寸圖像的尺寸1600 * 1200
- 11. 尺寸
- 12. Android廣告尺寸問題
- 13. 尺寸類別和UITableViewCell/UICollectionViewCell尺寸
- 14. Silverlight 3:尺寸模型/ 100%尺寸
- 15. 如何用wkhtmltopdf處理尺寸/尺寸?
- 16. 尺寸圖像以適合WebView尺寸
- 17. 全尺寸Silverlight應用尺寸
- 18. PDF尺寸對實際內容尺寸
- 19. 屏幕尺寸到圖像尺寸
- 20. ID3D11ShaderResourceView的尺寸
- 21. 繪製尺寸英寸
- 22. 不等尺寸
- 23. 圖像尺寸,
- 24. Matlab rgb2hsv尺寸
- 25. 最大尺寸
- 26. Glusterfs磚尺寸
- 27. 屏幕尺寸
- 28. 視窗尺寸
- 29. 尺寸/ OpenCV中
- 30. 全尺寸AmCharts
考慮到這一點,我傾向於不相信「Devel :: Size」所說的關於比普通數據結構更復雜的任何東西的大小。 (即使是那些我也會小心。) – duskwuff