Skip to content

Instantly share code, notes, and snippets.

@renankof
Last active January 23, 2019 12:51
Show Gist options
  • Select an option

  • Save renankof/cfcf47ec716cf03b609f6885327860d7 to your computer and use it in GitHub Desktop.

Select an option

Save renankof/cfcf47ec716cf03b609f6885327860d7 to your computer and use it in GitHub Desktop.

Revisions

  1. renankof revised this gist Jan 15, 2019. 1 changed file with 9 additions and 10 deletions.
    19 changes: 9 additions & 10 deletions teste_intersection.py
    Original file line number Diff line number Diff line change
    @@ -18,53 +18,52 @@ def teste():
    result[x] = my_list[x]

    end = time.time()

    t1 = end - start
    my_list2_set = set(my_list2)


    # set com intersection
    start = time.time()
    result = {}
    my_list_set = set(my_list)
    my_list2_set = set(my_list2)

    # set com intersection
    inter = my_list_set.intersection(my_list2_set)
    for x in inter:
    result[x] = my_list[x]

    end = time.time()
    t2 = end - start

    # set direto
    start = time.time()
    result = {}
    my_list_set = set(my_list)

    # set direto
    my_list2_set = set(my_list2)
    for x in my_list_set:
    if x in my_list2_set:
    result[x] = my_list[x]

    end = time.time()
    t3 = end - start

    # tupla
    start = time.time()
    result = {}
    my_list_set = set(my_list)

    # tupla
    my_list2_tuple = tuple(my_list2)

    for x in my_list_set:
    if x in my_list2_tuple:
    result[x] = my_list[x]

    end = time.time()
    t4 = end - start

    # lista
    start = time.time()
    result = {}
    my_list_set = set(my_list)

    # lista
    my_list2_list = list(my_list2)

    for x in my_list_set:
    if x in my_list2_list:
    result[x] = my_list[x]
  2. renankof renamed this gist Jan 15, 2019. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  3. renankof revised this gist Jan 15, 2019. 1 changed file with 17 additions and 8 deletions.
    25 changes: 17 additions & 8 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,5 @@
    #!/usr/bin/python3

    import random
    import time

    @@ -9,6 +11,8 @@ my_list2 = {random.randint(0, 2000): random.randint(0, 255) for i in range(row_c
    def teste():
    start = time.time()
    result = {}

    # dict
    for x in my_list:
    if x in my_list2:
    result[x] = my_list[x]
    @@ -22,6 +26,7 @@ def teste():
    result = {}
    my_list_set = set(my_list)

    # set com intersection
    inter = my_list_set.intersection(my_list2_set)
    for x in inter:
    result[x] = my_list[x]
    @@ -32,7 +37,8 @@ def teste():
    start = time.time()
    result = {}
    my_list_set = set(my_list)


    # set direto
    for x in my_list_set:
    if x in my_list2_set:
    result[x] = my_list[x]
    @@ -44,6 +50,7 @@ def teste():
    result = {}
    my_list_set = set(my_list)

    # tupla
    my_list2_tuple = tuple(my_list2)
    for x in my_list_set:
    if x in my_list2_tuple:
    @@ -52,11 +59,11 @@ def teste():
    end = time.time()
    t4 = end - start


    start = time.time()
    result = {}
    my_list_set = set(my_list)

    # lista
    my_list2_list = list(my_list2)
    for x in my_list_set:
    if x in my_list2_list:
    @@ -73,16 +80,18 @@ t3 = 0
    t4 = 0
    t5 = 0

    for x in range(0,1000):
    n_tests = 1000

    for x in range(0, n_tests):
    aux1, aux2, aux3, aux4, aux5 = teste()
    t1 += aux1
    t2 += aux2
    t3 += aux3
    t4 += aux4
    t5 += aux5

    print("Media de tempo For normal DICT: %s " % (t1/1000))
    print("Media de tempo SET: %s " % (t2/1000))
    print("Media de tempo SET IF: %s " % (t3/1000))
    print("Media de tempo TUPLE: %s " % (t4/1000))
    print("Media de tempo LIST: %s " % (t5/1000))
    print("Media de tempo For normal DICT: %s " % (t1/n_tests))
    print("Media de tempo SET: %s " % (t2/n_tests))
    print("Media de tempo SET IF: %s " % (t3/n_tests))
    print("Media de tempo TUPLE: %s " % (t4/n_tests))
    print("Media de tempo LIST: %s " % (t5/n_tests))
  4. renankof created this gist Jan 15, 2019.
    88 changes: 88 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,88 @@
    import random
    import time

    row_count = 10000000

    my_list = {random.randint(0, 2000): random.randint(0, 255) for i in range(row_count)}
    my_list2 = {random.randint(0, 2000): random.randint(0, 255) for i in range(row_count)}

    def teste():
    start = time.time()
    result = {}
    for x in my_list:
    if x in my_list2:
    result[x] = my_list[x]

    end = time.time()

    t1 = end - start
    my_list2_set = set(my_list2)

    start = time.time()
    result = {}
    my_list_set = set(my_list)

    inter = my_list_set.intersection(my_list2_set)
    for x in inter:
    result[x] = my_list[x]

    end = time.time()
    t2 = end - start

    start = time.time()
    result = {}
    my_list_set = set(my_list)

    for x in my_list_set:
    if x in my_list2_set:
    result[x] = my_list[x]

    end = time.time()
    t3 = end - start

    start = time.time()
    result = {}
    my_list_set = set(my_list)

    my_list2_tuple = tuple(my_list2)
    for x in my_list_set:
    if x in my_list2_tuple:
    result[x] = my_list[x]

    end = time.time()
    t4 = end - start


    start = time.time()
    result = {}
    my_list_set = set(my_list)

    my_list2_list = list(my_list2)
    for x in my_list_set:
    if x in my_list2_list:
    result[x] = my_list[x]

    end = time.time()
    t5 = end - start

    return t1, t2, t3, t4, t5

    t1 = 0
    t2 = 0
    t3 = 0
    t4 = 0
    t5 = 0

    for x in range(0,1000):
    aux1, aux2, aux3, aux4, aux5 = teste()
    t1 += aux1
    t2 += aux2
    t3 += aux3
    t4 += aux4
    t5 += aux5

    print("Media de tempo For normal DICT: %s " % (t1/1000))
    print("Media de tempo SET: %s " % (t2/1000))
    print("Media de tempo SET IF: %s " % (t3/1000))
    print("Media de tempo TUPLE: %s " % (t4/1000))
    print("Media de tempo LIST: %s " % (t5/1000))