diff options
author | Florian Pritz <bluewind@xinu.at> | 2015-04-02 17:22:40 +0200 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2015-04-02 17:39:45 +0200 |
commit | 6d0057b13ced5a7991ad1b921c4c208895276a2e (patch) | |
tree | 3d8222f0f8407a560cf9a725c6c286b96f961358 /scripts | |
parent | 6d3fa5c8718b01babd26d63b53da984c6641c22c (diff) |
Improve performance of pygments->mime2lexer
Normal arrays are rather slow when accessed sequentially. Use
associative arrays and key lookups to reduce the render time of a
multipaste with 180 items from 225ms to ~190ms.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/get_lexer_list.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/scripts/get_lexer_list.py b/scripts/get_lexer_list.py index 0ef6fe97a..9453ff733 100755 --- a/scripts/get_lexer_list.py +++ b/scripts/get_lexer_list.py @@ -5,11 +5,14 @@ import json ret = [] +def dictify(list): + return {k:True for k in list} + for fullname, names, exts, mimetypes in pygments.lexers.get_all_lexers(): ret.append({ 'fullname': fullname, - 'names': names, - 'extentions': exts, - 'mimetypes': mimetypes, + 'names': dictify(names), + 'extentions': dictify(exts), + 'mimetypes': dictify(mimetypes), }) print(json.dumps(ret)) |