Exemple #1
0
    def test_insert(self):
        """
            Test inserting new items
        """

        dlist = DiskList()
        dlist.append('0')
        dlist.append('1')
        dlist.append('2')
        dlist.append('3')

        dlist.insert(1, '10')

        self.assertTrue(len(dlist) == 5 and dlist[1] == '10')
Exemple #2
0
def main():
    """
        Compare disklists and lists
    """

    # Instantiation
    print('|---------- Instanciation ----------|')
    # List
    start = timer()
    for _ in range(0, 1000):
        l = []
    end = timer()
    print('List: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    start = timer()
    for _ in range(0, 1000):
        dl = DiskList()
    end = timer()
    print('DiskList: {:.10f} sec'.format((end - start) / 1000))

    # Instantiation with big object
    print('|---------- Instanciation with big object ----------|')
    # List
    start = timer()
    for _ in range(0, 1000):
        lbo = []
    end = timer()
    print('List: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    start = timer()
    for _ in range(0, 1000):
        dlbo = DiskList()
    end = timer()
    print('DiskList: {:.10f} sec'.format((end - start) / 1000))

    # Append
    print('|---------- Appending ----------|')
    # List
    start = timer()
    for i in range(0, 1000):
        l.append(i)
    end = timer()
    print('List: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    start = timer()
    for i in range(0, 1000):
        dl.append(i)
    end = timer()
    print('DiskList: {:.10f} sec'.format((end - start) / 1000))

    # Append big object
    print('|---------- Appending big object ----------|')
    # List
    big_obj = ["test" for _ in range(0, 1000)]
    start = timer()
    for i in range(0, 1000):
        lbo.append(big_obj)
    end = timer()
    print('List: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    start = timer()
    for i in range(0, 1000):
        dlbo.append(big_obj)
    end = timer()
    print('DiskList: {:.10f} sec'.format((end - start) / 1000))

    # Inserting
    print('|---------- Inserting ----------|')
    # List
    start = timer()
    for i in range(0, 1000):
        l.insert(i, i)
    end = timer()
    print('List: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    start = timer()
    for i in range(0, 1000):
        dl.insert(i, i)
    end = timer()
    print('DiskList: {:.10f} sec'.format((end - start) / 1000))

    # Inserting big object
    print('|---------- Inserting big object ----------|')
    # List
    big_obj = ["test" for _ in range(0, 1000)]
    start = timer()
    for i in range(0, 1000):
        lbo.insert(i, big_obj)
    end = timer()
    print('List: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    start = timer()
    for i in range(0, 1000):
        dlbo.insert(i, big_obj)
    end = timer()
    print('DiskList: {:.10f} sec'.format((end - start) / 1000))

    # Getting with index
    print('|------ Getting with index ------|')
    # List
    start = timer()
    for i in range(0, 1000):
        l[i]
    end = timer()
    print('List: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    start = timer()
    for _ in range(0, 1000):
        dl[i]
    end = timer()
    print('DiskList: {:.10f} sec'.format((end - start) / 1000))

    # Setting with index
    print('|------ Setting with index ------|')
    # List
    start = timer()
    for i in range(0, 1000):
        l[i] = i
    end = timer()
    print('List: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    start = timer()
    for _ in range(0, 1000):
        dl[i] = i
    end = timer()
    print('DiskList: {:.10f} sec'.format((end - start) / 1000))

    # Iterating
    print('|---------- Iterating ----------|')
    # List
    start = timer()
    for i in range(0, 1000):
        for item in l:
            continue
    end = timer()
    print('List: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    start = timer()
    for _ in range(0, 1000):
        for item in dl:
            continue
    end = timer()
    print('DiskList without cache: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    dl = DiskList(cache_size=256)  # 256 items
    for i in range(0, 1000):
        dl.append(i)
    start = timer()
    for _ in range(0, 1000):
        for item in dl:
            continue
    end = timer()
    print('DiskList with cache: {:.10f} sec'.format((end - start) / 1000))

    # Iterating with big object
    print('|---------- Iterating with big object ----------|')
    # List
    start = timer()
    for i in range(0, 1000):
        for item in lbo:
            continue
    end = timer()
    print('List: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    start = timer()
    for _ in range(0, 1000):
        for item in dlbo:
            continue
    end = timer()
    print('DiskList without cache: {:.10f} sec'.format((end - start) / 1000))
    # DiskList
    dlbo = DiskList(cache_size=256)  # 256 items
    big_obj = ["test" for _ in range(0, 1000)]
    for i in range(0, 1000):
        dlbo.append(big_obj)
    start = timer()
    for _ in range(0, 1000):
        for item in dlbo:
            continue
    end = timer()
    print('DiskList with cache: {:.10f} sec'.format((end - start) / 1000))