Προς το περιεχόμενο

The need for speed: An introduction to Cython


Προτεινόμενες αναρτήσεις

Δημοσ.

Πολύ καλή παρουσίαση και ενδιαφέρον μιας και έψανχα οδηγούς για cython.

Βλέπω πολλούς να παραπονιούνται οτι η python είναι αργή.

Το ερώτημα είναι έχει πολύ σημασία στις μέρες μας;

Υπάρχει μεγάλη εξέλιξη  στο hardware που ίσως να μην έχει και τόσο σημασία.Πιστεύω οτί ο καθαρός κώδικας και η όμορφη σύνταξη έχουν μεγαλύτερη αξία από την ταχύτητα.

Keep up the good work!

 
  • Like 1
Δημοσ.

 

Πολύ καλή παρουσίαση και ενδιαφέρον μιας και έψανχα οδηγούς για cython.

Βλέπω πολλούς να παραπονιούνται οτι η python είναι αργή.

Το ερώτημα είναι έχει πολύ σημασία στις μέρες μας;

Υπάρχει μεγάλη εξέλιξη  στο hardware που ίσως να μην έχει και τόσο σημασία.Πιστεύω οτί ο καθαρός κώδικας και η όμορφη σύνταξη έχουν μεγαλύτερη αξία από την ταχύτητα.

Keep up the good work!

 

 

 

Thanks! Όσον αφορά την ταχύτητα/σύνταξη έτερον εκάτερον (δηλαδή η λογική με τη Cython είναι ότι μπορείς να τα έχεις κ τα δύο και γενικά δεν αποκλείει απαραίτητα το ένα το άλλο). Αλλά έτσι και αλλιώς αν δεις η πρώτη διαφάνεια έχει τίτλο Do you need the speed? δηλαδή και εγώ είμαι αντίθετος στο premature optimization και συνιστώ Cython για να κάνεις optimize συγκεκριμένα κομμάτια κώδικα και μόνο όταν έχεις bottlenecks.

Επίσης το φανταστικό με τη Cython είναι ότι μπορείς να κάνεις mix Python με C data structures.

def cy_primes(int kmax):
    """Calculation of prime numbers in Cython."""
    cdef int n, k, i
    cdef int p[1000]
    result = []
    if kmax > 1000:
        kmax = 10000
    k = 0
    n = 2
    while k < kmax:
        i = 0
        while i < k and n % p[i] != 0:
            i = i + 1
        if i == k:
            p[k] = n
            k = k + 1
            result.append(n)
        n = n + 1
    return result

Στον παραπάνω κώδικα για παράδειγμα to n, k, i, kmax είναι C ints, το p είναι C int array αλλά το result είναι Python list  B) .

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...