diff --git a/benchmark/README.md b/benchmark/README.md
index ca88dd7..3cd6559 100644
--- a/benchmark/README.md
+++ b/benchmark/README.md
@@ -13,15 +13,25 @@ I have put together what I believe to be equivalent commands in dasel/jq/yq.
If you have any feedback or wish to add new benchmarks please submit a PR.
## Benchmarks
+### Root Object
+
+
+
+| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
+|:---|---:|---:|---:|---:|
+| `dasel -f benchmark/data.json` | 10.7 ± 1.8 | 9.5 | 27.2 | 1.00 |
+| `jq '.' benchmark/data.json` | 26.3 ± 1.2 | 24.9 | 33.3 | 2.46 ± 0.43 |
+| `yq --yaml-output '.' benchmark/data.yaml` | 127.6 ± 20.9 | 108.0 | 273.2 | 11.94 ± 2.80 |
+
### Top level property
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|:---|---:|---:|---:|---:|
-| `dasel -f benchmark/data.json '.id'` | 7.5 ± 0.6 | 6.4 | 8.9 | 1.00 |
-| `jq '.id' benchmark/data.json` | 25.8 ± 0.7 | 24.3 | 28.2 | 3.44 ± 0.28 |
-| `yq --yaml-output '.id' benchmark/data.yaml` | 110.3 ± 3.9 | 106.2 | 133.9 | 14.73 ± 1.24 |
+| `dasel -f benchmark/data.json '.id'` | 10.0 ± 2.0 | 9.1 | 28.6 | 1.00 |
+| `jq '.id' benchmark/data.json` | 25.8 ± 0.8 | 24.2 | 30.2 | 2.58 ± 0.52 |
+| `yq --yaml-output '.id' benchmark/data.yaml` | 111.4 ± 2.7 | 107.1 | 119.6 | 11.12 ± 2.21 |
### Nested property
@@ -29,9 +39,9 @@ If you have any feedback or wish to add new benchmarks please submit a PR.
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|:---|---:|---:|---:|---:|
-| `dasel -f benchmark/data.json '.user.name.first'` | 7.2 ± 0.5 | 5.8 | 9.4 | 1.00 |
-| `jq '.user.name.first' benchmark/data.json` | 26.9 ± 1.4 | 24.8 | 32.1 | 3.74 ± 0.33 |
-| `yq --yaml-output '.user.name.first' benchmark/data.yaml` | 122.3 ± 24.7 | 106.2 | 261.1 | 17.04 ± 3.64 |
+| `dasel -f benchmark/data.json '.user.name.first'` | 9.7 ± 0.3 | 9.1 | 11.0 | 1.00 |
+| `jq '.user.name.first' benchmark/data.json` | 25.8 ± 1.0 | 24.4 | 29.9 | 2.66 ± 0.14 |
+| `yq --yaml-output '.user.name.first' benchmark/data.yaml` | 112.5 ± 4.4 | 107.1 | 135.4 | 11.60 ± 0.62 |
### Array index
@@ -39,9 +49,9 @@ If you have any feedback or wish to add new benchmarks please submit a PR.
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|:---|---:|---:|---:|---:|
-| `dasel -f benchmark/data.json '.favouriteNumbers.[1]'` | 7.3 ± 0.6 | 6.6 | 10.3 | 1.00 |
-| `jq '.favouriteNumbers[1]' benchmark/data.json` | 25.9 ± 0.9 | 24.8 | 29.9 | 3.54 ± 0.32 |
-| `yq --yaml-output '.favouriteNumbers[1]' benchmark/data.yaml` | 109.2 ± 2.5 | 104.0 | 118.2 | 14.92 ± 1.32 |
+| `dasel -f benchmark/data.json '.favouriteNumbers.[1]'` | 9.7 ± 0.4 | 9.1 | 11.5 | 1.00 |
+| `jq '.favouriteNumbers[1]' benchmark/data.json` | 26.4 ± 3.6 | 24.4 | 50.4 | 2.73 ± 0.38 |
+| `yq --yaml-output '.favouriteNumbers[1]' benchmark/data.yaml` | 111.8 ± 2.2 | 107.2 | 116.5 | 11.55 ± 0.50 |
### Append to array of strings
@@ -49,9 +59,9 @@ If you have any feedback or wish to add new benchmarks please submit a PR.
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|:---|---:|---:|---:|---:|
-| `dasel put string -f benchmark/data.json -o - '.favouriteColours.[]' blue` | 7.3 ± 0.4 | 6.4 | 8.5 | 1.00 |
-| `jq '.favouriteColours += ["blue"]' benchmark/data.json` | 26.2 ± 0.6 | 24.7 | 28.1 | 3.60 ± 0.20 |
-| `yq --yaml-output '.favouriteColours += ["blue"]' benchmark/data.yaml` | 122.2 ± 17.4 | 107.4 | 177.5 | 16.83 ± 2.55 |
+| `dasel put string -f benchmark/data.json -o - '.favouriteColours.[]' blue` | 9.8 ± 0.4 | 9.3 | 11.4 | 1.00 |
+| `jq '.favouriteColours += ["blue"]' benchmark/data.json` | 25.9 ± 0.7 | 24.8 | 28.8 | 2.65 ± 0.12 |
+| `yq --yaml-output '.favouriteColours += ["blue"]' benchmark/data.yaml` | 125.3 ± 23.8 | 108.6 | 272.1 | 12.83 ± 2.48 |
### Update a string value
@@ -59,9 +69,9 @@ If you have any feedback or wish to add new benchmarks please submit a PR.
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|:---|---:|---:|---:|---:|
-| `dasel put string -f benchmark/data.json -o - '.favouriteColours.[0]' blue` | 7.0 ± 0.6 | 5.4 | 9.4 | 1.00 |
-| `jq '.favouriteColours[0] = "blue"' benchmark/data.json` | 27.3 ± 3.0 | 24.2 | 41.5 | 3.89 ± 0.54 |
-| `yq --yaml-output '.favouriteColours[0] = "blue"' benchmark/data.yaml` | 115.4 ± 13.3 | 104.6 | 180.9 | 16.44 ± 2.37 |
+| `dasel put string -f benchmark/data.json -o - '.favouriteColours.[0]' blue` | 9.4 ± 0.7 | 8.2 | 11.1 | 1.00 |
+| `jq '.favouriteColours[0] = "blue"' benchmark/data.json` | 25.1 ± 0.8 | 23.6 | 28.8 | 2.66 ± 0.22 |
+| `yq --yaml-output '.favouriteColours[0] = "blue"' benchmark/data.yaml` | 111.8 ± 2.3 | 107.7 | 121.9 | 11.84 ± 0.95 |
### Overwrite an object
@@ -69,6 +79,16 @@ If you have any feedback or wish to add new benchmarks please submit a PR.
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|:---|---:|---:|---:|---:|
-| `dasel put object -f benchmark/data.json -o - -t string -t string '.user.name' first=Frank last=Jones` | 6.6 ± 1.1 | 4.5 | 9.4 | 1.00 |
-| `jq '.user.name = {"first":"Frank","last":"Jones"}' benchmark/data.json` | 24.6 ± 0.9 | 22.8 | 27.9 | 3.72 ± 0.65 |
-| `yq --yaml-output '.user.name = {"first":"Frank","last":"Jones"}' benchmark/data.yaml` | 112.4 ± 6.3 | 104.5 | 138.7 | 16.98 ± 3.05 |
+| `dasel put object -f benchmark/data.json -o - -t string -t string '.user.name' first=Frank last=Jones` | 11.5 ± 2.5 | 9.5 | 20.4 | 1.00 |
+| `jq '.user.name = {"first":"Frank","last":"Jones"}' benchmark/data.json` | 26.4 ± 2.3 | 24.5 | 40.8 | 2.30 ± 0.53 |
+| `yq --yaml-output '.user.name = {"first":"Frank","last":"Jones"}' benchmark/data.yaml` | 114.3 ± 2.9 | 108.2 | 128.0 | 9.95 ± 2.14 |
+
+### List keys of an array
+
+
+
+| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
+|:---|---:|---:|---:|---:|
+| `dasel -f benchmark/data.json -m '.-'` | 9.9 ± 0.4 | 9.3 | 11.2 | 1.00 |
+| `jq 'keys[]' benchmark/data.json` | 25.8 ± 0.8 | 24.8 | 29.0 | 2.60 ± 0.13 |
+| `yq --yaml-output 'keys[]' benchmark/data.yaml` | 113.8 ± 3.4 | 107.7 | 132.7 | 11.46 ± 0.57 |
diff --git a/benchmark/data/append_array_of_strings.json b/benchmark/data/append_array_of_strings.json
index 13f2821..7b5df97 100644
--- a/benchmark/data/append_array_of_strings.json
+++ b/benchmark/data/append_array_of_strings.json
@@ -2,338 +2,338 @@
"results": [
{
"command": "dasel put string -f benchmark/data.json -o - '.favouriteColours.[]' blue",
- "mean": 0.007263768884999997,
- "stddev": 0.00036814576706292935,
- "median": 0.007169547354999999,
- "user": 0.004016774999999999,
- "system": 0.00244949,
- "min": 0.006396380355,
- "max": 0.008547455354999999,
+ "mean": 0.009760050005000005,
+ "stddev": 0.00036187139699947154,
+ "median": 0.009715748885,
+ "user": 0.006235464999999998,
+ "system": 0.0025066449999999996,
+ "min": 0.009310070885,
+ "max": 0.011398156885000002,
"times": [
- 0.007580701355,
- 0.007465089354999999,
- 0.007508138354999999,
- 0.007155240355,
- 0.007408327354999999,
- 0.007134620354999999,
- 0.006964492354999999,
- 0.007034661354999999,
- 0.007123544354999999,
- 0.006891256355,
- 0.007119368354999999,
- 0.008055132355,
- 0.007734591354999999,
- 0.007119870355,
- 0.007206855355,
- 0.007537852354999999,
- 0.008199577355,
- 0.007292902355,
- 0.007236714355,
- 0.0070820863549999995,
- 0.0067894753549999996,
- 0.007124844355,
- 0.007352769355,
- 0.007273009355,
- 0.007320292354999999,
- 0.007178413355,
- 0.006906445354999999,
- 0.007034289354999999,
- 0.0068076943549999994,
- 0.006703888355,
- 0.0066648443549999995,
- 0.006396380355,
- 0.007033295355,
- 0.007148561354999999,
- 0.007245092355,
- 0.006693591354999999,
- 0.006826266354999999,
- 0.007064776355,
- 0.007691137354999999,
- 0.007129266355,
- 0.007287138355,
- 0.0070749543549999995,
- 0.007067211355,
- 0.007176193354999999,
- 0.0072147293549999995,
- 0.007862906355,
- 0.007206798355,
- 0.007437274354999999,
- 0.007093208355,
- 0.007048961354999999,
- 0.007089849354999999,
- 0.007143378354999999,
- 0.007440505355,
- 0.007044447354999999,
- 0.007451628355,
- 0.006927896354999999,
- 0.007186107354999999,
- 0.007460270355,
- 0.006942855354999999,
- 0.007531562355,
- 0.007120044354999999,
- 0.007032824355,
- 0.007048294355,
- 0.007206706355,
- 0.007098650355,
- 0.007116778354999999,
- 0.007052821354999999,
- 0.007425522355,
- 0.007470303354999999,
- 0.007120776354999999,
- 0.007079180354999999,
- 0.006945178355,
- 0.007034374354999999,
- 0.007176259354999999,
- 0.007726210354999999,
- 0.007278541354999999,
- 0.007162901354999999,
- 0.006935842354999999,
- 0.007120153354999999,
- 0.007210729354999999,
- 0.007579711354999999,
- 0.007401657354999999,
- 0.008547455354999999,
- 0.007682736354999999,
- 0.008478488355,
- 0.008046104355,
- 0.008160464354999999,
- 0.007754409355,
- 0.007467391355,
- 0.007142756355,
- 0.006904172355,
- 0.007548499355,
- 0.007670810355,
- 0.007451092354999999,
- 0.007547126354999999,
- 0.007569245355,
- 0.007428606354999999,
- 0.006740050354999999,
- 0.006894810354999999,
- 0.007075977354999999
+ 0.009707783885000001,
+ 0.011119256885000001,
+ 0.009714102885,
+ 0.009410400885000001,
+ 0.009419173885000002,
+ 0.009650442885,
+ 0.009310070885,
+ 0.009773954885000002,
+ 0.009746322885,
+ 0.009657045885000002,
+ 0.009960313885,
+ 0.010745744885000002,
+ 0.009785855885000002,
+ 0.009452875885000002,
+ 0.010594760885000002,
+ 0.010015855885000001,
+ 0.009787662885000001,
+ 0.009534351885,
+ 0.009523936885,
+ 0.010155149885,
+ 0.009912524885000001,
+ 0.009502943885000002,
+ 0.009505831885000001,
+ 0.009701741885000002,
+ 0.009322048885000002,
+ 0.009750933885000002,
+ 0.009913250885,
+ 0.009507249885000001,
+ 0.010103195885000001,
+ 0.009677228885000002,
+ 0.009466037885,
+ 0.009521159885000002,
+ 0.009979915885000001,
+ 0.009807876885,
+ 0.009436841885000002,
+ 0.009475032885000002,
+ 0.009569031885,
+ 0.009735554885,
+ 0.009723808885,
+ 0.010085761885,
+ 0.009871679885000002,
+ 0.009466909885000001,
+ 0.009793008885000001,
+ 0.009750642885,
+ 0.010146314885,
+ 0.010331548885000002,
+ 0.009509241885000002,
+ 0.009495684885000001,
+ 0.009686402885,
+ 0.009843018885,
+ 0.009952371885000002,
+ 0.009694506885,
+ 0.009317590885000001,
+ 0.009667707885000001,
+ 0.009954591885,
+ 0.010152948885,
+ 0.010224963885,
+ 0.009904730885,
+ 0.009424058885000001,
+ 0.009366067885,
+ 0.009584761885000001,
+ 0.009595624885000001,
+ 0.009928599885000002,
+ 0.011398156885000002,
+ 0.009824604885000001,
+ 0.009324956885000001,
+ 0.009449842885,
+ 0.010073900885,
+ 0.010057937885000002,
+ 0.009578680885000001,
+ 0.009492749885,
+ 0.009763607885000001,
+ 0.009803679885000001,
+ 0.009928487885000002,
+ 0.009717394885000001,
+ 0.009896339885000001,
+ 0.009365476885000001,
+ 0.009319091885000002,
+ 0.009784171885000002,
+ 0.009870636885,
+ 0.009842046885,
+ 0.009485804885,
+ 0.009693113885000002,
+ 0.009439649885000002,
+ 0.009878981885,
+ 0.010120968885000001,
+ 0.009607457885000002,
+ 0.009474702885000002,
+ 0.009380052885000002,
+ 0.010212511885000001,
+ 0.010419105885000002,
+ 0.010013395885000002,
+ 0.009461250885000001,
+ 0.009366783885,
+ 0.009453590885000002,
+ 0.009483141885,
+ 0.009772304885000001,
+ 0.009999851885000001,
+ 0.009380928885,
+ 0.009443615885000001
]
},
{
"command": "jq '.favouriteColours += [\"blue\"]' benchmark/data.json",
- "mean": 0.026172947735000007,
- "stddev": 0.0006243576733260405,
- "median": 0.026160682355000003,
- "user": 0.023809315,
- "system": 0.0008212700000000008,
- "min": 0.024677750355,
- "max": 0.028109320355000002,
+ "mean": 0.025889885314999996,
+ "stddev": 0.0006921174270629423,
+ "median": 0.025738129885000002,
+ "user": 0.023647834999999996,
+ "system": 0.0006684649999999997,
+ "min": 0.024752702885000002,
+ "max": 0.028847281885000003,
"times": [
- 0.026041118355000004,
- 0.026481025355,
- 0.025511194355000003,
- 0.026677235355000002,
- 0.025768397355,
- 0.025423609355,
- 0.026220040355,
- 0.025381727355,
- 0.025352214355,
- 0.024677750355,
- 0.028109320355000002,
- 0.024959520355,
- 0.025863401355000003,
- 0.027066548354999997,
- 0.026216345355000004,
- 0.027126044355000004,
- 0.026512201355,
- 0.026539849355,
- 0.026518661355,
- 0.027213815355000004,
- 0.027307606355,
- 0.025875445355,
- 0.026326498355,
- 0.026605188355000003,
- 0.026826860355000003,
- 0.025902369355000003,
- 0.026600026355,
- 0.027852127355,
- 0.026293298355,
- 0.025750683354999998,
- 0.026903361355000002,
- 0.026035523355,
- 0.026847222355,
- 0.025470068355,
- 0.026598260355,
- 0.026032183355000002,
- 0.026206501355,
- 0.026612046355000002,
- 0.026583678355,
- 0.026292840355,
- 0.026207644355000004,
- 0.026333453355,
- 0.025533001355,
- 0.025883542355000004,
- 0.026207513355000003,
- 0.025940804355,
- 0.026913887355,
- 0.027201247355,
- 0.025868549355,
- 0.025999810355,
- 0.026571729355000004,
- 0.025639309355,
- 0.025958342355000004,
- 0.026985053355000004,
- 0.025944285355,
- 0.027021765354999998,
- 0.025559102355000002,
- 0.025318658355000002,
- 0.025891763355,
- 0.026114688355,
- 0.025580829355,
- 0.026141747355,
- 0.025888303355000003,
- 0.026033839354999998,
- 0.026132801355,
- 0.025305021355,
- 0.027128458355000003,
- 0.026635693355000004,
- 0.025137898355,
- 0.026250269355,
- 0.026600200355,
- 0.025328266355000004,
- 0.025645825355,
- 0.026477693354999998,
- 0.025209294355000002,
- 0.025854675355000002,
- 0.026555842354999998,
- 0.026544847354999998,
- 0.026107487355,
- 0.026442784355,
- 0.025783059355,
- 0.026497567355,
- 0.025819850355,
- 0.025473932355,
- 0.027047957355,
- 0.025486289355000004,
- 0.025226806355,
- 0.026795959355000003,
- 0.025825762355000004,
- 0.026052060355000003,
- 0.026433516355,
- 0.025486512354999998,
- 0.026409353354999998,
- 0.026547382355000003,
- 0.026228578355000004,
- 0.026179617355000004,
- 0.025838742355,
- 0.024956190354999998,
- 0.026667876355,
- 0.025860021355
+ 0.025378159885,
+ 0.025281468885000002,
+ 0.025650194885,
+ 0.025595632885,
+ 0.026072899885000004,
+ 0.025065220885000003,
+ 0.026631824885000002,
+ 0.025450321885000002,
+ 0.026195632885000004,
+ 0.025941066885000003,
+ 0.028847281885000003,
+ 0.025262731885,
+ 0.026640378885000003,
+ 0.025473160885000002,
+ 0.025523182885000002,
+ 0.026529126885000004,
+ 0.025499919885000003,
+ 0.026870269885000003,
+ 0.024796294885000004,
+ 0.025875293885,
+ 0.026999580885000003,
+ 0.025358545885000004,
+ 0.025853656885000003,
+ 0.025624812885,
+ 0.025451341885000003,
+ 0.025815352885000004,
+ 0.025353298885000004,
+ 0.026296858885000003,
+ 0.026335414885000002,
+ 0.025429199885000003,
+ 0.025618198885000002,
+ 0.026012712885,
+ 0.025916623885000004,
+ 0.025359180885000002,
+ 0.026401601885,
+ 0.025461491885000003,
+ 0.025449000885000003,
+ 0.025728293885000003,
+ 0.026733307885,
+ 0.026157255885,
+ 0.025830323885000003,
+ 0.025519993885,
+ 0.025726947885000004,
+ 0.026289429885000003,
+ 0.025684590885,
+ 0.027490032885,
+ 0.025499653885,
+ 0.025638635885000004,
+ 0.025756963885,
+ 0.025554668885000003,
+ 0.026017157885000003,
+ 0.026135945885,
+ 0.026243301885,
+ 0.025474495885000004,
+ 0.027886361885000002,
+ 0.025967985885000003,
+ 0.025469997885,
+ 0.025747592885000004,
+ 0.025728666885,
+ 0.025178467885000003,
+ 0.026271838885000003,
+ 0.026233844885000003,
+ 0.027620909885000003,
+ 0.026365965885000002,
+ 0.025847052885000003,
+ 0.025376099885000003,
+ 0.025612026885000003,
+ 0.025611543885,
+ 0.025969629885,
+ 0.025403585885000003,
+ 0.025065235885000002,
+ 0.025551209885000002,
+ 0.026204748885000004,
+ 0.025686045885,
+ 0.025808445885000003,
+ 0.025719051885000004,
+ 0.026122111885000004,
+ 0.026005103885000002,
+ 0.025184914885000003,
+ 0.025319869885000002,
+ 0.027005997885,
+ 0.026236048885000002,
+ 0.025458213885,
+ 0.025819679885000002,
+ 0.024999808885000002,
+ 0.024752702885000002,
+ 0.025185441885000003,
+ 0.025196059885000004,
+ 0.025031628885,
+ 0.027641469885000002,
+ 0.025031347885000003,
+ 0.025988975885,
+ 0.026151896885,
+ 0.025211813885000003,
+ 0.025775010885,
+ 0.026245717885000002,
+ 0.025457959885000003,
+ 0.027715418885000002,
+ 0.026229882885000003,
+ 0.026097200885
]
},
{
"command": "yq --yaml-output '.favouriteColours += [\"blue\"]' benchmark/data.yaml",
- "mean": 0.12221595686499999,
- "stddev": 0.017432284322806118,
- "median": 0.11211573235500001,
- "user": 0.100479685,
- "system": 0.021095819999999998,
- "min": 0.10740467235500001,
- "max": 0.177478775355,
+ "mean": 0.125257534715,
+ "stddev": 0.023804433642038252,
+ "median": 0.115424047385,
+ "user": 0.10064370499999996,
+ "system": 0.022222524999999996,
+ "min": 0.108564487885,
+ "max": 0.272146421885,
"times": [
- 0.110691197355,
- 0.10888721735500001,
- 0.11079480335500001,
- 0.111621251355,
- 0.11053968935500001,
- 0.10962624935500001,
- 0.11121604235500002,
- 0.113309875355,
- 0.11192453335500001,
- 0.111639181355,
- 0.11091954835500001,
- 0.11271965935500002,
- 0.11432681635500001,
- 0.11041504135500001,
- 0.10934139735500001,
- 0.11086187835500001,
- 0.11081655435500001,
- 0.108637330355,
- 0.10810287935500001,
- 0.10926265935500001,
- 0.10865352235500002,
- 0.108593723355,
- 0.10902146835500001,
- 0.11018524735500002,
- 0.10907353335500002,
- 0.11167338635500001,
- 0.10928736435500001,
- 0.10762482735500001,
- 0.10915236435500002,
- 0.11116405535500001,
- 0.12623226035500001,
- 0.11814941835500001,
- 0.11066062635500001,
- 0.10972755935500002,
- 0.11020666235500001,
- 0.10874584235500001,
- 0.10956503235500001,
- 0.11020191535500001,
- 0.11009844935500002,
- 0.11266524935500001,
- 0.134026215355,
- 0.127826615355,
- 0.11230693135500001,
- 0.119478599355,
- 0.135578001355,
- 0.11440254035500001,
- 0.12613659335500002,
- 0.11669863235500001,
- 0.14578927435500003,
- 0.155700366355,
- 0.16247024635500001,
- 0.16546455535500001,
- 0.150916714355,
- 0.149135189355,
- 0.161700755355,
- 0.177478775355,
- 0.15410393435500003,
- 0.156425431355,
- 0.15945012735500003,
- 0.161615955355,
- 0.14417712235500002,
- 0.154571397355,
- 0.14634153735500002,
- 0.145874905355,
- 0.13705478235500002,
- 0.134307107355,
- 0.13002581535500002,
- 0.127193823355,
- 0.129918897355,
- 0.143960414355,
- 0.14056843735500002,
- 0.135460367355,
- 0.133012507355,
- 0.126873167355,
- 0.11474365035500002,
- 0.130833699355,
- 0.13655924635500002,
- 0.11738885435500002,
- 0.10918944335500001,
- 0.11118644535500001,
- 0.115081974355,
- 0.12159768635500001,
- 0.117012765355,
- 0.126191665355,
- 0.127071715355,
- 0.11602408735500001,
- 0.10905733035500001,
- 0.10987501635500001,
- 0.11190289635500002,
- 0.10811896035500002,
- 0.11052137335500001,
- 0.10918646135500001,
- 0.10791757435500002,
- 0.10804671835500002,
- 0.107705984355,
- 0.10780758735500001,
- 0.10952597335500001,
- 0.11031209935500001,
- 0.10740467235500001,
- 0.10894975635500001
+ 0.11396826388500002,
+ 0.112986107885,
+ 0.11332096888500001,
+ 0.11623035688500001,
+ 0.11209980988500001,
+ 0.11073564388500001,
+ 0.11469794788500001,
+ 0.10987708988500001,
+ 0.112206446885,
+ 0.11318892888500001,
+ 0.11576466288500001,
+ 0.114169326885,
+ 0.11247166688500002,
+ 0.11954255188500001,
+ 0.11186997888500001,
+ 0.116309384885,
+ 0.114660494885,
+ 0.11220260988500001,
+ 0.11220869988500001,
+ 0.11331815188500001,
+ 0.11311749588500002,
+ 0.11327250188500002,
+ 0.113561146885,
+ 0.11459673488500001,
+ 0.11008205588500002,
+ 0.111760835885,
+ 0.11312886288500001,
+ 0.111994176885,
+ 0.11502456288500001,
+ 0.110521828885,
+ 0.115608712885,
+ 0.11733953088500002,
+ 0.11469923488500001,
+ 0.11286948288500001,
+ 0.11703150188500001,
+ 0.13032679188500002,
+ 0.11462916188500001,
+ 0.108891472885,
+ 0.124995020885,
+ 0.147728011885,
+ 0.11998749388500002,
+ 0.11150347088500001,
+ 0.11415948088500001,
+ 0.11554837888500001,
+ 0.113592232885,
+ 0.11147835988500002,
+ 0.11393144488500001,
+ 0.11390649088500002,
+ 0.108564487885,
+ 0.11433818988500001,
+ 0.11037587688500002,
+ 0.11650308588500001,
+ 0.17711660888500003,
+ 0.181928761885,
+ 0.155187208885,
+ 0.11718966688500002,
+ 0.124454781885,
+ 0.144840813885,
+ 0.13429209588500002,
+ 0.130632482885,
+ 0.122249551885,
+ 0.11368421088500001,
+ 0.11378985988500001,
+ 0.11123769888500001,
+ 0.11649528588500001,
+ 0.128049483885,
+ 0.137866042885,
+ 0.12982120288500001,
+ 0.116133735885,
+ 0.11397330188500002,
+ 0.11529971588500001,
+ 0.111433767885,
+ 0.11482803988500001,
+ 0.153184353885,
+ 0.272146421885,
+ 0.11943157388500002,
+ 0.14838498688500001,
+ 0.132016970885,
+ 0.17840996088500002,
+ 0.17638701188500003,
+ 0.130453889885,
+ 0.15284354788500001,
+ 0.20473272488500002,
+ 0.13437361688500002,
+ 0.12354586788500002,
+ 0.128508821885,
+ 0.11327110488500002,
+ 0.11610149488500002,
+ 0.12057956688500002,
+ 0.139083584885,
+ 0.15962923288500003,
+ 0.16940746788500002,
+ 0.12463304688500002,
+ 0.11336056788500001,
+ 0.133227471885,
+ 0.137366215885,
+ 0.12260837888500001,
+ 0.11689869688500001,
+ 0.11444852488500001,
+ 0.11331683388500001
]
}
]
diff --git a/benchmark/data/array_index.json b/benchmark/data/array_index.json
index 1b5cd21..54ddf4a 100644
--- a/benchmark/data/array_index.json
+++ b/benchmark/data/array_index.json
@@ -2,338 +2,338 @@
"results": [
{
"command": "dasel -f benchmark/data.json '.favouriteNumbers.[1]'",
- "mean": 0.00731861934,
- "stddev": 0.0006254435144588306,
- "median": 0.00713690339,
- "user": 0.003999910000000001,
- "system": 0.0025040400000000008,
- "min": 0.006575625890000001,
- "max": 0.01034778789,
+ "mean": 0.009680035905000004,
+ "stddev": 0.00037145804490983303,
+ "median": 0.009662133775000002,
+ "user": 0.006175484999999998,
+ "system": 0.0025417500000000006,
+ "min": 0.009084335775,
+ "max": 0.011548406775000002,
"times": [
- 0.007038361890000001,
- 0.007144279890000001,
- 0.00702836989,
- 0.00759794489,
- 0.00724161989,
- 0.007318122890000001,
- 0.007121749889999999,
- 0.00708318889,
- 0.00701371089,
- 0.00737301689,
- 0.00719316689,
- 0.00700380689,
- 0.00794216689,
- 0.00698784889,
- 0.0072775198900000004,
- 0.00714602189,
- 0.00735208289,
- 0.00712952689,
- 0.00705990389,
- 0.00752117289,
- 0.00775612889,
- 0.00755391989,
- 0.00791799189,
- 0.01034778789,
- 0.01031133589,
- 0.00985283589,
- 0.00849188289,
- 0.007745122889999999,
- 0.00749452789,
- 0.00748782389,
- 0.00720482089,
- 0.00733998189,
- 0.00711824089,
- 0.007708210889999999,
- 0.00768200789,
- 0.007562532889999999,
- 0.00797050289,
- 0.0072928598899999995,
- 0.00717050589,
- 0.0070532028900000005,
- 0.007145894890000001,
- 0.0072843978900000005,
- 0.00702787689,
- 0.00800408689,
- 0.00733670589,
- 0.00752703689,
- 0.007037718889999999,
- 0.00700225889,
- 0.006917220890000001,
- 0.00692890889,
- 0.00711558789,
- 0.007104951890000001,
- 0.00755763389,
- 0.0072822228900000004,
- 0.007216623889999999,
- 0.007654032890000001,
- 0.00738705789,
- 0.00731816989,
- 0.00706183489,
- 0.00684179389,
- 0.00689835789,
- 0.00694810389,
- 0.006862966890000001,
- 0.00697655589,
- 0.00679009989,
- 0.0070159268899999995,
- 0.006575625890000001,
- 0.00704394689,
- 0.00683768689,
- 0.006916623889999999,
- 0.00695713989,
- 0.006944320889999999,
- 0.00683581489,
- 0.007334537889999999,
- 0.00701603489,
- 0.00700286089,
- 0.00712601989,
- 0.007100699889999999,
- 0.007072841890000001,
- 0.00723023289,
- 0.00834995989,
- 0.00747165189,
- 0.006890927890000001,
- 0.00688752189,
- 0.006936035889999999,
- 0.00858475389,
- 0.00760051889,
- 0.00736361789,
- 0.00748293389,
- 0.0072451458900000005,
- 0.006861759889999999,
- 0.00701723789,
- 0.0069779898899999995,
- 0.00673163989,
- 0.006596575889999999,
- 0.00726260489,
- 0.006978191890000001,
- 0.00695210689,
- 0.0068541148900000005,
- 0.006942419889999999
+ 0.010089809775000002,
+ 0.010498958775000001,
+ 0.010217157775000001,
+ 0.009774082775000002,
+ 0.009713363775,
+ 0.009778249775000001,
+ 0.009779852775000002,
+ 0.009759012775000001,
+ 0.009960190775,
+ 0.009306780775,
+ 0.009547898775,
+ 0.009448152775000001,
+ 0.009438880775000002,
+ 0.009516108775,
+ 0.009891656775000002,
+ 0.009748180775000002,
+ 0.009286969775,
+ 0.009222754775000001,
+ 0.009524080775,
+ 0.009514218775000001,
+ 0.009558489775000002,
+ 0.009428222775000002,
+ 0.009360769775000001,
+ 0.009191144775000002,
+ 0.009262056775000001,
+ 0.009519173775,
+ 0.009870702775000002,
+ 0.009641105775000002,
+ 0.009292178775000002,
+ 0.009457380775000001,
+ 0.009362484775,
+ 0.009820680775000002,
+ 0.009825794775000002,
+ 0.009393462775000002,
+ 0.009721177775000001,
+ 0.010243438775000002,
+ 0.009683971775000001,
+ 0.009936698775,
+ 0.010030353775000002,
+ 0.010098788775,
+ 0.009900437775000001,
+ 0.009658603775000002,
+ 0.009807225775000001,
+ 0.010007502775000001,
+ 0.010002507775,
+ 0.010200182775000002,
+ 0.009447019775000001,
+ 0.009253353775,
+ 0.009412697775000001,
+ 0.009575139775000002,
+ 0.009838124775000002,
+ 0.009583267775000001,
+ 0.009084335775,
+ 0.009197538775000002,
+ 0.009483727775,
+ 0.009878039775000002,
+ 0.009437768775,
+ 0.009379304775000001,
+ 0.009304901775,
+ 0.009340910775,
+ 0.009224931775000002,
+ 0.009589466775000001,
+ 0.009746580775000001,
+ 0.010297771775,
+ 0.009715674775000002,
+ 0.009707741775,
+ 0.009883895775000002,
+ 0.010611867775000002,
+ 0.009575404775,
+ 0.009395981775000001,
+ 0.009502535775000001,
+ 0.009852452775000001,
+ 0.009693273775000002,
+ 0.009810457775000002,
+ 0.010402314775000001,
+ 0.009903111775,
+ 0.009300604775000002,
+ 0.009705372775000002,
+ 0.009812998775000002,
+ 0.011548406775000002,
+ 0.010617554775000001,
+ 0.009772847775000001,
+ 0.009317781775,
+ 0.009337839775,
+ 0.009607157775000002,
+ 0.009970645775000002,
+ 0.009466095775,
+ 0.009273649775000002,
+ 0.009395317775000002,
+ 0.009727336775000001,
+ 0.009704022775000001,
+ 0.009778435775000002,
+ 0.009668013775000001,
+ 0.009475348775000001,
+ 0.009231135775000001,
+ 0.009266936775000002,
+ 0.009665663775000001,
+ 0.009849306775000002,
+ 0.009599652775000002,
+ 0.009490964775000001
]
},
{
"command": "jq '.favouriteNumbers[1]' benchmark/data.json",
- "mean": 0.025915303840000004,
- "stddev": 0.0008654322891145143,
- "median": 0.025756914390000003,
- "user": 0.02363578,
- "system": 0.0007949799999999997,
- "min": 0.02479828689,
- "max": 0.029916833890000005,
+ "mean": 0.026394683645000007,
+ "stddev": 0.0035625446684415837,
+ "median": 0.025555662775000005,
+ "user": 0.023933385,
+ "system": 0.0007781100000000004,
+ "min": 0.024365775775,
+ "max": 0.050377437775000006,
"times": [
- 0.025750258890000002,
- 0.02683148889,
- 0.02646693589,
- 0.02589781689,
- 0.02552975889,
- 0.02625617389,
- 0.02645668589,
- 0.02557582689,
- 0.02640421389,
- 0.025814986890000002,
- 0.025415445890000003,
- 0.02484928489,
- 0.026644784890000002,
- 0.025717590890000003,
- 0.024996527890000002,
- 0.02665366489,
- 0.026378680890000002,
- 0.02509242989,
- 0.02599406589,
- 0.02546789889,
- 0.029916833890000005,
- 0.02560556589,
- 0.02523854089,
- 0.02597346189,
- 0.02676038889,
- 0.02594693289,
- 0.026338735890000003,
- 0.026393854890000002,
- 0.02536582289,
- 0.02790352489,
- 0.027681097890000003,
- 0.026672058890000003,
- 0.02652324289,
- 0.02731642289,
- 0.026239633890000003,
- 0.02600173289,
- 0.026006837890000002,
- 0.02636859189,
- 0.02638373489,
- 0.025814914890000002,
- 0.02548329489,
- 0.02594142289,
- 0.024942469890000003,
- 0.02561650189,
- 0.025488650890000002,
- 0.02506029389,
- 0.02570339589,
- 0.025918346890000003,
- 0.02482499589,
- 0.026064366890000003,
- 0.025627129890000003,
- 0.02492131489,
- 0.02491583289,
- 0.02680343189,
- 0.02523751589,
- 0.02663683189,
- 0.02583558789,
- 0.02516138689,
- 0.02576356989,
- 0.02613304689,
- 0.02567428289,
- 0.026429316890000002,
- 0.02526124489,
- 0.02479828689,
- 0.02508498289,
- 0.02641478389,
- 0.02531938089,
- 0.02525988989,
- 0.02600401189,
- 0.02495633389,
- 0.02528582089,
- 0.02657043589,
- 0.02552757489,
- 0.027149023890000002,
- 0.02583835689,
- 0.02513992089,
- 0.02606778589,
- 0.02539440789,
- 0.02623755289,
- 0.029324250890000004,
- 0.025442444890000002,
- 0.02487021089,
- 0.02665209789,
- 0.02535017989,
- 0.02564265189,
- 0.02566191189,
- 0.02523808889,
- 0.025340395890000002,
- 0.02635216789,
- 0.02517627189,
- 0.025350803890000002,
- 0.028008567890000002,
- 0.02585239189,
- 0.025656185890000002,
- 0.02556641289,
- 0.02571481189,
- 0.02496767889,
- 0.02620314289,
- 0.02514780289,
- 0.02487267489
+ 0.027122831775,
+ 0.025330230775000004,
+ 0.024970365775000003,
+ 0.025304947775000003,
+ 0.025228353775000004,
+ 0.025835409775000005,
+ 0.025055015775,
+ 0.025559544775000005,
+ 0.025144451775,
+ 0.026026267775,
+ 0.025333047775,
+ 0.025538954775000004,
+ 0.026292052775000005,
+ 0.025210628775,
+ 0.025413294775000005,
+ 0.025498909775000002,
+ 0.025221332775,
+ 0.024995999775,
+ 0.027968758775000005,
+ 0.024365775775,
+ 0.025429689775,
+ 0.026350742775000005,
+ 0.024464727775,
+ 0.025472180775000006,
+ 0.025704156775,
+ 0.025116122775,
+ 0.025275816775,
+ 0.025754973775000002,
+ 0.025138684775000003,
+ 0.026174020775,
+ 0.025147654775,
+ 0.027491923775000003,
+ 0.025342585775000002,
+ 0.025178878775000003,
+ 0.025718449775,
+ 0.026335739775000006,
+ 0.026378536775000003,
+ 0.025642810775000004,
+ 0.026400777775000002,
+ 0.025278476775000003,
+ 0.025735774775000005,
+ 0.026087888775000005,
+ 0.026031843775,
+ 0.024432478775000002,
+ 0.025274687775000006,
+ 0.024564598775,
+ 0.025161055775000003,
+ 0.025481367775,
+ 0.025981903775000002,
+ 0.026258085775000002,
+ 0.026081118775000002,
+ 0.026165629775000004,
+ 0.025518352775000003,
+ 0.027395736775000006,
+ 0.024870774775,
+ 0.025868745775,
+ 0.025190431775,
+ 0.024941852775000002,
+ 0.025680680775,
+ 0.025828751775000006,
+ 0.026442153775000005,
+ 0.025721153775000005,
+ 0.025368656775000005,
+ 0.025044441775000002,
+ 0.025297515775,
+ 0.025668068775000004,
+ 0.026292552775000005,
+ 0.024837052775,
+ 0.024890348775,
+ 0.025206979775,
+ 0.025700300775000004,
+ 0.027408306775000002,
+ 0.025057230775,
+ 0.025543029775000003,
+ 0.025226954775000004,
+ 0.025776758775000005,
+ 0.025551780775000005,
+ 0.025449430775000004,
+ 0.025455033775000004,
+ 0.025025126775000003,
+ 0.025126696775000006,
+ 0.025683683775,
+ 0.024398532775000002,
+ 0.025333360775,
+ 0.025129228775000005,
+ 0.027035292775000004,
+ 0.026948664775000006,
+ 0.025704049775,
+ 0.028034899775000004,
+ 0.026763188775000002,
+ 0.031120817775000004,
+ 0.050377437775000006,
+ 0.044697446775,
+ 0.040551134775000004,
+ 0.031154128775000005,
+ 0.027176717775000005,
+ 0.026294692775000003,
+ 0.026113422775,
+ 0.027330161775,
+ 0.025767037775
]
},
{
"command": "yq --yaml-output '.favouriteNumbers[1]' benchmark/data.yaml",
- "mean": 0.10923013373,
- "stddev": 0.002493510703645035,
- "median": 0.10856269289,
- "user": 0.09034315,
- "system": 0.018462400000000004,
- "min": 0.10399433389,
- "max": 0.11819231489,
+ "mean": 0.11176609938499997,
+ "stddev": 0.0021520245051406305,
+ "median": 0.11165601127500001,
+ "user": 0.09141264500000004,
+ "system": 0.019644010000000003,
+ "min": 0.10719855577500001,
+ "max": 0.116502548775,
"times": [
- 0.10957514389,
- 0.10906174189000001,
- 0.10689159389,
- 0.10762273289,
- 0.10762357789,
- 0.10796741189,
- 0.10816616989,
- 0.11819231489,
- 0.11512231889,
- 0.11319065489,
- 0.10799647089,
- 0.10691358789000001,
- 0.11009521189,
- 0.11001748189,
- 0.11096501189,
- 0.11011620089,
- 0.11045304989,
- 0.10956909989000001,
- 0.10780263789,
- 0.10994264789000001,
- 0.10937651689,
- 0.10847639989,
- 0.10884337089,
- 0.10936361789,
- 0.10770029289000001,
- 0.10944567789000001,
- 0.11132580689,
- 0.10782897989000001,
- 0.10924030189,
- 0.10856294189,
- 0.10399433389,
- 0.10743583289,
- 0.11043304989000001,
- 0.10674959789,
- 0.10689481489000001,
- 0.10790671789,
- 0.10842788889,
- 0.10770113489000001,
- 0.10896554789,
- 0.10698284889,
- 0.10616119889,
- 0.10756386789,
- 0.10830652789,
- 0.10841448189,
- 0.10999113589000001,
- 0.10654439689,
- 0.10844115789,
- 0.10929676889,
- 0.10765972489,
- 0.10841185589,
- 0.10835279489,
- 0.10992950989,
- 0.10864639989000001,
- 0.10859470989,
- 0.10603009989,
- 0.10847229089,
- 0.10737711689,
- 0.10688516789000001,
- 0.10599072789,
- 0.10849432289000001,
- 0.10737521189,
- 0.10811953489000001,
- 0.10856244389,
- 0.10868954789,
- 0.10723653389,
- 0.10933740389,
- 0.10886957789,
- 0.10724817289000001,
- 0.10834017389,
- 0.11014365589,
- 0.11105958389000001,
- 0.10850103689,
- 0.10730680889000001,
- 0.11073367689000001,
- 0.10811263889,
- 0.10689786089,
- 0.10754893689,
- 0.10555418389,
- 0.11595027189,
- 0.11123540689,
- 0.11181469089,
- 0.11116040789000001,
- 0.11254963689,
- 0.11235402689,
- 0.10800682189000001,
- 0.10985052689000001,
- 0.10675123389,
- 0.10905765589000001,
- 0.10860834489,
- 0.11207532589000001,
- 0.11171447089,
- 0.11283878589,
- 0.11117115989000001,
- 0.10842379089,
- 0.10829754289,
- 0.10934423189,
- 0.11039779389,
- 0.11775570889,
- 0.11733407989,
- 0.11417947889
+ 0.11156422377500001,
+ 0.111271078775,
+ 0.11408239977500001,
+ 0.116502548775,
+ 0.112990387775,
+ 0.11211481877500001,
+ 0.112874140775,
+ 0.111547473775,
+ 0.11282281877500001,
+ 0.10937416977500002,
+ 0.11027098077500001,
+ 0.11101172177500002,
+ 0.112991443775,
+ 0.112639643775,
+ 0.108744553775,
+ 0.11221754077500001,
+ 0.10975589677500001,
+ 0.11211481677500001,
+ 0.10966379877500002,
+ 0.10818252977500001,
+ 0.11025419577500001,
+ 0.11535915577500001,
+ 0.10911586477500002,
+ 0.108583905775,
+ 0.110399397775,
+ 0.10910166677500001,
+ 0.109795514775,
+ 0.11029602577500001,
+ 0.10753597777500001,
+ 0.113324443775,
+ 0.113639757775,
+ 0.11077810477500001,
+ 0.11009464377500001,
+ 0.11453510277500001,
+ 0.11452321377500001,
+ 0.10901056277500001,
+ 0.11342999477500001,
+ 0.11324106377500001,
+ 0.10939496277500001,
+ 0.11255085577500001,
+ 0.110779169775,
+ 0.11203594077500001,
+ 0.114935023775,
+ 0.11147900377500002,
+ 0.111642364775,
+ 0.10898276977500002,
+ 0.11261311377500001,
+ 0.11395679077500001,
+ 0.11194163177500001,
+ 0.11036557577500002,
+ 0.11087417977500001,
+ 0.11496176977500001,
+ 0.11226517777500002,
+ 0.110906012775,
+ 0.11405089377500001,
+ 0.11116401477500001,
+ 0.11099591677500001,
+ 0.10952699977500001,
+ 0.10719855577500001,
+ 0.114265282775,
+ 0.108504591775,
+ 0.11227899677500001,
+ 0.110993022775,
+ 0.10935981177500001,
+ 0.11166965777500001,
+ 0.11180742577500001,
+ 0.11127722877500001,
+ 0.10824501277500001,
+ 0.11458959177500001,
+ 0.11394170477500001,
+ 0.11431324877500001,
+ 0.10739075477500001,
+ 0.11240320977500001,
+ 0.11619113377500001,
+ 0.113529331775,
+ 0.11499236277500001,
+ 0.115216243775,
+ 0.11131613077500001,
+ 0.11039743177500001,
+ 0.11057353477500001,
+ 0.10978010877500001,
+ 0.11051309977500001,
+ 0.11288283177500001,
+ 0.11043009777500001,
+ 0.11129091477500001,
+ 0.112265148775,
+ 0.112719769775,
+ 0.11379568777500002,
+ 0.115037112775,
+ 0.11507400777500001,
+ 0.112199312775,
+ 0.11391677177500001,
+ 0.11258354677500002,
+ 0.108374271775,
+ 0.11576032077500001,
+ 0.10975589877500001,
+ 0.11047503177500001,
+ 0.11164208977500001,
+ 0.11197239177500001,
+ 0.114509507775
]
}
]
diff --git a/benchmark/data/list_array_keys.json b/benchmark/data/list_array_keys.json
new file mode 100644
index 0000000..aad0bdf
--- /dev/null
+++ b/benchmark/data/list_array_keys.json
@@ -0,0 +1,340 @@
+{
+ "results": [
+ {
+ "command": "dasel -f benchmark/data.json -m '.-'",
+ "mean": 0.009929129654999997,
+ "stddev": 0.0003912176715851085,
+ "median": 0.009848885625000001,
+ "user": 0.006281825000000002,
+ "system": 0.002604700000000001,
+ "min": 0.009291941125,
+ "max": 0.011217757125,
+ "times": [
+ 0.010019511125,
+ 0.009783908125,
+ 0.010123264125,
+ 0.009856012125,
+ 0.009634567125,
+ 0.009528555125000001,
+ 0.009515873125000001,
+ 0.009706012125,
+ 0.009788591125000001,
+ 0.010416689125,
+ 0.009963688125,
+ 0.010348645125,
+ 0.009669884125,
+ 0.009565198125,
+ 0.010976275125,
+ 0.010329722125000001,
+ 0.010190432125000001,
+ 0.010074272125,
+ 0.010182085125,
+ 0.009784166125,
+ 0.010320915125,
+ 0.010232561125000001,
+ 0.009556858125,
+ 0.009522112125000001,
+ 0.009515047125,
+ 0.009760680125,
+ 0.010099418125,
+ 0.010373006125,
+ 0.009923828125,
+ 0.009615170125000001,
+ 0.009511387125,
+ 0.009620307125,
+ 0.009720052125,
+ 0.010235368125,
+ 0.010152243125,
+ 0.009561585125,
+ 0.009632330125,
+ 0.009611132125,
+ 0.009721742125,
+ 0.009869971125,
+ 0.009816646125,
+ 0.009328680125,
+ 0.009944808125000001,
+ 0.009841759125,
+ 0.009623002125,
+ 0.010490720125,
+ 0.010908270125000001,
+ 0.009785312125,
+ 0.010291666125,
+ 0.010304764125000001,
+ 0.010133196125,
+ 0.009511645125,
+ 0.009425404125,
+ 0.010293326125,
+ 0.010005813125,
+ 0.010202734125,
+ 0.009905135125,
+ 0.009924722125,
+ 0.010507799125,
+ 0.010028941125,
+ 0.009747717125000001,
+ 0.009682966125000001,
+ 0.009769215125000001,
+ 0.010122091125,
+ 0.010004033125,
+ 0.010424003125000001,
+ 0.010537270125,
+ 0.010051454125,
+ 0.010476739125,
+ 0.010658101125,
+ 0.009806320125,
+ 0.009384091125,
+ 0.009542244125,
+ 0.009730865125,
+ 0.010014997125000001,
+ 0.010032526125,
+ 0.009776758125,
+ 0.010327335125,
+ 0.009591072125,
+ 0.009638542125,
+ 0.009963843125,
+ 0.009775580125,
+ 0.009394223125,
+ 0.009601800125,
+ 0.009734067125,
+ 0.010011078125,
+ 0.010064111125,
+ 0.009561589125,
+ 0.009294421125,
+ 0.009291941125,
+ 0.009537846125,
+ 0.009876457125,
+ 0.011217757125,
+ 0.011033829125,
+ 0.009588357125,
+ 0.009754841125,
+ 0.009533045125,
+ 0.010333319125,
+ 0.010109643125,
+ 0.009629464125
+ ]
+ },
+ {
+ "command": "jq 'keys[]' benchmark/data.json",
+ "mean": 0.025821991645000014,
+ "stddev": 0.0008202866905117363,
+ "median": 0.025599233125000002,
+ "user": 0.023510234999999994,
+ "system": 0.0006878700000000001,
+ "min": 0.024775930125,
+ "max": 0.029030420125000005,
+ "times": [
+ 0.026317118125,
+ 0.026623684125,
+ 0.029030420125000005,
+ 0.025525680125000002,
+ 0.026601713125000002,
+ 0.026341418125000002,
+ 0.025768520125000003,
+ 0.026006505125000003,
+ 0.025361456125,
+ 0.025644026125,
+ 0.025285204125000002,
+ 0.025378431125,
+ 0.025433041125,
+ 0.025044211125,
+ 0.025815633125,
+ 0.025351632125000002,
+ 0.025803977125000002,
+ 0.025719604125,
+ 0.025652173125,
+ 0.025369406125,
+ 0.025503484125,
+ 0.028006363125000003,
+ 0.026683115125,
+ 0.026502856125,
+ 0.026486773125,
+ 0.025277502125,
+ 0.025635904125,
+ 0.025942987125,
+ 0.025074192125000002,
+ 0.025600404125,
+ 0.024803537125,
+ 0.025259918125000003,
+ 0.024987016125,
+ 0.024777161125000002,
+ 0.025599647125,
+ 0.025648722125000002,
+ 0.025204011125000002,
+ 0.025554813125000003,
+ 0.025880176125,
+ 0.028571945125000005,
+ 0.025482642125,
+ 0.025648661125,
+ 0.025598819125000002,
+ 0.025865071125,
+ 0.026184530125,
+ 0.026286944125000003,
+ 0.025181670125,
+ 0.025465144125000002,
+ 0.025107701125,
+ 0.025510216125000002,
+ 0.025489852125,
+ 0.025309789125000003,
+ 0.025477755125,
+ 0.025532710125,
+ 0.025106077125,
+ 0.025077540125000002,
+ 0.028692496125,
+ 0.027021511125,
+ 0.025839675125000003,
+ 0.025206913125,
+ 0.025005181125,
+ 0.026148768125000003,
+ 0.026030630125000002,
+ 0.025630092125,
+ 0.026348564125,
+ 0.025841554125000003,
+ 0.026522401125,
+ 0.025137008125000002,
+ 0.025191944125,
+ 0.025259334125,
+ 0.025930247125,
+ 0.024981761125,
+ 0.025211683125000002,
+ 0.026508810125,
+ 0.027700455125000002,
+ 0.026830337125000003,
+ 0.026388889125000002,
+ 0.024775930125,
+ 0.025604754125,
+ 0.025578903125,
+ 0.025244105125000003,
+ 0.025872352125,
+ 0.025190636125000002,
+ 0.025323981125000002,
+ 0.025187672125,
+ 0.026837075125000002,
+ 0.025089900125,
+ 0.025603836125,
+ 0.025178512125,
+ 0.025256254125000002,
+ 0.025433927125000002,
+ 0.026131615125,
+ 0.027825832125,
+ 0.026617801125,
+ 0.025416049125000003,
+ 0.025490751125000002,
+ 0.025300227125,
+ 0.025588878125000002,
+ 0.026506134125,
+ 0.026316276125000003
+ ]
+ },
+ {
+ "command": "yq --yaml-output 'keys[]' benchmark/data.yaml",
+ "mean": 0.11379519095499999,
+ "stddev": 0.0033800001592953215,
+ "median": 0.11333908412500002,
+ "user": 0.09295839500000001,
+ "system": 0.02001437,
+ "min": 0.10770561912500001,
+ "max": 0.13269202712500003,
+ "times": [
+ 0.11449122012500001,
+ 0.11499442912500002,
+ 0.11607646012500002,
+ 0.11019973412500002,
+ 0.11233280412500002,
+ 0.11430397312500001,
+ 0.11487295612500001,
+ 0.11029573312500002,
+ 0.11218335012500001,
+ 0.11226154312500002,
+ 0.11346873512500001,
+ 0.11370245312500002,
+ 0.11025854712500001,
+ 0.11486195112500001,
+ 0.11313373612500001,
+ 0.110097983125,
+ 0.11337181012500001,
+ 0.12111743512500002,
+ 0.11663340312500002,
+ 0.11129436812500001,
+ 0.11314678912500001,
+ 0.11213301212500001,
+ 0.12147089412500002,
+ 0.11498257612500001,
+ 0.11201007112500001,
+ 0.11356870712500002,
+ 0.11307137312500001,
+ 0.11374072412500001,
+ 0.11301204012500002,
+ 0.10952032012500001,
+ 0.11486773212500001,
+ 0.11441789412500002,
+ 0.11078321012500002,
+ 0.11215942312500002,
+ 0.10770561912500001,
+ 0.11292597412500001,
+ 0.11275637512500002,
+ 0.11111060012500001,
+ 0.11347812212500001,
+ 0.11778034412500002,
+ 0.11340236112500002,
+ 0.11647997712500001,
+ 0.11303163112500002,
+ 0.110457059125,
+ 0.11564818512500001,
+ 0.11109783512500002,
+ 0.10958208912500002,
+ 0.10919269112500002,
+ 0.11948296512500002,
+ 0.11099047412500002,
+ 0.11518181612500002,
+ 0.11022181412500001,
+ 0.11750547812500002,
+ 0.11263594212500001,
+ 0.11561303312500001,
+ 0.11093823712500002,
+ 0.11014773812500002,
+ 0.11868510812500001,
+ 0.11265047612500001,
+ 0.11186274912500001,
+ 0.11640530012500001,
+ 0.12006357312500002,
+ 0.11282884412500001,
+ 0.11229601112500001,
+ 0.11014493012500001,
+ 0.11477848612500001,
+ 0.12227233612500002,
+ 0.13269202712500003,
+ 0.11391975312500001,
+ 0.11327621612500001,
+ 0.11660785912500002,
+ 0.11421905412500001,
+ 0.11420953812500001,
+ 0.11353522212500002,
+ 0.11330635812500002,
+ 0.11490130412500002,
+ 0.11043053312500001,
+ 0.11023506812500002,
+ 0.11806689212500002,
+ 0.11314674712500002,
+ 0.11512199712500001,
+ 0.11084386012500001,
+ 0.11776458212500002,
+ 0.11351921312500002,
+ 0.11519100812500001,
+ 0.11194629112500001,
+ 0.11362717312500001,
+ 0.11441313512500001,
+ 0.11865708712500002,
+ 0.11182520512500001,
+ 0.11288519412500002,
+ 0.11156445712500002,
+ 0.11229240712500001,
+ 0.11483404812500002,
+ 0.11509179012500001,
+ 0.11391505812500001,
+ 0.11096792812500002,
+ 0.11554711912500001,
+ 0.11042975612500001,
+ 0.11234364412500002
+ ]
+ }
+ ]
+}
diff --git a/benchmark/data/nested_property.json b/benchmark/data/nested_property.json
index 546e0e3..ec77561 100644
--- a/benchmark/data/nested_property.json
+++ b/benchmark/data/nested_property.json
@@ -2,338 +2,338 @@
"results": [
{
"command": "dasel -f benchmark/data.json '.user.name.first'",
- "mean": 0.007176556624999997,
- "stddev": 0.0004990055077237676,
- "median": 0.0071288506649999995,
- "user": 0.00395013,
- "system": 0.00240877,
- "min": 0.0057791611649999994,
- "max": 0.009390268165,
+ "mean": 0.00970155287,
+ "stddev": 0.00034701783000936715,
+ "median": 0.00962811258,
+ "user": 0.006161444999999995,
+ "system": 0.002500115,
+ "min": 0.00913156158,
+ "max": 0.01101254858,
"times": [
- 0.0058285461649999985,
- 0.005791820164999999,
- 0.006009212165,
- 0.0057791611649999994,
- 0.006807943165,
- 0.006166103164999999,
- 0.006800193164999999,
- 0.009390268165,
- 0.007255307164999999,
- 0.006897225165,
- 0.0069585851649999995,
- 0.007321164165,
- 0.008193979165,
- 0.007325399165,
- 0.007033851164999999,
- 0.0073855381649999986,
- 0.006890477164999999,
- 0.007148815164999999,
- 0.008431516165,
- 0.007235992165,
- 0.007057631165,
- 0.007267497164999999,
- 0.007014958165,
- 0.006988623164999999,
- 0.007274605165,
- 0.007302356164999999,
- 0.007230533164999999,
- 0.007108640164999999,
- 0.006912753164999999,
- 0.006998378164999999,
- 0.007221718165,
- 0.008403398165,
- 0.007424751165,
- 0.007405283165,
- 0.007023987164999999,
- 0.006934316164999999,
- 0.006931250165,
- 0.007100435165,
- 0.007319202165,
- 0.007313100164999999,
- 0.008888051164999999,
- 0.006818758164999999,
- 0.007147923165,
- 0.006944877165,
- 0.0070764421649999985,
- 0.0074608371649999995,
- 0.007284279164999999,
- 0.008095008164999999,
- 0.007669215165,
- 0.007262702164999999,
- 0.007446068165,
- 0.007300131164999999,
- 0.007612985164999999,
- 0.007556198165,
- 0.007194345164999999,
- 0.006901800164999999,
- 0.007114103165,
- 0.007025111164999999,
- 0.007069583164999999,
- 0.007360603165,
- 0.007157649165,
- 0.007104862165,
- 0.006870602165,
- 0.006984489165,
- 0.006986802165,
- 0.007056548164999999,
- 0.007286738164999999,
- 0.007125795164999999,
- 0.007108555164999999,
- 0.006832846165,
- 0.007098084164999999,
- 0.007218177164999999,
- 0.007042272165,
- 0.007354852165,
- 0.007488179164999999,
- 0.007473624165,
- 0.007083403165,
- 0.007017080165,
- 0.006820497165,
- 0.007141014164999999,
- 0.007131906165,
- 0.007765049164999999,
- 0.007264050164999999,
- 0.007105770164999999,
- 0.007082100164999999,
- 0.0070013801649999995,
- 0.006944071164999999,
- 0.006958672164999999,
- 0.007568819164999999,
- 0.007284642164999999,
- 0.007146155164999999,
- 0.007132249165,
- 0.007195070164999999,
- 0.007187168164999999,
- 0.007327921164999999,
- 0.007062228165,
- 0.007199633165,
- 0.0070122891649999994,
- 0.006905782164999999,
- 0.007015097164999999
+ 0.00928132858,
+ 0.00969851258,
+ 0.00961756458,
+ 0.00980585558,
+ 0.00966985258,
+ 0.01002720658,
+ 0.01031336558,
+ 0.01005152058,
+ 0.00982874358,
+ 0.00928211258,
+ 0.00930105758,
+ 0.00949552458,
+ 0.009527826579999999,
+ 0.00950943558,
+ 0.009612091579999999,
+ 0.00970253958,
+ 0.00959366258,
+ 0.00940981258,
+ 0.00959995858,
+ 0.00953857358,
+ 0.01001136858,
+ 0.00987384658,
+ 0.00940802358,
+ 0.00982837658,
+ 0.01005478858,
+ 0.01022026958,
+ 0.01030429558,
+ 0.00983051058,
+ 0.00939371758,
+ 0.01101254858,
+ 0.00975701058,
+ 0.00982243558,
+ 0.00985740558,
+ 0.00913156158,
+ 0.00937863958,
+ 0.00939020958,
+ 0.00948403758,
+ 0.01003805358,
+ 0.01012161558,
+ 0.00951309658,
+ 0.00956938258,
+ 0.00969025158,
+ 0.00975092958,
+ 0.00983638558,
+ 0.00990679158,
+ 0.00937851258,
+ 0.00936814058,
+ 0.00933785758,
+ 0.01052538758,
+ 0.00973883458,
+ 0.01036322658,
+ 0.00958755558,
+ 0.00934174958,
+ 0.00947939058,
+ 0.00964763658,
+ 0.009883886579999999,
+ 0.00956038358,
+ 0.00948275158,
+ 0.00942250258,
+ 0.00957519058,
+ 0.01038940758,
+ 0.00997503058,
+ 0.01064968258,
+ 0.00996621858,
+ 0.00951186758,
+ 0.00972157358,
+ 0.00981273758,
+ 0.01002631558,
+ 0.00959661558,
+ 0.00936036258,
+ 0.00944510758,
+ 0.00918334558,
+ 0.00943977558,
+ 0.00970397158,
+ 0.00960394658,
+ 0.00948291258,
+ 0.00941555458,
+ 0.00948754658,
+ 0.00954128858,
+ 0.00999600758,
+ 0.00948575458,
+ 0.00927807758,
+ 0.00932335558,
+ 0.00938136658,
+ 0.00926829058,
+ 0.00984111358,
+ 0.00981239558,
+ 0.01005708258,
+ 0.00964531958,
+ 0.01022061158,
+ 0.01007052858,
+ 0.01048683858,
+ 0.00970708458,
+ 0.00937106458,
+ 0.00941163058,
+ 0.00943671458,
+ 0.00963866058,
+ 0.00973369658,
+ 0.00969706558,
+ 0.00923426158
]
},
{
"command": "jq '.user.name.first' benchmark/data.json",
- "mean": 0.026852419405000005,
- "stddev": 0.0014036072310783729,
- "median": 0.026593068665000004,
- "user": 0.024209269999999995,
- "system": 0.0010136299999999997,
- "min": 0.024821941165000003,
- "max": 0.032142977164999996,
+ "mean": 0.025805323099999996,
+ "stddev": 0.0009778646823961625,
+ "median": 0.025582319580000002,
+ "user": 0.023542685000000004,
+ "system": 0.000673835,
+ "min": 0.02439773458,
+ "max": 0.029851083580000003,
"times": [
- 0.027051364165,
- 0.025909316165,
- 0.026488035165000003,
- 0.025813642165,
- 0.026725280165000004,
- 0.025402790165,
- 0.026105954165000004,
- 0.025885706165,
- 0.025680770165000002,
- 0.025740177165000003,
- 0.025670013165,
- 0.025833677165000003,
- 0.026402497165000004,
- 0.025621876165,
- 0.025631874165000002,
- 0.026259428165,
- 0.026551074165,
- 0.026375725165000002,
- 0.025619810165000003,
- 0.025272675165,
- 0.025820622165,
- 0.026337043165,
- 0.026224266165000003,
- 0.025907438165,
- 0.025877865165000003,
- 0.026238899165000003,
- 0.025380964165000002,
- 0.026624451165000004,
- 0.024821941165000003,
- 0.025380543165,
- 0.026611003165,
- 0.025896908165000003,
- 0.026082659165,
- 0.026462711165000003,
- 0.025919503165000003,
- 0.029180270165000004,
- 0.027386704165,
- 0.027317745165,
- 0.028126447165000002,
- 0.030721246165000004,
- 0.029120974165000004,
- 0.026966055165000002,
- 0.026674181165,
- 0.026223447165000004,
- 0.026149542165,
- 0.027031846165,
- 0.026965013165000003,
- 0.027032329165000004,
- 0.029681753165,
- 0.027729794165000002,
- 0.030322813165,
- 0.032142977164999996,
- 0.031034488165000002,
- 0.026286246165000002,
- 0.026575134165000003,
- 0.026947162165000003,
- 0.027006302165000003,
- 0.025635376165,
- 0.025614805165,
- 0.026780413165000003,
- 0.026359887165000002,
- 0.028567349165000002,
- 0.029963363165000003,
- 0.026568666165,
- 0.026692604165,
- 0.027012750165000002,
- 0.026703360165000002,
- 0.026692910165000003,
- 0.032138500165,
- 0.029894775165,
- 0.027112881165,
- 0.028354486165,
- 0.026655582165000004,
- 0.026482559165000003,
- 0.026847821165,
- 0.027129380165,
- 0.026958708165,
- 0.026611362165000003,
- 0.026037996165000004,
- 0.026768176165,
- 0.025614863165,
- 0.025702771165000003,
- 0.027184937165000003,
- 0.027947699165000003,
- 0.027049602165000002,
- 0.027079630165000004,
- 0.026140067165000003,
- 0.026809155165,
- 0.026748742165000002,
- 0.025833506165000002,
- 0.026555417165,
- 0.026846429165,
- 0.026470287165000002,
- 0.027084908165,
- 0.025803733165000002,
- 0.025529618165000004,
- 0.027069147165,
- 0.026276953165000002,
- 0.026738094165000004,
- 0.026921690165
+ 0.02511395658,
+ 0.026618158580000002,
+ 0.02510282958,
+ 0.026301070580000002,
+ 0.025301061580000003,
+ 0.02526014658,
+ 0.025245490580000002,
+ 0.027652429580000002,
+ 0.02719853958,
+ 0.027060550580000002,
+ 0.02623344558,
+ 0.02619599358,
+ 0.02541652158,
+ 0.02507141258,
+ 0.02576790358,
+ 0.02538346358,
+ 0.02530581258,
+ 0.02561877558,
+ 0.02609682558,
+ 0.02477809558,
+ 0.02642447758,
+ 0.026048163580000002,
+ 0.02551930858,
+ 0.02536953758,
+ 0.027903082580000002,
+ 0.026035488580000002,
+ 0.029851083580000003,
+ 0.02486283958,
+ 0.02585790258,
+ 0.02608982658,
+ 0.02553785658,
+ 0.02584267358,
+ 0.02585566558,
+ 0.02547104558,
+ 0.02582720858,
+ 0.02637936158,
+ 0.02497120258,
+ 0.025582477580000002,
+ 0.025464115580000002,
+ 0.02498079158,
+ 0.025549395580000002,
+ 0.02685651658,
+ 0.025250900580000003,
+ 0.028087432580000002,
+ 0.026154990580000002,
+ 0.02516730358,
+ 0.02522178858,
+ 0.02613709658,
+ 0.025138972580000002,
+ 0.025582161580000002,
+ 0.025187274580000002,
+ 0.02577792358,
+ 0.02573949658,
+ 0.025289342580000002,
+ 0.025338995580000002,
+ 0.025236689580000003,
+ 0.02442985958,
+ 0.02548386558,
+ 0.02515906058,
+ 0.02676250758,
+ 0.02599676458,
+ 0.029311057580000004,
+ 0.025697419580000002,
+ 0.025899400580000002,
+ 0.02596314558,
+ 0.02561015158,
+ 0.02584306558,
+ 0.02504465858,
+ 0.02452364958,
+ 0.025851783580000003,
+ 0.024660400580000002,
+ 0.024773226580000002,
+ 0.02525783258,
+ 0.02585741158,
+ 0.02535227558,
+ 0.02516137258,
+ 0.027485190580000003,
+ 0.02489346158,
+ 0.02761422858,
+ 0.025754705580000002,
+ 0.02521107058,
+ 0.02575341258,
+ 0.02535163658,
+ 0.02549640858,
+ 0.02548809358,
+ 0.02465027358,
+ 0.02486119158,
+ 0.02439773458,
+ 0.02612636958,
+ 0.026335524580000002,
+ 0.02468754258,
+ 0.02495872758,
+ 0.02605249658,
+ 0.02527400158,
+ 0.02667051658,
+ 0.02578740858,
+ 0.029150980580000003,
+ 0.02546091658,
+ 0.025609159580000002,
+ 0.02650947358
]
},
{
"command": "yq --yaml-output '.user.name.first' benchmark/data.yaml",
- "mean": 0.12230806723500005,
- "stddev": 0.024705850172537753,
- "median": 0.112647865165,
- "user": 0.09943549999999993,
- "system": 0.021296269999999996,
- "min": 0.106152573165,
- "max": 0.261096012165,
+ "mean": 0.11251793849,
+ "stddev": 0.004419558761966722,
+ "median": 0.11147264958,
+ "user": 0.09193255499999997,
+ "system": 0.019707455,
+ "min": 0.10707205358,
+ "max": 0.13535515958,
"times": [
- 0.261096012165,
- 0.20933522316500003,
- 0.196375252165,
- 0.14302093316500003,
- 0.15957713816500002,
- 0.15773895616500003,
- 0.16073993216500002,
- 0.156715258165,
- 0.15283285116500003,
- 0.146031471165,
- 0.120270132165,
- 0.13483279416500002,
- 0.13392554316500002,
- 0.13665983116500002,
- 0.120931993165,
- 0.11745182516500001,
- 0.121047921165,
- 0.112746737165,
- 0.112434035165,
- 0.116408309165,
- 0.116190757165,
- 0.13495977116500002,
- 0.120599937165,
- 0.129344034165,
- 0.114797171165,
- 0.111620655165,
- 0.127447645165,
- 0.131844465165,
- 0.13526801716500003,
- 0.14110188716500002,
- 0.121048838165,
- 0.12374917916500001,
- 0.13333562316500003,
- 0.117258082165,
- 0.114408989165,
- 0.111499149165,
- 0.112548993165,
- 0.11349329216500001,
- 0.110528389165,
- 0.10762598216500001,
- 0.11171468616500001,
- 0.11395427216500001,
- 0.112393040165,
- 0.12049032216500001,
- 0.119967460165,
- 0.135802908165,
- 0.121154653165,
- 0.108915542165,
- 0.108473150165,
- 0.110790133165,
- 0.110153744165,
- 0.109476707165,
- 0.11290879016500001,
- 0.11103800216500001,
- 0.10934162916500001,
- 0.109326817165,
- 0.108598157165,
- 0.107715474165,
- 0.10866294616500001,
- 0.11084028616500001,
- 0.11592617316500001,
- 0.112474641165,
- 0.112340402165,
- 0.108913719165,
- 0.108036927165,
- 0.108963349165,
- 0.107175592165,
- 0.10842473416500001,
- 0.109621225165,
- 0.108492238165,
- 0.11104206216500001,
- 0.10881545116500001,
- 0.110658305165,
- 0.109876215165,
- 0.131106691165,
- 0.113250338165,
- 0.108380751165,
- 0.10901685716500001,
- 0.109110732165,
- 0.115544507165,
- 0.22061537816500001,
- 0.11707998816500001,
- 0.109149012165,
- 0.108110896165,
- 0.10943061416500001,
- 0.13016425516500002,
- 0.124555050165,
- 0.125034501165,
- 0.114241726165,
- 0.108890096165,
- 0.10864438416500001,
- 0.107820970165,
- 0.10819508816500001,
- 0.10718092416500001,
- 0.10723771816500001,
- 0.108384615165,
- 0.106650990165,
- 0.10673412916500001,
- 0.108801172165,
- 0.106152573165
+ 0.10976853558,
+ 0.11658849858,
+ 0.11441131458,
+ 0.11121408158,
+ 0.10878658658,
+ 0.10831633758,
+ 0.11662517958,
+ 0.11208706258000001,
+ 0.10988192058,
+ 0.11078121858000001,
+ 0.11319840958,
+ 0.11021178858,
+ 0.10987155758,
+ 0.11172513758000001,
+ 0.11463870158,
+ 0.11443558358,
+ 0.11242573058000001,
+ 0.11034032258,
+ 0.10874560158,
+ 0.11713185958,
+ 0.11127160258,
+ 0.11199720458000001,
+ 0.11098659858,
+ 0.11138536058000001,
+ 0.11363154158000001,
+ 0.10941311658,
+ 0.10956285758,
+ 0.11279068958,
+ 0.11611642658,
+ 0.10994919558,
+ 0.11108485158,
+ 0.11198168658,
+ 0.11417982358,
+ 0.10848553758,
+ 0.11024315458,
+ 0.11206793958,
+ 0.11215193658,
+ 0.11364163058,
+ 0.10789101858,
+ 0.11009271758,
+ 0.11203953558,
+ 0.11232718858,
+ 0.11089320358,
+ 0.10938897758,
+ 0.10985917958000001,
+ 0.11586997858,
+ 0.11033671858,
+ 0.10947345258,
+ 0.10707205358,
+ 0.10989347358,
+ 0.11503289758,
+ 0.10820676758,
+ 0.11019289158000001,
+ 0.10987420258,
+ 0.11627262158,
+ 0.11246187958000001,
+ 0.10877786258000001,
+ 0.11248585658,
+ 0.11046571458,
+ 0.11516519258,
+ 0.11314273158,
+ 0.11326514858,
+ 0.11114852658,
+ 0.11057640158,
+ 0.10886017658000001,
+ 0.11083028058000001,
+ 0.10725738558,
+ 0.11209638258,
+ 0.11029839758,
+ 0.10927820658000001,
+ 0.12149126158000001,
+ 0.12026834858,
+ 0.11351913358,
+ 0.10835877858000001,
+ 0.10924050558000001,
+ 0.11026616358,
+ 0.11379927558,
+ 0.11197987658,
+ 0.11252894358,
+ 0.10851611958,
+ 0.11379657658,
+ 0.11024366158,
+ 0.11155993858,
+ 0.11346313758,
+ 0.11853658458,
+ 0.11675314058,
+ 0.11753053858,
+ 0.13535515958,
+ 0.12058984758,
+ 0.11904753158,
+ 0.10794622258,
+ 0.11024416558,
+ 0.10948296358000001,
+ 0.11226879858000001,
+ 0.11208266458,
+ 0.10801355858,
+ 0.10943763658,
+ 0.11706052958,
+ 0.12837544758,
+ 0.12708373258
]
}
]
diff --git a/benchmark/data/overwrite_object.json b/benchmark/data/overwrite_object.json
index bb8fc0d..7e2cb38 100644
--- a/benchmark/data/overwrite_object.json
+++ b/benchmark/data/overwrite_object.json
@@ -2,338 +2,338 @@
"results": [
{
"command": "dasel put object -f benchmark/data.json -o - -t string -t string '.user.name' first=Frank last=Jones",
- "mean": 0.006623650375,
- "stddev": 0.0011302864592830776,
- "median": 0.006261203975000001,
- "user": 0.003903879999999998,
- "system": 0.0020937399999999993,
- "min": 0.004462233475000001,
- "max": 0.009377175475000001,
+ "mean": 0.01147854911,
+ "stddev": 0.0024501568028565362,
+ "median": 0.01036958871,
+ "user": 0.006968239999999999,
+ "system": 0.0033104150000000006,
+ "min": 0.009480590710000002,
+ "max": 0.020447198710000003,
"times": [
- 0.008175123475,
- 0.007714804475,
- 0.007645854475,
- 0.007758632475000001,
- 0.008399296475,
- 0.008044239475000001,
- 0.007836674475000001,
- 0.0076682774750000005,
- 0.008175272475,
- 0.007979503475,
- 0.007850217475,
- 0.007563090475000001,
- 0.008051226475000001,
- 0.007834017475,
- 0.007489310475,
- 0.008043145475000001,
- 0.007893724475,
- 0.009115670475,
- 0.007915874475000001,
- 0.008040318475,
- 0.008042618475,
- 0.008088239475,
- 0.007769355475,
- 0.007642184475000001,
- 0.008984137475,
- 0.008209719475,
- 0.009377175475000001,
- 0.008012189475,
- 0.008680959475000001,
- 0.007763127475000001,
- 0.0077001734750000005,
- 0.007401120475,
- 0.007071110475000001,
- 0.006448035475000001,
- 0.006185814475000001,
- 0.007264614475,
- 0.006469129475,
- 0.006092438475,
- 0.006103071475000001,
- 0.006487758475000001,
- 0.006388039475000001,
- 0.006157182475,
- 0.006183486475000001,
- 0.006115602475000001,
- 0.006067784475000001,
- 0.006184362475,
- 0.005806311475000001,
- 0.005444472475,
- 0.006107678475000001,
- 0.0053402244750000005,
- 0.004625463475000001,
- 0.004467660475000001,
- 0.005400559475,
- 0.006974416475,
- 0.006554531475,
- 0.006280358475000001,
- 0.006026015475,
- 0.0059900554750000005,
- 0.005913723475,
- 0.006527978475,
- 0.006343766475,
- 0.007667128475,
- 0.006378602475,
- 0.005992661475000001,
- 0.006031587475000001,
- 0.006045156475000001,
- 0.006061736475000001,
- 0.005856311475000001,
- 0.006100312475000001,
- 0.006329718475000001,
- 0.006242049475000001,
- 0.006044061475000001,
- 0.0060390464750000004,
- 0.005071423475,
- 0.0045357844750000004,
- 0.004711236475,
- 0.006098155475,
- 0.005675430475,
- 0.005708349475000001,
- 0.004513827475000001,
- 0.005543441475000001,
- 0.006238584475000001,
- 0.006049601475000001,
- 0.006159222475,
- 0.006403879475000001,
- 0.006074986475,
- 0.005868609475,
- 0.005265503475000001,
- 0.004462233475000001,
- 0.004734062475,
- 0.005344257475000001,
- 0.005555219475000001,
- 0.006237635475000001,
- 0.006197506475000001,
- 0.006098624475,
- 0.005968289475000001,
- 0.005840252475,
- 0.006609840475,
- 0.006429578475000001,
- 0.006294206475000001
+ 0.010082365710000001,
+ 0.010320453710000002,
+ 0.01012203371,
+ 0.010082554710000002,
+ 0.009995412710000002,
+ 0.009769165710000001,
+ 0.010144331710000001,
+ 0.010527536710000002,
+ 0.010462398710000001,
+ 0.01037230771,
+ 0.009891278710000001,
+ 0.009894866710000002,
+ 0.009819925710000002,
+ 0.01036686971,
+ 0.01003488171,
+ 0.009720433710000002,
+ 0.009783660710000001,
+ 0.009752362710000002,
+ 0.00972835571,
+ 0.00990524771,
+ 0.009812194710000001,
+ 0.01000929971,
+ 0.009974116710000001,
+ 0.009641469710000001,
+ 0.009960982710000002,
+ 0.010349910710000002,
+ 0.010132491710000002,
+ 0.01047378571,
+ 0.010906009710000001,
+ 0.010565274710000001,
+ 0.010113840710000002,
+ 0.010633995710000002,
+ 0.010390491710000001,
+ 0.01080669371,
+ 0.010075934710000001,
+ 0.010665044710000002,
+ 0.010377522710000002,
+ 0.00984349571,
+ 0.00958493571,
+ 0.009480590710000002,
+ 0.01032018571,
+ 0.01130495771,
+ 0.010806048710000002,
+ 0.01064933271,
+ 0.010302578710000001,
+ 0.009545559710000002,
+ 0.010850263710000002,
+ 0.017501819710000005,
+ 0.011458692710000001,
+ 0.01160838171,
+ 0.01188299471,
+ 0.012214441710000001,
+ 0.012150942710000001,
+ 0.011128119710000002,
+ 0.010776707710000001,
+ 0.010042348710000001,
+ 0.010688913710000001,
+ 0.010657678710000002,
+ 0.010135848710000001,
+ 0.00982212571,
+ 0.009717768710000001,
+ 0.00998519871,
+ 0.009815826710000001,
+ 0.010528683710000002,
+ 0.01035627071,
+ 0.010030466710000002,
+ 0.009822584710000002,
+ 0.009692227710000001,
+ 0.010485743710000002,
+ 0.009890994710000002,
+ 0.009598287710000002,
+ 0.00964190271,
+ 0.010085191710000002,
+ 0.009897608710000002,
+ 0.01039836371,
+ 0.01011763671,
+ 0.009673816710000002,
+ 0.010038491710000002,
+ 0.01338926971,
+ 0.016244817710000005,
+ 0.01473677871,
+ 0.01355103771,
+ 0.01490711471,
+ 0.01432654771,
+ 0.014715156710000002,
+ 0.01571583371,
+ 0.014888874710000001,
+ 0.015590129710000003,
+ 0.014631003710000002,
+ 0.013953680710000001,
+ 0.01324303771,
+ 0.01557738571,
+ 0.014746397710000003,
+ 0.01541669271,
+ 0.013386175710000002,
+ 0.016107830710000003,
+ 0.016360880710000004,
+ 0.019596280710000004,
+ 0.020447198710000003,
+ 0.018123249710000004
]
},
{
"command": "jq '.user.name = {\"first\":\"Frank\",\"last\":\"Jones\"}' benchmark/data.json",
- "mean": 0.024618192335000004,
- "stddev": 0.0009032520626577474,
- "median": 0.024546977975000002,
- "user": 0.023135349999999996,
- "system": 0.00030064999999999985,
- "min": 0.022813170475000002,
- "max": 0.027902826475000003,
+ "mean": 0.02642518612999999,
+ "stddev": 0.0022577798254652067,
+ "median": 0.025796484210000005,
+ "user": 0.024050480000000016,
+ "system": 0.0007247349999999997,
+ "min": 0.024509628710000005,
+ "max": 0.04078871071,
"times": [
- 0.025868315475000004,
- 0.025429526475000002,
- 0.025911976475000004,
- 0.026619021475000004,
- 0.025049745475000003,
- 0.025185726475000003,
- 0.025083801475000004,
- 0.024931443475000002,
- 0.025176811475000005,
- 0.026213348475000002,
- 0.025067568475000003,
- 0.024678125475000003,
- 0.024606285475000003,
- 0.024125231475000005,
- 0.024224366475000002,
- 0.024347994475000002,
- 0.023417773475000004,
- 0.026385297475000003,
- 0.025030481475000005,
- 0.024675296475000004,
- 0.023985611475000005,
- 0.024885990475000005,
- 0.023572992475000002,
- 0.023694842475000002,
- 0.023980639475000003,
- 0.023328697475000004,
- 0.025184489475000002,
- 0.025007798475000002,
- 0.024963567475000004,
- 0.024088003475000005,
- 0.024772714475000002,
- 0.024661363475000003,
- 0.024771966475000004,
- 0.023781366475000003,
- 0.024070612475000003,
- 0.027640021475000002,
- 0.025322328475000003,
- 0.024827506475000004,
- 0.024908698475000005,
- 0.024041984475000003,
- 0.025291757475000003,
- 0.024654337475000003,
- 0.024012354475000004,
- 0.022813170475000002,
- 0.026401461475000002,
- 0.024011742475000004,
- 0.023661514475000003,
- 0.024485787475000003,
- 0.024657828475000004,
- 0.024020547475000004,
- 0.025015130475000005,
- 0.023339866475000002,
- 0.023955438475000004,
- 0.025789396475000004,
- 0.024406769475000003,
- 0.024188639475000002,
- 0.024737071475000004,
- 0.024111817475000002,
- 0.024368840475000004,
- 0.024789715475000005,
- 0.024538686475,
- 0.024276916475000004,
- 0.025362606475000004,
- 0.023885302475000002,
- 0.025071192475000004,
- 0.024167937475000005,
- 0.023531207475000003,
- 0.023606549475000002,
- 0.023905518475000002,
- 0.023419943475000003,
- 0.025398117475000002,
- 0.026043525475000003,
- 0.024200833475000003,
- 0.024754551475000004,
- 0.024241162475000005,
- 0.023516672475000003,
- 0.023923160475000003,
- 0.023911407475000004,
- 0.023355556475000004,
- 0.024678939475000005,
- 0.027902826475000003,
- 0.024450110475,
- 0.024340999475000003,
- 0.025018572475000004,
- 0.025147082475000002,
- 0.024609082475000002,
- 0.023682621475000002,
- 0.023659013475000004,
- 0.024556276475000003,
- 0.026200671475000003,
- 0.024435044475000004,
- 0.024231988475000004,
- 0.024293097475000004,
- 0.025168441475000004,
- 0.024033099475000003,
- 0.024555269475000002,
- 0.023651941475000004,
- 0.023492747475000002,
- 0.026236268475000005,
- 0.024131770475000005
+ 0.027007992710000005,
+ 0.025520283710000004,
+ 0.027548761710000005,
+ 0.026252914710000005,
+ 0.025129912710000004,
+ 0.028479677710000005,
+ 0.025752402710000004,
+ 0.029444617710000003,
+ 0.036048770710000004,
+ 0.04078871071,
+ 0.03200633571000001,
+ 0.025834819710000005,
+ 0.025576359710000003,
+ 0.026054655710000003,
+ 0.025501484710000005,
+ 0.024509628710000005,
+ 0.025651907710000005,
+ 0.026864024710000003,
+ 0.035619127710000004,
+ 0.026547077710000005,
+ 0.025929157710000005,
+ 0.026142566710000006,
+ 0.026308194710000003,
+ 0.026039431710000005,
+ 0.026197255710000002,
+ 0.025564351710000002,
+ 0.025394503710000006,
+ 0.025625394710000002,
+ 0.025573592710000002,
+ 0.024850758710000004,
+ 0.029844005710000003,
+ 0.025487336710000003,
+ 0.025671543710000005,
+ 0.025386551710000003,
+ 0.025535416710000005,
+ 0.028141496710000005,
+ 0.026041104710000006,
+ 0.025696573710000004,
+ 0.027165409710000005,
+ 0.025790278710000003,
+ 0.025203585710000004,
+ 0.026345642710000006,
+ 0.025947330710000004,
+ 0.025013259710000003,
+ 0.025491303710000003,
+ 0.025675617710000005,
+ 0.025431298710000005,
+ 0.026598235710000005,
+ 0.025033425710000005,
+ 0.025632088710000004,
+ 0.026306210710000003,
+ 0.025572109710000002,
+ 0.025552901710000003,
+ 0.027054644710000002,
+ 0.025745731710000004,
+ 0.025429129710000005,
+ 0.025681358710000005,
+ 0.026270238710000005,
+ 0.027274342710000003,
+ 0.025765829710000004,
+ 0.025487177710000003,
+ 0.025693986710000005,
+ 0.026085934710000005,
+ 0.025945700710000005,
+ 0.025138948710000004,
+ 0.025255206710000005,
+ 0.025263909710000004,
+ 0.025449441710000003,
+ 0.025491330710000003,
+ 0.025606312710000002,
+ 0.027713254710000003,
+ 0.026062375710000005,
+ 0.025435529710000005,
+ 0.027008754710000003,
+ 0.026392911710000005,
+ 0.026066675710000004,
+ 0.026671047710000003,
+ 0.025477392710000005,
+ 0.026150487710000003,
+ 0.026530083710000003,
+ 0.024953150710000004,
+ 0.025791667710000004,
+ 0.025199638710000003,
+ 0.025256442710000004,
+ 0.025471448710000004,
+ 0.026135017710000003,
+ 0.025527766710000004,
+ 0.026003399710000003,
+ 0.027688009710000003,
+ 0.026578629710000003,
+ 0.025833135710000003,
+ 0.025534659710000004,
+ 0.026282667710000002,
+ 0.025801300710000002,
+ 0.025843515710000004,
+ 0.026359826710000003,
+ 0.026670613710000002,
+ 0.026271903710000002,
+ 0.025606345710000002,
+ 0.025234326710000005
]
},
{
"command": "yq --yaml-output '.user.name = {\"first\":\"Frank\",\"last\":\"Jones\"}' benchmark/data.yaml",
- "mean": 0.11244994796499999,
- "stddev": 0.006261853981529927,
- "median": 0.11055841697500002,
- "user": 0.09355065,
- "system": 0.018698560000000006,
- "min": 0.10452919847500002,
- "max": 0.138732205475,
+ "mean": 0.11426311908999998,
+ "stddev": 0.0029450363208449607,
+ "median": 0.11446832671000001,
+ "user": 0.09349115999999999,
+ "system": 0.019949814999999996,
+ "min": 0.10823863571,
+ "max": 0.12795704671000002,
"times": [
- 0.10934544147500001,
- 0.10679328247500001,
- 0.108948286475,
- 0.11243422547500001,
- 0.10587689447500001,
- 0.110757503475,
- 0.10546977747500001,
- 0.10807237747500001,
- 0.111474860475,
- 0.13461336747500002,
- 0.11342201047500002,
- 0.108536795475,
- 0.106582666475,
- 0.106366813475,
- 0.10725729847500001,
- 0.10621550847500001,
- 0.10918503147500001,
- 0.105802583475,
- 0.10741269647500001,
- 0.11021617947500001,
- 0.10758252747500001,
- 0.10899794447500001,
- 0.106306456475,
- 0.10739530047500001,
- 0.107635612475,
- 0.11036376947500001,
- 0.12041485747500001,
- 0.138732205475,
- 0.13306490447500002,
- 0.11711404847500001,
- 0.107393991475,
- 0.11279518947500002,
- 0.109729189475,
- 0.11674363947500001,
- 0.11602493447500001,
- 0.11603686347500002,
- 0.124660898475,
- 0.12089758847500001,
- 0.110168020475,
- 0.120508334475,
- 0.117068894475,
- 0.10908154647500001,
- 0.10658711347500001,
- 0.11266091747500001,
- 0.10790134047500001,
- 0.10572785147500001,
- 0.11504185647500001,
- 0.10868490447500001,
- 0.114668343475,
- 0.10866777047500001,
- 0.11670727447500001,
- 0.122430049475,
- 0.11946963647500002,
- 0.11073271047500001,
- 0.111983222475,
- 0.11290722447500001,
- 0.111534000475,
- 0.115590906475,
- 0.114515872475,
- 0.11631152947500001,
- 0.115531659475,
- 0.11216981947500002,
- 0.109474338475,
- 0.11358005447500001,
- 0.107346853475,
- 0.10978137147500001,
- 0.10983950647500001,
- 0.111854322475,
- 0.114268348475,
- 0.12252592847500002,
- 0.119214306475,
- 0.126650044475,
- 0.11066286147500001,
- 0.114332126475,
- 0.10874403547500001,
- 0.106868150475,
- 0.10688958447500001,
- 0.11704012047500001,
- 0.11045397247500001,
- 0.11043922347500001,
- 0.109102286475,
- 0.116830938475,
- 0.111920213475,
- 0.11493043547500001,
- 0.114086106475,
- 0.11068686047500001,
- 0.112463921475,
- 0.12175067447500001,
- 0.109800718475,
- 0.10677898047500001,
- 0.10452919847500002,
- 0.115332600475,
- 0.10951303147500001,
- 0.109900458475,
- 0.109097298475,
- 0.10735400547500001,
- 0.10913476047500001,
- 0.10511152747500001,
- 0.10762656047500001,
- 0.115754748475
+ 0.11452176371000002,
+ 0.11482191171000002,
+ 0.11190310871,
+ 0.10823863571,
+ 0.11312147471,
+ 0.11476505171000001,
+ 0.11419487671,
+ 0.11149600071000001,
+ 0.11427189571000002,
+ 0.11210951571000001,
+ 0.11602066771000001,
+ 0.10871040471000001,
+ 0.11221337471000001,
+ 0.11347133571000001,
+ 0.11139645071000001,
+ 0.11042845971000001,
+ 0.11257118471000001,
+ 0.11578128671000001,
+ 0.11569880971,
+ 0.11178157471000001,
+ 0.10923015671000001,
+ 0.11373933771000001,
+ 0.11119371171,
+ 0.11374537171000002,
+ 0.11123440171000001,
+ 0.11212420771,
+ 0.11573491471000001,
+ 0.11518880571000001,
+ 0.11389164271,
+ 0.11005427071000001,
+ 0.11531800671,
+ 0.11089177371000002,
+ 0.11519075671000001,
+ 0.11083641471000001,
+ 0.11466528171000001,
+ 0.11774967471000002,
+ 0.11395905071000001,
+ 0.11296465171000002,
+ 0.11320606571000001,
+ 0.11533034771,
+ 0.11415524771,
+ 0.11234936371000001,
+ 0.11107366271,
+ 0.11708999771,
+ 0.11548636671000001,
+ 0.11512121071,
+ 0.11292691071000001,
+ 0.11927127071000002,
+ 0.11567075971000002,
+ 0.11868384171000002,
+ 0.11259958771,
+ 0.11479239271000001,
+ 0.11653903471,
+ 0.11769586371000001,
+ 0.11631614071000002,
+ 0.10870469171000001,
+ 0.11670291171000001,
+ 0.11631986071000001,
+ 0.11474772071000001,
+ 0.11263502471,
+ 0.11753591171000001,
+ 0.11691298171000002,
+ 0.11467123871000001,
+ 0.11121674171000001,
+ 0.11771403671000001,
+ 0.11104808771,
+ 0.11747589571000001,
+ 0.11367024271000001,
+ 0.11231752671,
+ 0.11531882771000002,
+ 0.12163291471000001,
+ 0.11464100471000001,
+ 0.11122732971,
+ 0.11596742771000002,
+ 0.11585900371,
+ 0.11664083271,
+ 0.11125828471000002,
+ 0.11591784571000001,
+ 0.11187192671000001,
+ 0.11522736071,
+ 0.11179057771,
+ 0.11811605771000001,
+ 0.11441488971000001,
+ 0.11674491671000001,
+ 0.11047145571000001,
+ 0.10947781871000001,
+ 0.11582005371000001,
+ 0.11900627471000001,
+ 0.11369052571,
+ 0.11069332471000001,
+ 0.11540379371000001,
+ 0.11566466971000001,
+ 0.11484508371,
+ 0.11514626371000002,
+ 0.12795704671000002,
+ 0.11850139071000002,
+ 0.11633439571000001,
+ 0.11405687971,
+ 0.11386520071,
+ 0.11353737671000001
]
}
]
diff --git a/benchmark/data/root_object.json b/benchmark/data/root_object.json
new file mode 100644
index 0000000..7c9de40
--- /dev/null
+++ b/benchmark/data/root_object.json
@@ -0,0 +1,340 @@
+{
+ "results": [
+ {
+ "command": "dasel -f benchmark/data.json",
+ "mean": 0.01068580101,
+ "stddev": 0.0017885535637426754,
+ "median": 0.010428760490000001,
+ "user": 0.0065733399999999996,
+ "system": 0.002755174999999999,
+ "min": 0.00948265199,
+ "max": 0.02720718899,
+ "times": [
+ 0.01147078799,
+ 0.02720718899,
+ 0.01185635099,
+ 0.01150031199,
+ 0.01146050799,
+ 0.01183903899,
+ 0.01120099699,
+ 0.01166990799,
+ 0.01107697999,
+ 0.01128783999,
+ 0.01146352299,
+ 0.01089626199,
+ 0.01042030899,
+ 0.01024157799,
+ 0.01139944599,
+ 0.01126833399,
+ 0.01053404999,
+ 0.01026534399,
+ 0.01031201799,
+ 0.011924237990000001,
+ 0.01134715199,
+ 0.01170358099,
+ 0.01083549999,
+ 0.01051702999,
+ 0.010137006990000001,
+ 0.01031897099,
+ 0.01121864099,
+ 0.010650206990000001,
+ 0.01045902399,
+ 0.01041381699,
+ 0.00976258799,
+ 0.00981987199,
+ 0.01087654799,
+ 0.01050212299,
+ 0.01003342299,
+ 0.00957766999,
+ 0.00975446499,
+ 0.01028843299,
+ 0.01060689299,
+ 0.01019363299,
+ 0.01032367699,
+ 0.01160572899,
+ 0.01037925099,
+ 0.01058550699,
+ 0.01011179899,
+ 0.00990374499,
+ 0.00948265199,
+ 0.01037218799,
+ 0.01073102099,
+ 0.01034953199,
+ 0.01131044499,
+ 0.01011982699,
+ 0.00985103199,
+ 0.00986547299,
+ 0.00989316599,
+ 0.01065038999,
+ 0.01103242799,
+ 0.01088847499,
+ 0.01097343899,
+ 0.01078339299,
+ 0.01127104099,
+ 0.01085131799,
+ 0.010273696990000001,
+ 0.01009055199,
+ 0.01018490999,
+ 0.01025598699,
+ 0.01055167199,
+ 0.01051407799,
+ 0.01101416399,
+ 0.01242446999,
+ 0.01078144999,
+ 0.01054048399,
+ 0.01099657799,
+ 0.01045606399,
+ 0.00963750299,
+ 0.00958582099,
+ 0.00977411899,
+ 0.009633360990000001,
+ 0.010692342990000001,
+ 0.01016780999,
+ 0.00979818599,
+ 0.00983345599,
+ 0.00981225899,
+ 0.01005829699,
+ 0.01021780899,
+ 0.00965468699,
+ 0.00967827599,
+ 0.00988889199,
+ 0.00955873299,
+ 0.00998730799,
+ 0.01059868899,
+ 0.01116731999,
+ 0.01035703099,
+ 0.01010555799,
+ 0.009825181990000001,
+ 0.01077360299,
+ 0.01043721199,
+ 0.01004932099,
+ 0.00963799699,
+ 0.00991810299
+ ]
+ },
+ {
+ "command": "jq '.' benchmark/data.json",
+ "mean": 0.026338770360000003,
+ "stddev": 0.0012436944779636214,
+ "median": 0.026039876990000002,
+ "user": 0.02368040999999999,
+ "system": 0.0008810650000000008,
+ "min": 0.024873705989999998,
+ "max": 0.03326463099,
+ "times": [
+ 0.02594334199,
+ 0.025971168989999998,
+ 0.02523428399,
+ 0.02601987499,
+ 0.02812656699,
+ 0.026983100989999998,
+ 0.02608439499,
+ 0.02659927099,
+ 0.02592703999,
+ 0.026271072989999998,
+ 0.02576693599,
+ 0.025798321989999998,
+ 0.025481424989999998,
+ 0.025459112989999998,
+ 0.02604177999,
+ 0.02880508099,
+ 0.02557427499,
+ 0.02558444799,
+ 0.02652870299,
+ 0.02531856099,
+ 0.02703135599,
+ 0.02537123399,
+ 0.02544230199,
+ 0.02626339299,
+ 0.02580472899,
+ 0.02543191699,
+ 0.02596187099,
+ 0.02615030999,
+ 0.02539796599,
+ 0.02619871099,
+ 0.02501444199,
+ 0.02591997899,
+ 0.02492057399,
+ 0.03023032399,
+ 0.02623328099,
+ 0.02628717999,
+ 0.026111935989999998,
+ 0.030459641989999998,
+ 0.028769503989999997,
+ 0.02968320399,
+ 0.03326463099,
+ 0.02818218699,
+ 0.027683751989999998,
+ 0.02607424399,
+ 0.02613689699,
+ 0.02612730799,
+ 0.02543973699,
+ 0.02590856799,
+ 0.026685925989999998,
+ 0.02765900299,
+ 0.02567208099,
+ 0.02527577399,
+ 0.02607012199,
+ 0.026839057989999998,
+ 0.02731633499,
+ 0.02552340899,
+ 0.02540043899,
+ 0.02663514899,
+ 0.02564601599,
+ 0.02493889099,
+ 0.02546353999,
+ 0.02596312599,
+ 0.02557643299,
+ 0.02603797399,
+ 0.02580604099,
+ 0.02644521399,
+ 0.02637828099,
+ 0.02841101199,
+ 0.02588274099,
+ 0.02653739299,
+ 0.02573029199,
+ 0.02662491899,
+ 0.02671788399,
+ 0.02616650599,
+ 0.02641422399,
+ 0.025894773989999998,
+ 0.024873705989999998,
+ 0.025849918989999998,
+ 0.02542783799,
+ 0.02576453599,
+ 0.02677627299,
+ 0.02585526999,
+ 0.02605038099,
+ 0.02565313899,
+ 0.02649288699,
+ 0.02691392599,
+ 0.02574930599,
+ 0.02656355399,
+ 0.02595608199,
+ 0.026376588989999998,
+ 0.02651945999,
+ 0.02668244799,
+ 0.02603775299,
+ 0.02507989399,
+ 0.02596199899,
+ 0.02649013099,
+ 0.02658869699,
+ 0.02655802899,
+ 0.02539983699,
+ 0.02552288599
+ ]
+ },
+ {
+ "command": "yq --yaml-output '.' benchmark/data.yaml",
+ "mean": 0.12759371102000008,
+ "stddev": 0.020923998723406615,
+ "median": 0.11929257649000001,
+ "user": 0.10164124999999999,
+ "system": 0.023000514999999996,
+ "min": 0.10799343799000001,
+ "max": 0.27322541899,
+ "times": [
+ 0.11341299999000001,
+ 0.11459196399,
+ 0.11847805699000001,
+ 0.11564908399000001,
+ 0.11279818199000001,
+ 0.11819533199000001,
+ 0.11429580699000001,
+ 0.11124413999,
+ 0.11356666399000001,
+ 0.11190143699,
+ 0.14377517899,
+ 0.14156573099,
+ 0.15050576599,
+ 0.12350522499,
+ 0.11198369199000001,
+ 0.11934439199,
+ 0.13056164399,
+ 0.14071549399000002,
+ 0.13678118599,
+ 0.14167076599,
+ 0.14225983099,
+ 0.14055503599000002,
+ 0.14869547999000002,
+ 0.14498030399,
+ 0.12440881899,
+ 0.12632216099000002,
+ 0.11411566999,
+ 0.11567310999000001,
+ 0.12420982499,
+ 0.13108915199,
+ 0.11751069499000001,
+ 0.12666380899000002,
+ 0.14202163899,
+ 0.13653854399,
+ 0.13763492299000002,
+ 0.12573684499,
+ 0.11924076099000001,
+ 0.14778138199000002,
+ 0.27322541899,
+ 0.15450063299,
+ 0.14910155199,
+ 0.16803768699000002,
+ 0.15716165199,
+ 0.13991227499,
+ 0.14257224499,
+ 0.13566110599,
+ 0.11966889199000001,
+ 0.11372823799000001,
+ 0.11882626799000001,
+ 0.16158839599000002,
+ 0.16280689099,
+ 0.14513093399000002,
+ 0.15559258399,
+ 0.14737549499000002,
+ 0.13807862599,
+ 0.13831272899000002,
+ 0.13702485699,
+ 0.13675449699,
+ 0.13810778299,
+ 0.12096534099,
+ 0.12413806499000002,
+ 0.11997802699000001,
+ 0.12381190199,
+ 0.11822001899000001,
+ 0.11118063099000002,
+ 0.11626165199,
+ 0.11632556699,
+ 0.14261335399,
+ 0.13252467199,
+ 0.11897122199000001,
+ 0.11620579699000001,
+ 0.11291462499,
+ 0.10799343799000001,
+ 0.13115523699,
+ 0.13559532699000001,
+ 0.11845203599000001,
+ 0.11233268199,
+ 0.11720486599,
+ 0.11452764599000001,
+ 0.11114366199,
+ 0.11228628699000001,
+ 0.10887918999000001,
+ 0.11449853899000001,
+ 0.11355284999000001,
+ 0.11256258699,
+ 0.11246113999000001,
+ 0.11380704799000001,
+ 0.11525346399000001,
+ 0.11241114199,
+ 0.10985068799000001,
+ 0.11322427099000001,
+ 0.11243382799000001,
+ 0.11648931399000001,
+ 0.11105844999,
+ 0.11138730499,
+ 0.11432508999,
+ 0.11426180899,
+ 0.11010178199000001,
+ 0.11096811999,
+ 0.11389294399000001
+ ]
+ }
+ ]
+}
diff --git a/benchmark/data/top_level_property.json b/benchmark/data/top_level_property.json
index 56eebb9..9ee5520 100644
--- a/benchmark/data/top_level_property.json
+++ b/benchmark/data/top_level_property.json
@@ -2,338 +2,338 @@
"results": [
{
"command": "dasel -f benchmark/data.json '.id'",
- "mean": 0.00749282768,
- "stddev": 0.000575138103393458,
- "median": 0.007300938990000001,
- "user": 0.00408727,
- "system": 0.00252174,
- "min": 0.006410824490000001,
- "max": 0.008946815490000001,
+ "mean": 0.0100167968,
+ "stddev": 0.001976244368627853,
+ "median": 0.00968999065,
+ "user": 0.006243929999999998,
+ "system": 0.0025592049999999993,
+ "min": 0.00905888065,
+ "max": 0.028639288649999997,
"times": [
- 0.007778460490000002,
- 0.006999332490000001,
- 0.007253517490000002,
- 0.007167572490000001,
- 0.0070848624900000014,
- 0.006846594490000002,
- 0.006931592490000001,
- 0.00704059649,
- 0.007286811490000001,
- 0.007460446490000001,
- 0.00726804749,
- 0.008697595490000001,
- 0.007255327490000001,
- 0.006890319490000001,
- 0.007315066490000001,
- 0.007569809490000001,
- 0.007473421490000002,
- 0.0074653964900000015,
- 0.007229317490000001,
- 0.0076394304900000015,
- 0.006955894490000001,
- 0.006884643490000002,
- 0.006939538490000001,
- 0.0075365874900000015,
- 0.008013642490000002,
- 0.007422852490000001,
- 0.007075530490000001,
- 0.006410824490000001,
- 0.007040132490000002,
- 0.007046862490000002,
- 0.00711562349,
- 0.007661672490000002,
- 0.007100293490000001,
- 0.006960017490000001,
- 0.006883099490000001,
- 0.007001799490000002,
- 0.007248472490000001,
- 0.007977516490000001,
- 0.008150072490000002,
- 0.008184550490000001,
- 0.00851859649,
- 0.00788120349,
- 0.007868317490000002,
- 0.007617098490000002,
- 0.0077191394900000005,
- 0.0075176124900000005,
- 0.007513026490000001,
- 0.007114009490000002,
- 0.007511684490000002,
- 0.007480333490000001,
- 0.0073778094900000014,
- 0.007612436490000001,
- 0.00804524449,
- 0.007685014490000001,
- 0.007392481490000002,
- 0.00784516149,
- 0.00851498049,
- 0.008143779490000001,
- 0.008394250490000001,
- 0.00861798249,
- 0.008946815490000001,
- 0.008405735490000002,
- 0.008578596490000001,
- 0.00877441349,
- 0.008495152490000001,
- 0.008788223490000002,
- 0.008909530490000001,
- 0.007950570490000001,
- 0.00794925649,
- 0.007939182490000002,
- 0.008349352490000002,
- 0.008391646490000002,
- 0.007828025490000001,
- 0.007555863490000002,
- 0.0072624984900000016,
- 0.006993126490000001,
- 0.0068955954900000015,
- 0.007108668490000001,
- 0.007197458490000001,
- 0.007274676490000001,
- 0.007333341490000001,
- 0.007129707490000001,
- 0.007057711490000002,
- 0.006817743490000002,
- 0.007133669490000001,
- 0.007374453490000002,
- 0.007251804490000001,
- 0.007083755490000001,
- 0.006917110490000001,
- 0.006919566490000001,
- 0.006864473490000002,
- 0.007095070490000001,
- 0.007149997490000001,
- 0.007197567490000001,
- 0.00712444949,
- 0.006938986490000002,
- 0.006945505490000002,
- 0.006904699490000001,
- 0.006921424490000001,
- 0.006894032490000002
+ 0.009338579650000001,
+ 0.009660364650000001,
+ 0.01086613065,
+ 0.010776774650000001,
+ 0.00995532265,
+ 0.00932302265,
+ 0.009313453650000001,
+ 0.00938772165,
+ 0.00982422865,
+ 0.00977755965,
+ 0.009531465650000001,
+ 0.009439073650000001,
+ 0.00958252465,
+ 0.00962525965,
+ 0.009969282650000001,
+ 0.009501500650000001,
+ 0.00935055465,
+ 0.00935098065,
+ 0.00928288665,
+ 0.009537819650000001,
+ 0.00975950465,
+ 0.01101982565,
+ 0.00938844165,
+ 0.00933036965,
+ 0.009437033650000001,
+ 0.00987299265,
+ 0.00973911665,
+ 0.00934734765,
+ 0.00912548765,
+ 0.009297225650000001,
+ 0.00933434965,
+ 0.00934555865,
+ 0.009769317650000001,
+ 0.00969435465,
+ 0.00961028065,
+ 0.00923019165,
+ 0.00956059465,
+ 0.01040004865,
+ 0.01011993265,
+ 0.01014015065,
+ 0.00931624665,
+ 0.00954915165,
+ 0.00950749665,
+ 0.009685626650000001,
+ 0.01034160165,
+ 0.009871517650000002,
+ 0.009862958650000002,
+ 0.00993768765,
+ 0.009954388650000002,
+ 0.00956098465,
+ 0.00994522265,
+ 0.010121617650000001,
+ 0.00942538065,
+ 0.010477176650000001,
+ 0.01053037165,
+ 0.00990092765,
+ 0.01032154065,
+ 0.01024443765,
+ 0.00942285065,
+ 0.009434890650000001,
+ 0.00942040465,
+ 0.01001054365,
+ 0.010666417650000001,
+ 0.01003621365,
+ 0.00978163265,
+ 0.009354484650000001,
+ 0.00941879965,
+ 0.01007917065,
+ 0.00994276065,
+ 0.00929220065,
+ 0.009256635650000001,
+ 0.00905888065,
+ 0.009699076650000001,
+ 0.028639288649999997,
+ 0.01323054465,
+ 0.01150678965,
+ 0.01064592565,
+ 0.01103169065,
+ 0.01056215865,
+ 0.010659696650000001,
+ 0.01002753365,
+ 0.009667492650000001,
+ 0.009655779650000001,
+ 0.01024298365,
+ 0.01123310565,
+ 0.009656633650000001,
+ 0.009301615650000001,
+ 0.009730754650000001,
+ 0.00975338065,
+ 0.00943408765,
+ 0.01002184465,
+ 0.009790706650000001,
+ 0.009282598650000001,
+ 0.009606825650000001,
+ 0.01042155565,
+ 0.00983077865,
+ 0.009402856650000001,
+ 0.00933373765,
+ 0.00918090665,
+ 0.00948247665
]
},
{
"command": "jq '.id' benchmark/data.json",
- "mean": 0.025755618060000013,
- "stddev": 0.0007041548486897598,
- "median": 0.025728813990000005,
- "user": 0.023486689999999998,
- "system": 0.0008043999999999997,
- "min": 0.02427400649,
- "max": 0.028232306490000005,
+ "mean": 0.02583700885999999,
+ "stddev": 0.0008147755672161446,
+ "median": 0.025635343650000003,
+ "user": 0.023562769999999997,
+ "system": 0.000677985,
+ "min": 0.024207295650000002,
+ "max": 0.03021347765,
"times": [
- 0.026995579490000005,
- 0.02696003449,
- 0.024973432490000003,
- 0.025536762490000003,
- 0.025326203490000004,
- 0.025852574490000002,
- 0.02642541649,
- 0.025712044490000002,
- 0.02594886449,
- 0.02519664749,
- 0.025679033490000003,
- 0.024978888490000004,
- 0.026099830490000003,
- 0.024528968490000004,
- 0.02451534549,
- 0.026181349490000005,
- 0.02619559449,
- 0.025715809490000005,
- 0.026685363490000003,
- 0.02524999849,
- 0.025909283490000004,
- 0.02560488649,
- 0.025636544490000003,
- 0.02532800349,
- 0.026358502490000005,
- 0.025014350490000004,
- 0.024275129490000005,
- 0.026444192490000004,
- 0.025932277490000002,
- 0.025988371490000002,
- 0.026596386490000005,
- 0.025579762490000005,
- 0.026167999490000003,
- 0.02633918449,
- 0.02633553449,
- 0.025784124490000004,
- 0.026219475490000005,
- 0.02526182749,
- 0.02536614049,
- 0.02618435449,
- 0.025287825490000006,
- 0.02516762249,
- 0.025978543490000006,
- 0.025583836490000005,
- 0.02500162049,
- 0.026125946490000003,
- 0.025090899490000006,
- 0.026746677490000002,
- 0.026138810490000004,
- 0.02513617949,
- 0.02525686849,
- 0.025494430490000004,
- 0.02534237149,
- 0.02698870649,
- 0.028232306490000005,
- 0.02556997849,
- 0.02564618749,
- 0.02592530649,
- 0.02486019649,
- 0.027306404490000005,
- 0.025741818490000005,
- 0.025329237490000003,
- 0.02617507249,
- 0.026195816490000003,
- 0.02588477149,
- 0.025599272490000005,
- 0.02524990949,
- 0.024914842490000005,
- 0.026659721490000003,
- 0.026167243490000006,
- 0.02497490049,
- 0.025936179490000003,
- 0.026521073490000005,
- 0.024704463490000002,
- 0.02570450549,
- 0.02540033849,
- 0.025840802490000002,
- 0.025681496490000004,
- 0.02633874749,
- 0.02518454849,
- 0.024587106490000003,
- 0.026649793490000004,
- 0.024647902490000005,
- 0.02665829249,
- 0.026359199490000006,
- 0.025946605490000003,
- 0.02601405249,
- 0.025759696490000004,
- 0.024838243490000002,
- 0.026942878490000002,
- 0.026307672490000003,
- 0.025867387490000004,
- 0.02639476149,
- 0.02521014749,
- 0.02427400649,
- 0.025420373490000002,
- 0.025098760490000004,
- 0.024571389490000005,
- 0.026330594490000005,
- 0.025513387490000004
+ 0.025593039650000003,
+ 0.02496862765,
+ 0.024834862650000004,
+ 0.02555619665,
+ 0.02545896465,
+ 0.02849027565,
+ 0.02569605465,
+ 0.02530075265,
+ 0.02523056965,
+ 0.02513197165,
+ 0.025541269650000004,
+ 0.02551159865,
+ 0.02607241565,
+ 0.02759853265,
+ 0.02589258565,
+ 0.026361352650000003,
+ 0.02550590565,
+ 0.025383038650000002,
+ 0.025679426650000003,
+ 0.02534565865,
+ 0.025586011650000004,
+ 0.025751288650000002,
+ 0.02566618265,
+ 0.025513242650000004,
+ 0.025538504650000002,
+ 0.025005727650000004,
+ 0.026234890650000002,
+ 0.025974776650000003,
+ 0.02505022365,
+ 0.02575044865,
+ 0.025597205650000003,
+ 0.02693936165,
+ 0.02519393365,
+ 0.026295895650000005,
+ 0.025885725650000004,
+ 0.025337609650000002,
+ 0.026617140650000003,
+ 0.025263533650000003,
+ 0.02487899165,
+ 0.02500694965,
+ 0.02554693065,
+ 0.025453301650000003,
+ 0.024207295650000002,
+ 0.02569229765,
+ 0.02505554165,
+ 0.025896150650000005,
+ 0.025361071650000004,
+ 0.026414185650000005,
+ 0.02617951465,
+ 0.02665057765,
+ 0.026837332650000004,
+ 0.026234058650000003,
+ 0.025986669650000002,
+ 0.025869112650000005,
+ 0.025421660650000004,
+ 0.02588070965,
+ 0.02471414065,
+ 0.02592146065,
+ 0.02532325465,
+ 0.02501388365,
+ 0.026848619650000002,
+ 0.03021347765,
+ 0.024931284650000003,
+ 0.02575953165,
+ 0.02567037365,
+ 0.025611115650000002,
+ 0.028129125650000003,
+ 0.026556050650000003,
+ 0.026108453650000002,
+ 0.026646195650000003,
+ 0.025883341650000002,
+ 0.02558578065,
+ 0.02523548465,
+ 0.02543644565,
+ 0.026198411650000003,
+ 0.025816276650000004,
+ 0.025571698650000002,
+ 0.027251233650000005,
+ 0.02645188365,
+ 0.02582103165,
+ 0.02550324165,
+ 0.026294528650000003,
+ 0.02541482865,
+ 0.02734816065,
+ 0.02683355465,
+ 0.025835418650000004,
+ 0.026230553650000002,
+ 0.025653044650000005,
+ 0.025574542650000004,
+ 0.025589836650000003,
+ 0.02551940765,
+ 0.025910020650000004,
+ 0.02608867265,
+ 0.025592749650000003,
+ 0.02585641465,
+ 0.025291242650000004,
+ 0.02524951365,
+ 0.02561764265,
+ 0.025541562650000002,
+ 0.02513023565
]
},
{
"command": "yq --yaml-output '.id' benchmark/data.yaml",
- "mean": 0.11034295556000001,
- "stddev": 0.0039000000116157472,
- "median": 0.10928234549000002,
- "user": 0.09123371999999996,
- "system": 0.018674950000000003,
- "min": 0.10621827249,
- "max": 0.13389443749000002,
+ "mean": 0.11136012563,
+ "stddev": 0.0026735903314185528,
+ "median": 0.11123134665000001,
+ "user": 0.09118111999999998,
+ "system": 0.019429934999999995,
+ "min": 0.10708359765,
+ "max": 0.11958453665,
"times": [
- 0.10802343549,
- 0.11100771649,
- 0.10871953349,
- 0.10758758849000001,
- 0.10777615649000001,
- 0.10745550449,
- 0.10938815349,
- 0.10992269349,
- 0.11122296049000001,
- 0.10666917449,
- 0.10816300049000001,
- 0.10875551549000001,
- 0.11040845949,
- 0.11223261549,
- 0.10700940949000001,
- 0.10853184349,
- 0.10861460949,
- 0.10841616349000001,
- 0.10941703149000001,
- 0.10788966149000001,
- 0.10935221149,
- 0.10928354249000001,
- 0.10864593249,
- 0.10972007149,
- 0.12440912149,
- 0.11486318749,
- 0.11319661249,
- 0.11063595149000001,
- 0.10943658649,
- 0.10795712449,
- 0.10831942549000001,
- 0.10735812449000001,
- 0.10667691149000001,
- 0.11095894949,
- 0.13389443749000002,
- 0.11398201149000001,
- 0.10621827249,
- 0.10801216549,
- 0.10992778149,
- 0.10928114849000001,
- 0.10753380449000001,
- 0.10898400449000001,
- 0.11380031749000001,
- 0.10797667449000001,
- 0.11283813149000001,
- 0.12423334749,
- 0.11270191049,
- 0.10922103449000001,
- 0.10864166249,
- 0.10881420449000001,
- 0.10950488149000001,
- 0.11124863049,
- 0.10953000349,
- 0.10770987549000001,
- 0.10740927449000001,
- 0.11258881649000001,
- 0.11100063449,
- 0.11025935649,
- 0.10767952649000001,
- 0.10946560249000001,
- 0.10959217849000001,
- 0.10802524149,
- 0.10839341849,
- 0.10872264049000001,
- 0.10992294749,
- 0.10803762149,
- 0.10993443449000001,
- 0.10654501949,
- 0.10841997949000001,
- 0.10900373949,
- 0.10820260649,
- 0.10747842749,
- 0.10838783849,
- 0.10799929049000001,
- 0.10980165949000001,
- 0.10878526449,
- 0.10876661649000001,
- 0.10990831749,
- 0.11985833349000001,
- 0.11122418749,
- 0.11076459249000001,
- 0.11115335349000001,
- 0.10792321349,
- 0.11199963549,
- 0.10772317349,
- 0.10879770549000001,
- 0.11096284349,
- 0.10887259449,
- 0.10895456249,
- 0.10879905549,
- 0.11334711549000001,
- 0.11735942649,
- 0.11367660049,
- 0.11349889749,
- 0.11320153949,
- 0.11254409349000001,
- 0.11153510649000001,
- 0.10924449349000001,
- 0.11282478849000001,
- 0.11362051149
+ 0.11472851165,
+ 0.10884035365,
+ 0.10743742165,
+ 0.11686231465000001,
+ 0.11176165065,
+ 0.11599307765000001,
+ 0.10880775265,
+ 0.11836994965,
+ 0.11384251365,
+ 0.10981923865000001,
+ 0.11157320765,
+ 0.11454398965000001,
+ 0.11473509765,
+ 0.11189365765,
+ 0.11065097365000001,
+ 0.10980211365,
+ 0.11468543765,
+ 0.11447336965,
+ 0.11023740565000001,
+ 0.10779058065000001,
+ 0.11351143965,
+ 0.11178197865,
+ 0.10925034665000001,
+ 0.10925506465000001,
+ 0.11370512665,
+ 0.11033921565,
+ 0.10870756765,
+ 0.11013179665,
+ 0.11392076065000001,
+ 0.11143550765,
+ 0.11443939765000001,
+ 0.10834726265000001,
+ 0.10765606365000001,
+ 0.11303855665000001,
+ 0.11121431665,
+ 0.10941931565,
+ 0.10885975265,
+ 0.11004762765000001,
+ 0.11271822765,
+ 0.10800638665000001,
+ 0.10734212265000001,
+ 0.10815670765,
+ 0.11225141165000001,
+ 0.11114851865,
+ 0.11008888165000001,
+ 0.11310361365,
+ 0.11444957165000001,
+ 0.11232632465,
+ 0.10857749065000001,
+ 0.11659114565,
+ 0.10943258265,
+ 0.11288524165000001,
+ 0.10923852165,
+ 0.10907116365000001,
+ 0.11189859365,
+ 0.11329550965,
+ 0.10962447765000001,
+ 0.11124837665000001,
+ 0.10860198065,
+ 0.10788040765000001,
+ 0.11529417465000001,
+ 0.11115088365,
+ 0.11216442565000001,
+ 0.10956147965,
+ 0.11550317165,
+ 0.11176541265,
+ 0.10745625265,
+ 0.10930677165000001,
+ 0.11958453665,
+ 0.11235143665000001,
+ 0.11044141765,
+ 0.10899726065000001,
+ 0.10829540065,
+ 0.11524224865,
+ 0.11155727965000001,
+ 0.10834345965,
+ 0.10708359765,
+ 0.11312936665000001,
+ 0.11319101565,
+ 0.10880124665,
+ 0.11007238065000001,
+ 0.11155310065,
+ 0.11366068965000001,
+ 0.10921132565000001,
+ 0.10765030065,
+ 0.10848782065000001,
+ 0.11395463165,
+ 0.11300617965000001,
+ 0.11144989165000001,
+ 0.10925697065000001,
+ 0.11250545965,
+ 0.11214125365000001,
+ 0.11070199165000001,
+ 0.10938744665000001,
+ 0.11401976665,
+ 0.11213776865000001,
+ 0.11380678965,
+ 0.10862321765,
+ 0.11051526565,
+ 0.11480249865
]
}
]
diff --git a/benchmark/data/update_string.json b/benchmark/data/update_string.json
index 1e2611e..4b9d9b3 100644
--- a/benchmark/data/update_string.json
+++ b/benchmark/data/update_string.json
@@ -2,338 +2,338 @@
"results": [
{
"command": "dasel put string -f benchmark/data.json -o - '.favouriteColours.[0]' blue",
- "mean": 0.007016114574999998,
- "stddev": 0.0006048123725661546,
- "median": 0.007008558585,
- "user": 0.003919635,
- "system": 0.0023348150000000014,
- "min": 0.0053776090849999994,
- "max": 0.009433668085,
+ "mean": 0.009445308045000005,
+ "stddev": 0.0007292290390488721,
+ "median": 0.009324446845,
+ "user": 0.0062667700000000005,
+ "system": 0.0020951299999999993,
+ "min": 0.008159100845000001,
+ "max": 0.011087532845000001,
"times": [
- 0.007462943084999999,
- 0.007248850084999999,
- 0.007096758084999999,
- 0.007169818084999999,
- 0.007070201084999999,
- 0.006824740085,
- 0.007131380084999999,
- 0.007247308085,
- 0.0073468400849999995,
- 0.007182069085,
- 0.007014995084999999,
- 0.006922690085,
- 0.0068790880849999994,
- 0.006803996084999999,
- 0.006687375085,
- 0.006692530085,
- 0.006665808085,
- 0.007539358084999999,
- 0.006788621084999999,
- 0.007707952085,
- 0.006905273084999999,
- 0.006787331085,
- 0.0066905660849999994,
- 0.006839509085,
- 0.007279287085,
- 0.007169769084999999,
- 0.006980322085,
- 0.006694681085,
- 0.006580673085,
- 0.006599445085,
- 0.006548281084999999,
- 0.0060306090849999985,
- 0.0054896570849999994,
- 0.005513127084999999,
- 0.005752356084999999,
- 0.005599234084999999,
- 0.0053776090849999994,
- 0.005586454084999999,
- 0.006669565085,
- 0.0069084000849999995,
- 0.006850572085,
- 0.006945799085,
- 0.006691992085,
- 0.007046877084999999,
- 0.006047782084999999,
- 0.006434833085,
- 0.006316049085,
- 0.006732556085,
- 0.007266964085,
- 0.007071528085,
- 0.006874668085,
- 0.006955439085,
- 0.007731036084999999,
- 0.007333378084999999,
- 0.007706535085,
- 0.008629570085,
- 0.007355247085,
- 0.006762542084999999,
- 0.007107200085,
- 0.007294897084999999,
- 0.008203313085,
- 0.009433668085,
- 0.008131469084999999,
- 0.007413850084999999,
- 0.006986463084999999,
- 0.007167571085,
- 0.007378999085,
- 0.008683386084999998,
- 0.007388607084999999,
- 0.007330601085,
- 0.006978244084999999,
- 0.007103697085,
- 0.007223390084999999,
- 0.007771008084999999,
- 0.006967960085,
- 0.0071941510849999986,
- 0.007222741084999999,
- 0.006941852084999999,
- 0.006979210084999999,
- 0.006989127084999999,
- 0.006867412084999999,
- 0.006876019085,
- 0.007151731084999999,
- 0.007136623084999999,
- 0.007061698084999999,
- 0.007038143084999999,
- 0.006949332085,
- 0.0072439310849999996,
- 0.007112706084999999,
- 0.007482388084999999,
- 0.007002344085,
- 0.007357468085,
- 0.007001942085,
- 0.006735195084999999,
- 0.006810970084999999,
- 0.007182557085,
- 0.007527859084999999,
- 0.0070286280849999995,
- 0.007014773084999999,
- 0.006899491085
+ 0.010197910845000002,
+ 0.010072868845000001,
+ 0.010198204845000001,
+ 0.009657720845000002,
+ 0.009529709845000001,
+ 0.010545411845000002,
+ 0.009375509845000001,
+ 0.008836752845000002,
+ 0.008827761845,
+ 0.008948328845,
+ 0.009352321845,
+ 0.009262953845000001,
+ 0.009771328845000002,
+ 0.009040932845000002,
+ 0.008768743845000001,
+ 0.008910704845,
+ 0.009033777845000002,
+ 0.010210760845000002,
+ 0.009921017845000001,
+ 0.009505132845000002,
+ 0.010400696845000001,
+ 0.010471873845000002,
+ 0.009860302845000002,
+ 0.009287854845000002,
+ 0.009279019845000002,
+ 0.009273524845,
+ 0.008957028845000001,
+ 0.009424409845000002,
+ 0.010595336845,
+ 0.010733681845,
+ 0.009999817845000002,
+ 0.010254223845000002,
+ 0.011087532845000001,
+ 0.010701935845000001,
+ 0.010407074845000001,
+ 0.010706709845000002,
+ 0.010404481845,
+ 0.010889897845000001,
+ 0.010297779845000002,
+ 0.010482533845000001,
+ 0.010068277845000001,
+ 0.010347537845000001,
+ 0.010512341845000002,
+ 0.010488486845000002,
+ 0.010323054845000002,
+ 0.010323257845000001,
+ 0.010261782845000001,
+ 0.010303558845000001,
+ 0.010038005845000001,
+ 0.009986612845000001,
+ 0.009476355845000001,
+ 0.008854283845000002,
+ 0.008981590845000002,
+ 0.008918659845000001,
+ 0.009351960845000002,
+ 0.008729260845000001,
+ 0.008578638845000002,
+ 0.008989127845000002,
+ 0.008932701845000002,
+ 0.009396608845000001,
+ 0.009216751845000001,
+ 0.009871998845000002,
+ 0.010223433845000001,
+ 0.009452330845,
+ 0.009258671845000002,
+ 0.008847817845000001,
+ 0.009348795845,
+ 0.008806656845000002,
+ 0.008343995845000002,
+ 0.008331581845000002,
+ 0.008229105845000001,
+ 0.008178973845000001,
+ 0.009098674845000002,
+ 0.008876640845000002,
+ 0.008483771845000002,
+ 0.008547328845000002,
+ 0.008911367845000002,
+ 0.008948731845000002,
+ 0.009275517845000001,
+ 0.008750333845000001,
+ 0.008625605845000002,
+ 0.009032649845,
+ 0.009076856845000002,
+ 0.009071295845,
+ 0.008877635845,
+ 0.009382151845,
+ 0.008576262845000002,
+ 0.008560025845000001,
+ 0.008363921845000002,
+ 0.008814008845000002,
+ 0.009365529845000001,
+ 0.008843127845000001,
+ 0.008571726845,
+ 0.008159100845000001,
+ 0.008361415845000001,
+ 0.009556191845,
+ 0.009168743845,
+ 0.009692646845000001,
+ 0.009300097845,
+ 0.009783642845000001
]
},
{
"command": "jq '.favouriteColours[0] = \"blue\"' benchmark/data.json",
- "mean": 0.02726186149500001,
- "stddev": 0.003005207775172992,
- "median": 0.026180218085,
- "user": 0.02474328499999999,
- "system": 0.000917025,
- "min": 0.024220058085000003,
- "max": 0.041457252085,
+ "mean": 0.025146739485,
+ "stddev": 0.0007993066307256497,
+ "median": 0.024979729345,
+ "user": 0.02346073000000001,
+ "system": 0.0000868088999999998,
+ "min": 0.023615773845,
+ "max": 0.028813740844999998,
"times": [
- 0.027569576085000002,
- 0.031728723085,
- 0.029455287085,
- 0.026912839085,
- 0.026745228085000003,
- 0.026275176085,
- 0.026740818085000003,
- 0.026600782085,
- 0.028999843085,
- 0.027857602085000002,
- 0.026173384085,
- 0.026517415085000003,
- 0.026508447085,
- 0.027276478085,
- 0.027672878085,
- 0.026639188085,
- 0.027039437085000003,
- 0.028385730085,
- 0.026012429085,
- 0.026804729085000003,
- 0.025893592085,
- 0.025994020085,
- 0.026356363085,
- 0.026187052085000002,
- 0.028149369085,
- 0.030889151085,
- 0.032112123085,
- 0.033014056085,
- 0.031411985085,
- 0.026757055085000002,
- 0.028578393085,
- 0.027140350085,
- 0.031319411085,
- 0.032445273085,
- 0.031307493085,
- 0.039253322085,
- 0.041457252085,
- 0.028712790085000002,
- 0.025097670085000003,
- 0.025242084085,
- 0.026941965085000002,
- 0.025992787085,
- 0.025217267085,
- 0.025085567085,
- 0.025147369085000003,
- 0.026804075085,
- 0.024993271085,
- 0.025245058085,
- 0.025779671085,
- 0.025907243085,
- 0.025740086085000002,
- 0.025818862085,
- 0.026011111085,
- 0.026342711085,
- 0.025537068085000003,
- 0.025375550085,
- 0.025034760085,
- 0.027738482085000002,
- 0.038034277085,
- 0.030955356085,
- 0.025636672085000003,
- 0.024917825085,
- 0.025724666085,
- 0.024912547085,
- 0.024220058085000003,
- 0.024784728085000002,
- 0.025617525085000002,
- 0.025629128085,
- 0.025425441085,
- 0.026077511085,
- 0.024933038085,
- 0.026461666085000002,
- 0.025009846085000002,
- 0.025272115085,
- 0.026495017085000003,
- 0.026113039085,
- 0.025627272085000003,
- 0.025849953085000002,
- 0.025298670085000002,
- 0.025026044085,
- 0.033380861085,
- 0.032240567085,
- 0.025035320085,
- 0.025742053085,
- 0.025766804085,
- 0.025893298085000002,
- 0.026003964085,
- 0.025483937085000002,
- 0.027707776085,
- 0.026249470085,
- 0.029164094085000005,
- 0.026009435085,
- 0.026854200085000002,
- 0.027363011085000003,
- 0.025746053085,
- 0.025902961085000002,
- 0.026067829085,
- 0.026811721085,
- 0.025730952085,
- 0.025061745085
+ 0.024813619845,
+ 0.024889040845,
+ 0.025360708845,
+ 0.024845704845,
+ 0.025392719845,
+ 0.024635592845000002,
+ 0.025921613845,
+ 0.025180895845000002,
+ 0.025581476845,
+ 0.025613680845,
+ 0.024283782845,
+ 0.024036204845,
+ 0.025793752845,
+ 0.025421935845,
+ 0.025013464845,
+ 0.026311191845,
+ 0.025802341845,
+ 0.025850822845,
+ 0.024679081845,
+ 0.024620469845,
+ 0.024574150845,
+ 0.024952994845,
+ 0.023685882845,
+ 0.026707473845,
+ 0.025949900845000002,
+ 0.024844091845,
+ 0.024763864845,
+ 0.025723666845,
+ 0.024354865845,
+ 0.025255758845,
+ 0.024692139845,
+ 0.024581260845,
+ 0.025222897845,
+ 0.025102235845,
+ 0.026473066845,
+ 0.024551037845000002,
+ 0.024913901845,
+ 0.025274247845,
+ 0.024678660845000002,
+ 0.024721907845000002,
+ 0.024732451845,
+ 0.026627524845,
+ 0.025152057845,
+ 0.025102910845,
+ 0.026494616845,
+ 0.024574316845,
+ 0.025563278845000002,
+ 0.024762272845,
+ 0.024321567845,
+ 0.024418647845000002,
+ 0.024779702845,
+ 0.026823651845,
+ 0.025896884845,
+ 0.025262881845,
+ 0.024452484845,
+ 0.024710170845,
+ 0.025719083845,
+ 0.025101074845,
+ 0.026724050845,
+ 0.024717178845,
+ 0.025188533845,
+ 0.024740445845,
+ 0.024484179845000002,
+ 0.025044162845000002,
+ 0.024276930845,
+ 0.024541433845000002,
+ 0.025006463845,
+ 0.025109502845,
+ 0.023975043845000002,
+ 0.027512390845,
+ 0.025744791845,
+ 0.025131006845,
+ 0.024405566845,
+ 0.025644633845,
+ 0.024898596845,
+ 0.026021519845,
+ 0.024810762845,
+ 0.025610565845000002,
+ 0.025520069845,
+ 0.024653015845,
+ 0.024861431845,
+ 0.024383445845,
+ 0.024362388845,
+ 0.024754042845,
+ 0.025409457845,
+ 0.024437635845,
+ 0.024845356845,
+ 0.028813740844999998,
+ 0.024411710845,
+ 0.025511754845,
+ 0.025685916845,
+ 0.024196382845,
+ 0.025637156845000002,
+ 0.026121227845,
+ 0.025219123845,
+ 0.025134670845000002,
+ 0.024437497845,
+ 0.023615773845,
+ 0.024800000845,
+ 0.024706686845
]
},
{
"command": "yq --yaml-output '.favouriteColours[0] = \"blue\"' benchmark/data.yaml",
- "mean": 0.11537724142499999,
- "stddev": 0.013323246208291268,
- "median": 0.110238208585,
- "user": 0.09545294499999998,
- "system": 0.019549335000000004,
- "min": 0.104621638085,
- "max": 0.18090529708500003,
+ "mean": 0.11181294371499995,
+ "stddev": 0.002347809420281144,
+ "median": 0.11170018734500001,
+ "user": 0.09222630999999999,
+ "system": 0.01880467999999999,
+ "min": 0.10769974984500001,
+ "max": 0.121903455845,
"times": [
- 0.114592095085,
- 0.113189409085,
- 0.13525703808500003,
- 0.11355363508500001,
- 0.111934392085,
- 0.13861003708500003,
- 0.130785227085,
- 0.13593633808500002,
- 0.15460583608500003,
- 0.154847915085,
- 0.136013880085,
- 0.18090529708500003,
- 0.14760445508500003,
- 0.13991136608500002,
- 0.14446461908500002,
- 0.14471065608500003,
- 0.123097642085,
- 0.107685441085,
- 0.111792460085,
- 0.111023153085,
- 0.10677828508500001,
- 0.106798892085,
- 0.10765352508500001,
- 0.109727514085,
- 0.10632329108500001,
- 0.10851070108500001,
- 0.108552445085,
- 0.11354822908500001,
- 0.116057710085,
- 0.111416959085,
- 0.10610769708500001,
- 0.10629850308500001,
- 0.111206686085,
- 0.107867444085,
- 0.106325103085,
- 0.108069054085,
- 0.12672436108500001,
- 0.115619534085,
- 0.107321250085,
- 0.104621638085,
- 0.107231174085,
- 0.120839892085,
- 0.106706328085,
- 0.106311412085,
- 0.108904675085,
- 0.109240589085,
- 0.106670719085,
- 0.107663179085,
- 0.106501032085,
- 0.107653872085,
- 0.110290775085,
- 0.109484373085,
- 0.109981454085,
- 0.105552436085,
- 0.110173556085,
- 0.110537580085,
- 0.112048922085,
- 0.109127850085,
- 0.108104990085,
- 0.109090454085,
- 0.106992275085,
- 0.105967153085,
- 0.108964236085,
- 0.11693011608500001,
- 0.107399045085,
- 0.107050468085,
- 0.105240334085,
- 0.107699945085,
- 0.11001985008500001,
- 0.108990253085,
- 0.104879703085,
- 0.106924706085,
- 0.110745663085,
- 0.117076136085,
- 0.11827094608500001,
- 0.120778103085,
- 0.118013185085,
- 0.118762664085,
- 0.12915664908500002,
- 0.11012457708500001,
- 0.109776715085,
- 0.109662155085,
- 0.11754245908500001,
- 0.11214767508500001,
- 0.110305561085,
- 0.111030539085,
- 0.107414942085,
- 0.111403600085,
- 0.11017298208500001,
- 0.107995701085,
- 0.110836262085,
- 0.110527123085,
- 0.110218056085,
- 0.10901818908500001,
- 0.110258361085,
- 0.110983182085,
- 0.14716519608500003,
- 0.121555421085,
- 0.115740203085,
- 0.115818831085
+ 0.11078763484500001,
+ 0.108483489845,
+ 0.111164332845,
+ 0.10963349784500001,
+ 0.11242714284500001,
+ 0.110890661845,
+ 0.112725349845,
+ 0.11197228084500001,
+ 0.11168565684500001,
+ 0.10967386984500001,
+ 0.11373163784500001,
+ 0.114679707845,
+ 0.108772623845,
+ 0.11220700684500001,
+ 0.111820655845,
+ 0.110247337845,
+ 0.11051841984500001,
+ 0.111714717845,
+ 0.111683532845,
+ 0.113975535845,
+ 0.10945539884500001,
+ 0.112025157845,
+ 0.109537466845,
+ 0.11406635284500001,
+ 0.11270323884500001,
+ 0.108330014845,
+ 0.11032156384500001,
+ 0.111392529845,
+ 0.115649625845,
+ 0.110442701845,
+ 0.11232798284500001,
+ 0.112981121845,
+ 0.121903455845,
+ 0.110006795845,
+ 0.112900391845,
+ 0.10991025684500001,
+ 0.111106598845,
+ 0.11869090684500001,
+ 0.11164193784500001,
+ 0.112722498845,
+ 0.11646187384500001,
+ 0.116226113845,
+ 0.109159476845,
+ 0.11182075384500001,
+ 0.11385289584500001,
+ 0.116437200845,
+ 0.11174850884500001,
+ 0.110880005845,
+ 0.11108387784500001,
+ 0.111723923845,
+ 0.109863376845,
+ 0.107868394845,
+ 0.113790586845,
+ 0.112277682845,
+ 0.109109548845,
+ 0.109895460845,
+ 0.11189789684500001,
+ 0.111764320845,
+ 0.116814124845,
+ 0.10769974984500001,
+ 0.11247483584500001,
+ 0.11011736784500001,
+ 0.11270411684500001,
+ 0.10907441384500001,
+ 0.108587688845,
+ 0.11328162384500001,
+ 0.11059376684500001,
+ 0.113653373845,
+ 0.109281477845,
+ 0.111558743845,
+ 0.110496457845,
+ 0.11396076284500001,
+ 0.11427438284500001,
+ 0.11245598784500001,
+ 0.10961902284500001,
+ 0.114108629845,
+ 0.110581197845,
+ 0.108152912845,
+ 0.11260798484500001,
+ 0.11055748484500001,
+ 0.114580309845,
+ 0.110225682845,
+ 0.113138053845,
+ 0.113212859845,
+ 0.11366082684500001,
+ 0.11000784084500001,
+ 0.11079902784500001,
+ 0.111526998845,
+ 0.113184529845,
+ 0.112063908845,
+ 0.108895619845,
+ 0.114876322845,
+ 0.112083312845,
+ 0.113747209845,
+ 0.109558576845,
+ 0.11192845484500001,
+ 0.11099790084500001,
+ 0.110369151845,
+ 0.110463380845,
+ 0.110545299845
]
}
]
diff --git a/benchmark/diagrams/append_array_of_strings.jpg b/benchmark/diagrams/append_array_of_strings.jpg
index eb9da36..6d2556e 100644
Binary files a/benchmark/diagrams/append_array_of_strings.jpg and b/benchmark/diagrams/append_array_of_strings.jpg differ
diff --git a/benchmark/diagrams/array_index.jpg b/benchmark/diagrams/array_index.jpg
index 6558521..3903f44 100644
Binary files a/benchmark/diagrams/array_index.jpg and b/benchmark/diagrams/array_index.jpg differ
diff --git a/benchmark/diagrams/list_array_keys.jpg b/benchmark/diagrams/list_array_keys.jpg
new file mode 100644
index 0000000..62ca06f
Binary files /dev/null and b/benchmark/diagrams/list_array_keys.jpg differ
diff --git a/benchmark/diagrams/nested_property.jpg b/benchmark/diagrams/nested_property.jpg
index 2352319..d67535f 100644
Binary files a/benchmark/diagrams/nested_property.jpg and b/benchmark/diagrams/nested_property.jpg differ
diff --git a/benchmark/diagrams/overwrite_object.jpg b/benchmark/diagrams/overwrite_object.jpg
index 37a6fc8..4e219c6 100644
Binary files a/benchmark/diagrams/overwrite_object.jpg and b/benchmark/diagrams/overwrite_object.jpg differ
diff --git a/benchmark/diagrams/root_object.jpg b/benchmark/diagrams/root_object.jpg
new file mode 100644
index 0000000..e2c4340
Binary files /dev/null and b/benchmark/diagrams/root_object.jpg differ
diff --git a/benchmark/diagrams/top_level_property.jpg b/benchmark/diagrams/top_level_property.jpg
index 78f4b21..76cd500 100644
Binary files a/benchmark/diagrams/top_level_property.jpg and b/benchmark/diagrams/top_level_property.jpg differ
diff --git a/benchmark/diagrams/update_string.jpg b/benchmark/diagrams/update_string.jpg
index f37cf8f..f5263ac 100644
Binary files a/benchmark/diagrams/update_string.jpg and b/benchmark/diagrams/update_string.jpg differ
diff --git a/benchmark/tests.txt b/benchmark/tests.txt
index 8791056..dda5637 100644
--- a/benchmark/tests.txt
+++ b/benchmark/tests.txt
@@ -1,3 +1,9 @@
+Root Object
+root_object
+dasel -f benchmark/data.json
+jq '.' benchmark/data.json
+yq --yaml-output '.' benchmark/data.yaml
+
Top level property
top_level_property
dasel -f benchmark/data.json '.id'
@@ -37,4 +43,11 @@ yq --yaml-output '.user.name = {"first":"Frank","last":"Jones"}' benchmark/data.
List keys of an array
list_array_keys
dasel -f benchmark/data.json -m '.-'
-jq 'keys[]' benchmark/data.json,yq --yaml-output 'keys[]' benchmark/data.yaml
+jq 'keys[]' benchmark/data.json
+yq --yaml-output 'keys[]' benchmark/data.yaml
+
+Delete property
+delete_property
+dasel delete -f benchmark/data.json -o - '.id'
+jq 'del(.id)' benchmark/data.json
+yq --yaml-output 'del(.id)' benchmark/data.yaml