Gibt es Leistungsunterschiede zwischen "von Paketimport *" und "Importpaket"?Leistung zwischen "von Paketimport *" und "Importpaket"
7
A
Antwort
15
Nein, der Unterschied ist keine Frage der Leistung. In beiden Fällen muss das gesamte Modul analysiert werden, und jeder Code auf Modulebene wird ausgeführt. Der einzige Unterschied besteht in Namespaces: In der ersten werden alle Namen im importierten Modul zu Namen im aktuellen Modul; in der zweiten wird nur der Paketname im aktuellen Modul definiert.
Das heißt, es gibt sehr selten einen guten Grund, from foo import *
zu verwenden. Importieren Sie entweder das Modul oder importieren Sie bestimmte Namen daraus.
Verwandte Themen
- 1. Sind diese Aussagen äquivalent ?: Importpaket vs von Paketimport *
- 2. Actionscript 3 Importpaket. * Vs Importpaket.Klasse
- 3. Kein Top-Level-Paketimport
- 4. Hat Clojure ein Äquivalent von Javas Importpaket? *?
- 5. Leistung und Einschränkungsprobleme zwischen update() und batchUpdate() Methoden von NamedParameterJdbcTemplate
- 6. Link zwischen AS3 FPS und Leistung?
- 7. Android-Leistung zwischen Aktivitäten
- 8. Leistung und Sortierung und eindeutige eindeutige zwischen mysql und php
- 9. Vergleich der Leistung von Teilstringoperationen zwischen .NET und Java
- 10. Die Leistung von GestureOverlayView und GestureDetector
- 11. Protovis und JqPlot Leistung
- 12. Leistung von WebGL und OpenGL
- 13. Leistung und Flaschenhals von Zend_Search_Lucene?
- 14. Leistung von .Primitive und .Internal
- 15. Leistung von ReactJS und AnguarJS
- 16. C# Unterschied zwischen Foreach und für (nicht Leistung)
- 17. Unterschied in der Leistung zwischen gruppierten und nicht gruppierten Indizes
- 18. Bewegungsrichtung und Leistung
- 19. Leistung zwischen SELECT MAX (col_name) und ROWNUM = 1
- 20. Unterschied in der Leistung zwischen Karte und unordered_map in C++
- 21. Vergleichen Sie die Leistung zwischen Ext.data.JsonReader und Ext.data.ArrayReader
- 22. Unterschied zwischen Ansichten und Tabellen in der Leistung
- 23. Branch Vorhersage und Leistung
- 24. Hibernate- und JDBC-Leistung?
- 25. Rohtypen und Leistung
- 26. Leistung asp.net und cookie
- 27. Symfony2 Ladezeit und Leistung
- 28. Firebug und Selenium: Leistung
- 29. Leistung von fwrite und schreiben Größe
- 30. Leistung von Zeilen- und Spaltenoperationen in NumPy
ja, danke für deine Antwort. Ich denke, es gibt auch einige Gründe, "vom Paketimport *" zu verwenden, wenn der Paketname geändert werden kann. oder es gibt ein anderes Paket mit den gleichen Funktionen wird das Original ersetzen, da die Änderung der Anforderung. – Zuckonit
Der Leistungsunterschied kann sich bei allen Attribut-Lookups 'package.foo' akkumulieren, wenn Sie' package' tatsächlich verwenden. Wenn dies jedoch ein Problem ist, importieren Sie bestimmte Namen oder Cache-Namen in Locals. –
Wenn ein Paket seinen Namen ändert, können Sie einfach newname als oldname importieren. Wenn die Gefahr besteht, Pakete häufig zu wechseln, importieren Sie das Paket sofort als InterfaceName. –