Created
June 1, 2018 17:01
-
-
Save haltcase/8884d5bb845c782e71fd5fa72783afa7 to your computer and use it in GitHub Desktop.
glob perf test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os, ospaths, future, times | |
import src/glob | |
proc touchFile (path: string) = | |
let (head, _) = path.splitPath | |
head.createDir | |
var f = open(path, fmWrite) | |
f.write("") | |
f.close | |
proc createStructure (dir: string, files: seq[string]): () -> void = | |
dir.removeDir | |
dir.createDir | |
for file in files: | |
touchFile(dir / file) | |
result = () => removeDir(dir) | |
let cleanup = createStructure("__opt__", @[ | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "a" / "b" / "c" / "d" / "file1.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "1" / "2" / "3" / "4" / "file1.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "e" / "f" / "g" / "h" / "file1.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "5" / "6" / "7" / "8" / "file1.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "file1.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "file2.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "file3.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "file4.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "file5.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "file6.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "file7.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "file8.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "deeper_er" / "file9.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "file1.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "file2.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "file3.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "file4.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "file5.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "file6.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "file7.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "file8.nim", | |
"deep" / "dir" / "deeper" / "even_deeper" / "file9.nim", | |
"deep" / "dir" / "deeper" / "file1.nim", | |
"deep" / "dir" / "deeper" / "file2.nim", | |
"deep" / "dir" / "deeper" / "file3.nim", | |
"deep" / "dir" / "deeper" / "file4.nim", | |
"deep" / "dir" / "deeper" / "file5.nim", | |
"deep" / "dir" / "deeper" / "file6.nim", | |
"deep" / "dir" / "deeper" / "file7.nim", | |
"deep" / "dir" / "deeper" / "file8.nim", | |
"deep" / "dir" / "deeper" / "file9.nim", | |
"deep" / "dir" / "file1.nim", | |
"deep" / "dir" / "file2.nim", | |
"deep" / "dir" / "file3.nim", | |
"deep" / "dir" / "file4.nim", | |
"deep" / "dir" / "file5.nim", | |
"deep" / "dir" / "file6.nim", | |
"deep" / "dir" / "file7.nim", | |
"deep" / "dir" / "file8.nim", | |
"deep" / "dir" / "file9.nim", | |
"not_as" / "deep1.jpg", | |
"not_as" / "deep2.jpg", | |
"not_as" / "deep3.jpg", | |
"not_as" / "deep4.jpg", | |
"not_as" / "deep5.jpg", | |
"not_as" / "deep6.jpg", | |
"not_as" / "deep7.jpg", | |
"not_as" / "deep8.jpg", | |
"not_as" / "deep1.nim", | |
"not_as" / "deep2.nim", | |
"not_as" / "deep3.nim", | |
"not_as" / "deep4.nim", | |
"not_as" / "deep5.nim", | |
"not_as" / "deep6.nim", | |
"not_as" / "deep7.nim", | |
"not_as" / "deep8.nim", | |
"1" / "file.jpg", | |
"2" / "file.jpg", | |
"3" / "file.jpg", | |
"4" / "file.jpg", | |
"5" / "file.jpg", | |
"6" / "file.jpg", | |
"7" / "file.jpg", | |
"8" / "file.jpg", | |
"9" / "file.jpg", | |
"a" / "1" / "file.jpg", | |
"a" / "2" / "file.jpg", | |
"a" / "3" / "file.jpg", | |
"a" / "4" / "file.jpg", | |
"a" / "5" / "file.jpg", | |
"a" / "6" / "file.jpg", | |
"a" / "7" / "file.jpg", | |
"a" / "8" / "file.jpg", | |
"a" / "9" / "file.jpg", | |
"b" / "1" / "file.jpg", | |
"b" / "2" / "file.jpg", | |
"b" / "3" / "file.jpg", | |
"b" / "4" / "file.jpg", | |
"b" / "5" / "file.jpg", | |
"b" / "6" / "file.jpg", | |
"b" / "7" / "file.jpg", | |
"b" / "8" / "file.jpg", | |
"b" / "9" / "file.jpg", | |
"c" / "1" / "file.jpg", | |
"c" / "2" / "file.jpg", | |
"c" / "3" / "file.jpg", | |
"c" / "4" / "file.jpg", | |
"c" / "5" / "file.jpg", | |
"c" / "6" / "file.jpg", | |
"c" / "7" / "file.jpg", | |
"c" / "8" / "file.jpg", | |
"c" / "9" / "file.jpg", | |
"d" / "1" / "file.jpg", | |
"d" / "2" / "file.jpg", | |
"d" / "3" / "file.jpg", | |
"d" / "4" / "file.jpg", | |
"d" / "5" / "file.jpg", | |
"d" / "6" / "file.jpg", | |
"d" / "7" / "file.jpg", | |
"d" / "8" / "file.jpg", | |
"d" / "9" / "file.jpg", | |
"shallow1.nim", | |
"shallow2.nim", | |
"shallow3.nim", | |
"shallow4.nim", | |
"shallow5.nim", | |
"shallow6.nim", | |
"shallow7.nim", | |
"shallow8.nim", | |
"shallow9.nim" | |
]) | |
let start = cpuTime() | |
discard listGlob("*.nim") | |
let stop = cpuTime() | |
echo stop - start | |
cleanup() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment