dbohdan 2017-02-03: This benchmark compares the speed with which various JSON libraries for Tcl can extract a deeply nested string value from a large JSON blob (circa 18 MiB). The comparison may help you choose one out of a growing number of similar JSON-parsing libraries for Tcl, but, as any microbenchmark, it has a limited scope. Libraries may be faster or slower under different circumstances.

These results are from running the benchmark on WSL (Ubuntu 16.04) on a Phenom II X4 955 CPU with no CPU-intensive tasks running in the background. The benchmark used version version 3.8.1 (Jan 23, 2017) of the MTG JSON data set. The jq version was 1.5.

Note, while basic Tcllib is pure Tcl you can use critcl and make tcllibc to generate a C-based accelerator for various parts of Tcllib, including the json package. It might be interesting to see how much this accelerator helps the json extractor.

dbohdan 2018-03-31: It is worth noting that the jimhttp JSON parser is a lot slower in Tcl 8.6 than it is in Jim Tcl. The following benchmark shows the difference. To run the benchmark script I used a Tcl 8.6.8 Tclkit built with KitCreator and a Jim Tclv0.77 binary built locally with GCC 5.4.0 with the default CFLAGS given by its configure script: -g -O2 -fno-unwind-tables -fno-asynchronous-unwind-tables.