alexandru-dinu / obsidian-sortable

Table sorting plugin for https://obsidian.md
MIT License
233 stars 7 forks source link

Test with multiple large tables #15

Closed alexandru-dinu closed 2 years ago

alexandru-dinu commented 3 years ago
# gen.py
import sys
import pandas as pd
import numpy as np
import random, string

n = 2 ** 5
m = 18

df = pd.DataFrame(np.random.rand(n, m))
df.iloc[:, 0] = [
    "".join(random.sample(string.ascii_lowercase, 6)) for _ in range(n)
]
df.to_markdown(sys.argv[1])

Findings

Table size Delay until sorted
2^10 x 2 instant
2^10 x 5 ~ 250ms
2^10 x 9 ~ 500ms
2^12 x 2 ~ 1s
2^12 x 5 ~ 2s
2^12 x 9 ~ 2.5s
2^14 x 2 ~ 8.5s
2^14 x 5 ~ 13s
2^14 x 9 ~ 18s
16 x 2^14 ~ 6s

Conclusions