cpython
Dlaczego Kod Pythona działa szybciej w funkcji?
def main():
for i in xrange(10**8):
pass
main()
Ten fragment kodu w Pythonie działa w (Uwaga: czas jest wykonyw ... pass
Potem działa przez znacznie dłuższy czas:
real 0m4.543s
user 0m4.524s
sys 0m0.012s
Dlaczego tak jest?
Python vs Cpython
Co to za zamieszanie o Pythonie i Cpythonie (Jython,IronPython) , nie rozumiem:
Python.org wspomina, że CPython jest:
... on i czym się różni w porównaniu z Pythonem i czy powinienem używać Cpythona nad Pythonem, a jeśli tak, jakie są jego zalety?
Dlaczego niektóre porównania float
Porównując pływaki do liczb całkowitych, niektóre pary wartości wymagają znacznie więcej czasu niż inne wartości o podobnej w ... dków użycia. Jestem po prostu ciekawy, dlaczego Python wydaje się bardziej walczyć z niektórymi parami wartości niż z innymi.
Dlaczego iteracja nad małym ciągiem jest wolniejsza niż mała lista?
Bawiłem się timeit i zauważyłem, że proste zrozumienie listy przez mały ciąg zajmuje więcej czasu niż wykonanie tej samej ope ... 8
>>> timeit("[x for x in ['a', 'b', 'c']]")
1.5286479570345861
Co się dzieje na niższym poziomie, co to powoduje?
Jak zaimplementowana jest funkcja set ()?
Widziałem, jak ludzie mówią, że set obiekty w Pythonie mają o(1) sprawdzanie członkostwa. W jaki sposób są one wdrażane wewnę ... , ale mogę zaakceptować tylko jedną, więc pójdę z najbliższą odpowiedzią na moje pierwotne pytanie. Dzięki wszystkim za info!
Jak dokładnie jest uruchamiany bajtowy Kod Pythona w CPython?
Staram się zrozumieć, jak działa Python (ponieważ używam go cały czas!). Z tego co wiem, kiedy uruchamiasz coś takiego jak py ... przekonwertowany na kod maszynowy? Czy interpreter Pythona jest już w kodzie maszynowym, więc mój skrypt nigdy nie musi być?
Dlaczego (0-6) jest -6 = False? [duplikat]
Możliwy duplikat:Operator Pythona " is " zachowuje się nieoczekiwanie z liczbami całkowitymi
Dzisiaj próbowałem debu ... lt;type 'int'>
>>> type(-6)
<type 'int'>
>>> type((0-6) is -6)
<type 'bool'>
>>>
IronPython vs. Python.NET
Chcę uzyskać dostęp do niektórych zestawów. NET napisanych w C# z kodu Pythona.
Małe badania wykazały, że mam dwa wyjścia: ... Python z wbudowaną obsługą interfejsu. NET
Python z Python. NET pakiet
Jakie są kompromisy między obydwoma rozwiązaniami?
Dlaczego tuple (set ([1,"a","b","c","z","f"])) == tuple (set (["a","b","c","z","f",1])) 85% czasu z włączoną randomizacją skrótu?
Biorąc pod uwagę Zero odpowiedzi Pireusa na inne pytanie , Mamy To
x = tuple(set([1, "a", "b", "c", "z", "f"]))
y = tuple(set(["a", "b", "c", "z", "f", 1]))
print(x == y)
Drukuje True około 85% czasu z włączoną randomizacją skrótu . Dlaczego 85%?
list() wykorzystuje więcej pamięci niż zrozumienie listy
Więc bawiłem się list obiektami i znalazłem małą dziwną rzecz, że jeśli list jest tworzony z list() to zużywa więcej pamięci, ... ;> import sys
>>> sys.getsizeof(list(xrange(100)))
1016
>>> sys.getsizeof([i for i in xrange(100)])
920
Co powoduje, że [*a] nadmierny przydział?
Najwyraźniej list(a) nie nadalokuje, [x for x in a] nadalokuje w niektórych punktach, a [*a] nadalokuje cały czas?
Tutaj ... ódłowy?
(Colab z danymi i kodem , które tworzyły obrazy.)
Powiększenie do mniejszego n:
Powiększenie do większego n:
Dlaczego kod używając zmiennych pośrednich jest szybszy niż kod bez?
Spotkałam się z tym dziwnym zachowaniem i nie udało mi się tego wyjaśnić. Są to benchmarki:
py -3 -m timeit "tuple(range(20 ... Pythona z pętlami timeit.timeit() @ 10000 dało odpowiednio 0.703 i 0.804. Nadal pokazuje, choć w mniejszym stopniu. (~12.5%)
list() wykorzystuje nieco więcej pamięci niż zrozumienie listy
Więc bawiłem się list obiektami i znalazłem małą dziwną rzecz, że jeśli list jest tworzony z list() to zużywa więcej pamięci, ... ;> import sys
>>> sys.getsizeof(list(xrange(100)))
1016
>>> sys.getsizeof([i for i in xrange(100)])
920
Wydrukować na standardowej drukarce z Pythona?
Czy istnieje dość standardowy i wieloplatformowy sposób drukowania tekstu (lub nawet PS/PDF) na drukarce zdefiniowanej w systemie?
Zakładając CPython tutaj, nie jest to coś sprytnego, jak użycie Jython i Java printing API .
Jak wczytać C# dll w Pythonie?
Jak mogę załadować C# dll w Pythonie?
Czy muszę dodawać jakiś dodatkowy kod do plików c#? (jak eksport w plikach c++)
Nie chcę używać IronPython. Chcę zaimportować moduł do Pythona!
Python string' in ' algorytm implementacji operatora i złożoność czasu
Myślę o tym, jak Operator in zaimplementuje, na przykład
>>> s1 = 'abcdef'
>>> s2 = 'bcd'
>>> s2 ... o implementacji dopasowania łańcuchów i jaka jest złożoność czasowa? Czy jest jakiś oficjalny dokument lub wiki na ten temat?
Alokacja pamięci CPython
Jest to post inspirowany komentarzem o tym, jak pamięć jest przydzielana obiektom w Cpythonie. Początkowo było to w kontekśc ... ć powiązane. Mimo to, chętnie podzielę to na kilka postów, jeśli tak jest (proszę dać mi znać, aby to zrobić w komentarzach)
Dlaczego Python 3 jest znacznie wolniejszy od Pythona 2? [duplikat]
To pytanie ma już odpowiedź tutaj:
czy jest powód, dla którego Python 3 wylicza się wolniej niż Python ... nawiam się, jaka zmiana z 2.7 NA 3.4 jest naprawdę przyczyną tej ogromnej zmiany w czas wykonania w podanym fragmencie kodu.
deque.popleft () i list.pop(0) Czy jest różnica w wydajności?
deque.popleft() i list.pop(0) wydają się zwracać ten sam wynik. Czy jest między nimi jakakolwiek różnica w wydajności i dlaczego?
Dlaczego rozmiar 2⁶3 to 36 bajtów, ale 2⁶3 - 1 to tylko 24 bajty?
Wszystko w Pythonie jest obiektem. Tak więc Rozmiar int w Pythonie będzie większy niż zwykle.
>>> sys.getsizeof(int ... ała trochę inaczej, ale nie bardziej intuicyjnie. Tutaj skupiłem się na Pythonie 2.7; nie testowałem na poprzednich wersjach.
- 1
- 2