Path: csiph.com!news.swapon.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.forth Subject: Re: Moving JSON around. Date: Sun, 19 Feb 2017 01:05:43 -0800 Organization: A noiseless patient Spider Lines: 13 Message-ID: <87bmtymty0.fsf@nightsong.com> References: <9520efbe-f7e6-46b9-a052-7c0b99b0a352@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="438961605d72ac5d3c11ac134f5a0e06"; logging-data="17755"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/4dj0Enp3734SCGcxdbLQU" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:nQiVJMSiVrf1MaKCDo1PlZ8Ku4A= sha1:XYSatzNjZWFi6JFa1nnBtp23IQM= Xref: csiph.com comp.lang.forth:54996 Julian Fondren writes: > $ time perl -MJSON ... > real 0m5.344s > user 0m4.735s Same file takes around 6 seconds with Python's json module on a Xeon E3-1230v3, and the Python image then uses around 1.3GB of ram. I was surprised it parsed that fast. But, slurping a document that size all at once is almost surely a bad idea. I've never seen a streaming JSON parser (like a SAX XML parser) but a quick web search shows they exist. That would be a natural approach to use in Forth.