我解析了一组 xml 文件, 将数据以三层的树状结构存储在一个变量里.
然后用 pp
打印存储到文件.
但这个文件有10多mb, 加载速度感觉不是很快.
有没有更好的方式存储和加载?
我解析了一组 xml 文件, 将数据以三层的树状结构存储在一个变量里.
然后用 pp
打印存储到文件.
但这个文件有10多mb, 加载速度感觉不是很快.
有没有更好的方式存储和加载?
用三个 vector,每个 vector 对应一层用来存指针
pp
不是会 pretty print 然后引入缩进之类的东西么, 可以试下压缩一下, 或者用 (format "%S")
这种不 pretty 的 print
直接存就可以
如何处理这种XML文件更好不在于用什么格式,而是用什么方法,推荐SAX的event driven方式解析这种文件,可以节约内存
比如这个库就是用这种SAX方式 https://xerces.apache.org/xerces-c/program-sax-3.html
pp
是到字符,要不试试 eieio-persistent
这种方式?
有合适的外部工具做通讯的话,500MB 以内的文件都不算什么,甚至可以用 mmap。只用 Emacs 就难办了,根本没有现成的 SAX parser Emacs 绑定。
本质上还是在用 prin1
,加载速度不会额外提升多少
看看能不能直接使用 XML 生态?
比如:使用 Oxygen XML Editor 编辑 XML 文本,写 XSLT 处理 XML 文档。
改成sqlite表存储/访问?