Grubumuza Python performansını artırmak için Cython'un erdemlerini göstermeye çalışıyorum. Sadece bu hıza ulaşmak için birkaç kriter gösterdim:Dizeleri Cython'da Optimize Etme
- Mevcut Python kodunu derlemek.
- Statik tip değişkenlere cdef kullanarak, özellikle iç döngülerde.
Bununla birlikte, kodlarımızın çoğunda dize manipülasyonu vardır ve Python dizeleri yazarak kodun en iyi duruma getirilmesiyle ilgili iyi örnekler veremedim.
denedim bir örnek:
cdef str a
cdef int i,j
for j in range(1000000):
a = str([chr(i) for i in range(127)])
ama yazarak 'a' bir dize aslında kod çalıştırmak yavaşlatır olarak. 'Unicode ve geçen dizeler' ile ilgili belgeleri okudum, ancak gösterdiğim durumda bunun nasıl uygulanacağı konusunda kafam karıştı. Unicode kullanmıyoruz - her şey saf ASCII. Python 2.7.2'yi kullanıyoruz. Herhangi bir öneriyi takdir ediyoruz.
Bu Python 2 mi? Eğer öyleyse, neden 'range' kullanıyorsunuz? –
Yani, xrange kullan? –
Gerçekten, kodun son satırı için kastettiğim şey: '' .join ([i (i) için menzil (127)]) –