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 + +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 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 + +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