首页 > 解决方案 > Cython - 是什么让我的程序变慢以及如何加快速度?

问题描述

我正在尝试加快我的 cython 程序,但我添加的所有内容都出现错误。有谁知道我能做什么?

这是代码:

cpdef char breaker(str a): 
       cdef list strings = list("abcčćdđefghijklmnoprsštuvzžqwxy1234567890ABCČĆDĐEFGHIJKLMNOPRSŠTUVZŽQWXY")
       cdef int i
       cdef int b = 0
       cdef str string1, string2, string3, string4, string5, string6, string7, string8
       cdef str password
       for i in range(len(strings)):
              string1 = strings[i]
              for i in range(len(strings)):
                     string2 = strings[i]
                     for i in range(len(strings)):
                            string3 = strings[i]
                            for i in range(len(strings)):
                                   string4 = strings[i]
                                   for i in range(len(strings)):
                                          string5 = strings[i]
                                          for i in range(len(strings)):
                                                 string6 = strings[i]
                                                 for i in range(len(strings)):
                                                        string7 = strings[i]
                                                        for i in range(len(strings)):
                                                               string8 = strings[i]
                                                               output = string1 + string2 +string3 + string4 + string5 + string6 + string7 + string8
                                                               if a == output:
                                                                      password = output
                                                                      quit()

                                                               if b >= 100000:
                                                                      b = 0
                                                                      print(output)

                                                               else:
                                                                      b += 1


       return password

print(output)不是必需的线路,请让我知道这是否会减慢程序的速度。这是 html 文件的图像,显​​示了程序的哪些部分较慢(黄线)和哪些部分较快(白线):

https://i.stack.imgur.com/dLn88.png

我是 cython 的新手,这个程序只是测试未来更大的项目。感谢高级!

标签: pythoncython

解决方案


你是暴力破解 72^8 = 722204136308736 密码组合。它注定要花点时间。

(另外请不要对所有嵌套循环使用相同的迭代器“i”)


推荐阅读