OK I have done the installation steps, how I actually run your program/code in Anaconda with numba?
Look in the (google) manual on numba jit. jit does not speed up every "own" random in python.
acceleration example from google.
from numba import jit
import numpy
import time
#from bit import *
#import secrets
#from bitcoin import *
start_time = time.time()
@jit
def inner_func(a_list, b_list):
sum = 0
j = 0
for y in range(0, 16):
for x in range(0, 16):
p = a_list[j] - b_list[j]
sum += p * p
j += 1
return sum
@jit
def outer_func(a_list, b_list):
sum = 0
for g in range(0, 100000000): # 100 000 000 == 10^8 !!!
sum += inner_func(a_list, b_list)
return sum
def main():
maxint = numpy.iinfo(numpy.intc).max
a_list = numpy.random.randint(maxint, size=256)
b_list = numpy.random.randint(maxint, size=256)
sum = outer_func(a_list, b_list)
print(sum)
if __name__ == '__main__':
main()
print("--- %s seconds ---" % (time.time() - start_time))
100 000 000 for a 30 second well cpu is not bad, but that's until we started converting the numbers into bitcoin addresses (((
example with the fastest Bitcoin library "bit" without it, the cycle 1000000 takes ~0.4 sec. with her (remove #) ~123,3! sec o_O
import time
from bit import *
from numba import jit
import random
@jit
def ran():
a = random.randint(50028797018963968,66057594037927936)
return a
start_time = time.time()
i = 1000000
while i >= 1:
#ran()
#k=Key()
#k.address
i = i -1
print("--- %s seconds ---" % (time.time() - start_time))
example with a random access passage from "01111111111111111111111111111111111111111111111111111111" to "00000000000000000000000000000000000000000000000000000001" each shuffle 1000 times
import random
from bit import *
from PyRandLib import *
rand = FastRand63()
random.seed(rand())
c1 = str (random.choice("1"))
b1 = "01111111111111111111111111111111111111111111111111111111"
b2 = "00111111111111111111111111111111111111111111111111111111"
b3 = "00011111111111111111111111111111111111111111111111111111"
b4 = "00001111111111111111111111111111111111111111111111111111"
b5 = "00000111111111111111111111111111111111111111111111111111"
b6 = "00000011111111111111111111111111111111111111111111111111"
b7 = "00000001111111111111111111111111111111111111111111111111"
b8 = "00000000111111111111111111111111111111111111111111111111"
b9 = "00000000011111111111111111111111111111111111111111111111"
b10 = "00000000001111111111111111111111111111111111111111111111"
b11 = "00000000000111111111111111111111111111111111111111111111"
b12 = "00000000000011111111111111111111111111111111111111111111"
b13 = "00000000000001111111111111111111111111111111111111111111"
b14 = "00000000000000111111111111111111111111111111111111111111"
b15 = "00000000000000011111111111111111111111111111111111111111"
b16 = "00000000000000001111111111111111111111111111111111111111"
b17 = "00000000000000000111111111111111111111111111111111111111"
b18 = "00000000000000000011111111111111111111111111111111111111"
b19 = "00000000000000000001111111111111111111111111111111111111"
b20 = "00000000000000000000111111111111111111111111111111111111"
b21 = "00000000000000000000011111111111111111111111111111111111"
b22 = "00000000000000000000001111111111111111111111111111111111"
b23 = "00000000000000000000000111111111111111111111111111111111"
b24 = "00000000000000000000000011111111111111111111111111111111"
b25 = "00000000000000000000000001111111111111111111111111111111"
b26 = "00000000000000000000000000111111111111111111111111111111"
b27 = "00000000000000000000000000011111111111111111111111111111"
b28 = "00000000000000000000000000001111111111111111111111111111"
b29 = "00000000000000000000000000000111111111111111111111111111"
b30 = "00000000000000000000000000000011111111111111111111111111"
b31 = "00000000000000000000000000000001111111111111111111111111"
b32 = "00000000000000000000000000000000111111111111111111111111"
b33 = "00000000000000000000000000000000011111111111111111111111"
b34 = "00000000000000000000000000000000001111111111111111111111"
b35 = "00000000000000000000000000000000000111111111111111111111"
b36 = "00000000000000000000000000000000000011111111111111111111"
b37 = "00000000000000000000000000000000000001111111111111111111"
b38 = "00000000000000000000000000000000000000111111111111111111"
b39 = "00000000000000000000000000000000000000011111111111111111"
b40 = "00000000000000000000000000000000000000001111111111111111"
b41 = "00000000000000000000000000000000000000000111111111111111"
b42 = "00000000000000000000000000000000000000000011111111111111"
b43 = "00000000000000000000000000000000000000000001111111111111"
b44 = "00000000000000000000000000000000000000000000111111111111"
b45 = "00000000000000000000000000000000000000000000011111111111"
b46 = "00000000000000000000000000000000000000000000001111111111"
b47 = "00000000000000000000000000000000000000000000000111111111"
b48 = "00000000000000000000000000000000000000000000000011111111"
b49 = "00000000000000000000000000000000000000000000000001111111"
b50 = "00000000000000000000000000000000000000000000000000111111"
b51 = "00000000000000000000000000000000000000000000000000011111"
b52 = "00000000000000000000000000000000000000000000000000001111"
b53 = "00000000000000000000000000000000000000000000000000000111"
b54 = "00000000000000000000000000000000000000000000000000000011"
b55 = "00000000000000000000000000000000000000000000000000000001"
#xx = "00000000000000000000000000000000000000000000000000000001"
while True:
spisok = [b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b18,b19,b20,b21,b22,b23,b24,b25,b26,b27,b28,b30,b31,b32,b33,b34,b35,b36,b37,b38,b39,b40,b41,b42,b43,b44,b45,b46,b47,b48,b49,b50,b51,b52,b53,b54,b55]
for element in (spisok):
for spisok in range(1000):
s = element
d = ''.join(random.sample(s,len(s)))
bina = (c1+d)
b = int(c1+d,2)
key = Key.from_int(b)
addr = key.address
if addr == "15c9mPGLku1HuW9LRtBf4jcHVpBUt8txKz":
print ("found!!!",b,addr)
s1 = str(b)
s2 = addr
f=open(u"C:/a.txt","a")
f.write(s1)
f.write(s2)
f.close()
pass
else:
print (s,bina,b,addr)
pass
"print" slows down speed so you can not use it (#bina = (c1+d),pass #print (s,bina,b,addr)) and shorten the "spisok" but use @jit here useless bottle neck "bitcoin lib".