-
Notifications
You must be signed in to change notification settings - Fork 44
Rapidyaml #219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
biojppm
wants to merge
25
commits into
main
Choose a base branch
from
rapidyaml
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
b1ea007
to
cdec00f
Compare
cdec00f
to
418256b
Compare
Adds a parser producing integer events, and integers signifying strings by indexing into the parsed YS string. Each event is provided as an integer bitmask. The event bits are defined in both the C++ side (ysparse_evt_handler.hpp) and the Java side (org.rapidyaml.Evt), and they need to stay consistent on both ends. When a string is associated with an event, it is provided as an integer offset and length. For example, the YAML `say: 2 + 2` produces the following sequence of integers: ```c++ BSTR, BDOC, VAL|BMAP|BLCK, KEY|SCLR|PLAI, 0, 3, // "say" VAL|SCLR|PLAI, 5, 5, // "2 + 2" EMAP, EDOC, ESTR, ``` Note that the scalar events, ie "say" and "2 + 2", are followed each by two extra integers encoding the offset and length of the scalar's string. These two extra integers are present whenever the event has any of the bits SCLR, ALIA, ANCH or TAG. For ease of use, there is a bitmask HAS_STR, which enables quick testing by a simple `flags & HAS_STR`. Also, where a string requires filtering, the parser filters it in-place in the input string, and returns the extra integers pertaining to the resulting filtered string. The existing EDN-producing parser was not removed, and the EVT-producing parser was added both on C++ and on the Java JNI bridge. Tests were enlarged to cover the new event parsing, both for C++ and Java. To benefit from this approach, the YS side must implement a mechanism to convert the int event sequence into its internal data-structure, using the symbols in the class org.rapidyaml.Evt. Other changes: - rapidyaml->ysparse: start renaming the C++ library providing the JNI. ysparse is a more accurate description of what the library does. - Directly use only the required rapidyaml source files instead of amalgamating into a single header. - Makefile: - Add target to generate the JNI header - Improve target dependencies
----- ./yamllm.ys ys.length=9973 call:edn... java:ys2edn... 0,001334ms: jni_ys2edn_parse/GetByteArray(src) 2,034402ms: jni_ys2edn_parse/GetByteArray(dst) 0,001137ms: jni_ys2evt_parse/GetStringUTFChars() 2,054268ms: jni_ys2edn_parse/get_jni_data 4,855MB/s 0,012533ms: reset + reserve 0,171602ms: parse_in_place 58,117MB/s 0,002153ms: ys2edn_retry_get 0,196662ms: ys2edn_parse 50,711MB/s 0,904333ms: jni_ys2edn_parse/release 3,171271ms: jni_ys2edn_parse 3,145MB/s java:ys2edn: 3.207848ms 3.109MB/s 9973B call:edn: 5.332002ms 1.870MB/s 9973B call:ednBuf... java:ys2ednBuf... 0,000844ms: jni_ys2edn_parse/get_jni_data 11816,350MB/s 0,001602ms: reset + reserve 0,113475ms: parse_in_place 87,887MB/s 0,001107ms: ys2edn_retry_get 0,124749ms: ys2edn_parse 79,945MB/s 0,127846ms: jni_ys2edn_parse/call_parse 78,008MB/s 0,139938ms: jni_ys2edn_parse 71,267MB/s java:ys2ednBuf: 0.168987ms 59.016MB/s 9973B call:ednBuf: 1.989086ms 5.014MB/s 9973B call:evt... java:ys2evtBuf... 0,017777ms: jni_ys2evt_parse/GetByteArray(src) 8,084726ms: jni_ys2evt_parse/GetIntArray(dst) 0,003211ms: jni_ys2evt_parse/GetStringUTFChars() 8,132883ms: jni_ys2evt_parse/get_jni 1,226MB/s 0,001486ms: reset + reserve 0,124894ms: parse_in_place 79,852MB/s 0,131290ms: ys2evt_parse 75,962MB/s 0,139889ms: jni_ys2evt_parse/call_parse 71,292MB/s 0,001429ms: jni_ys2evt_parse/ReleaseByteArray(src) 5,264938ms: jni_ys2evt_parse/ReleaseIntArray(dst) 0,000834ms: jni_ys2evt_parse/ReleaseStringUTFChars() 5,282080ms: jni_ys2evt_parse/release 13,560444ms: jni_ys2evt_parse 0,735MB/s java:ys2evt: 13.608809ms 0.733MB/s 9973B call:evt: 19.330048ms 0.516MB/s 9973B call:evtBuf... java:ys2evtBuf... 0,001106ms: jni_ys2evt_parse/get_jni 9017,179MB/s 0,000639ms: reset + reserve 0,067489ms: parse_in_place 147,772MB/s 0,073704ms: ys2evt_parse 135,312MB/s 0,077551ms: jni_ys2evt_parse/call_parse 128,599MB/s 0,092300ms: jni_ys2evt_parse 108,050MB/s java:ys2evtBuf: 0.117877ms 84.605MB/s 9973B call:evtBuf: 5.819274ms 1.714MB/s 9973B ----- /home/jpmag/proj/rapidyaml/bm/cases/appveyor.yml ys.length=2129 call:edn... java:ys2edn... 0,000978ms: jni_ys2edn_parse/GetByteArray(src) 2,058415ms: jni_ys2edn_parse/GetByteArray(dst) 0,001872ms: jni_ys2evt_parse/GetStringUTFChars() 2,082492ms: jni_ys2edn_parse/get_jni_data 1,022MB/s 0,002746ms: reset + reserve 0,034371ms: parse_in_place 61,942MB/s 0,000172ms: ys2edn_retry_get 0,045708ms: ys2edn_parse 46,578MB/s 0,773825ms: jni_ys2edn_parse/release 2,913689ms: jni_ys2edn_parse 0,731MB/s java:ys2edn: 2.921583ms 0.729MB/s 2129B call:edn: 4.583358ms 0.465MB/s 2129B call:ednBuf... java:ys2ednBuf... 0,001411ms: jni_ys2edn_parse/get_jni_data 1508,859MB/s 0,001593ms: reset + reserve 0,030772ms: parse_in_place 69,186MB/s 0,000219ms: ys2edn_retry_get 0,042616ms: ys2edn_parse 49,958MB/s 0,045226ms: jni_ys2edn_parse/call_parse 47,075MB/s 0,055543ms: jni_ys2edn_parse 38,331MB/s java:ys2ednBuf: 0.059724ms 35.647MB/s 2129B call:ednBuf: 0.811932ms 2.622MB/s 2129B call:evt... java:ys2evtBuf... 0,001258ms: jni_ys2evt_parse/GetByteArray(src) 8,076122ms: jni_ys2evt_parse/GetIntArray(dst) 0,002259ms: jni_ys2evt_parse/GetStringUTFChars() 8,100922ms: jni_ys2evt_parse/get_jni 0,263MB/s 0,000875ms: reset + reserve 0,022655ms: parse_in_place 93,975MB/s 0,031664ms: ys2evt_parse 67,237MB/s 0,034036ms: jni_ys2evt_parse/call_parse 62,551MB/s 0,001057ms: jni_ys2evt_parse/ReleaseByteArray(src) 5,419873ms: jni_ys2evt_parse/ReleaseIntArray(dst) 0,000952ms: jni_ys2evt_parse/ReleaseStringUTFChars() 5,435716ms: jni_ys2evt_parse/release 13,580720ms: jni_ys2evt_parse 0,157MB/s java:ys2evt: 13.590641ms 0.157MB/s 2129B call:evt: 19.339376ms 0.110MB/s 2129B call:evtBuf... java:ys2evtBuf... 0,002461ms: jni_ys2evt_parse/get_jni 865,095MB/s 0,000434ms: reset + reserve 0,025479ms: parse_in_place 83,559MB/s 0,033737ms: ys2evt_parse 63,106MB/s 0,038801ms: jni_ys2evt_parse/call_parse 54,870MB/s 0,056482ms: jni_ys2evt_parse 37,693MB/s java:ys2evtBuf: 0.062105ms 34.281MB/s 2129B call:evtBuf: 5.527016ms 0.385MB/s 2129B ----- /home/jpmag/proj/rapidyaml/bm/cases/compile_commands.json ys.length=46825 call:edn... java:ys2edn... 0,021512ms: jni_ys2edn_parse/GetByteArray(src) 2,120464ms: jni_ys2edn_parse/GetByteArray(dst) 0,001398ms: jni_ys2evt_parse/GetStringUTFChars() 2,160656ms: jni_ys2edn_parse/get_jni_data 21,672MB/s 0,002448ms: reset + reserve 0,219965ms: parse_in_place 212,875MB/s 0,003424ms: ys2edn_retry_get 0,236103ms: ys2edn_parse 198,324MB/s 0,802344ms: jni_ys2edn_parse/release 3,211247ms: jni_ys2edn_parse 14,582MB/s java:ys2edn: 3.219141ms 14.546MB/s 46825B call:edn: 5.002863ms 9.360MB/s 46825B call:ednBuf... java:ys2ednBuf... 0,001421ms: jni_ys2edn_parse/get_jni_data 32952,146MB/s 0,001445ms: reset + reserve 0,183100ms: parse_in_place 255,735MB/s 0,003680ms: ys2edn_retry_get 0,197663ms: ys2edn_parse 236,893MB/s 0,201021ms: jni_ys2edn_parse/call_parse 232,936MB/s 0,213063ms: jni_ys2edn_parse 219,771MB/s java:ys2ednBuf: 0.219173ms 213.644MB/s 46825B call:ednBuf: 0.979759ms 47.792MB/s 46825B call:evt... java:ys2evtBuf... 0,007270ms: jni_ys2evt_parse/GetByteArray(src) 8,447130ms: jni_ys2evt_parse/GetIntArray(dst) 0,001928ms: jni_ys2evt_parse/GetStringUTFChars() 8,480045ms: jni_ys2evt_parse/get_jni 5,522MB/s 0,000848ms: reset + reserve 0,095276ms: parse_in_place 491,467MB/s 0,101429ms: ys2evt_parse 461,653MB/s 0,104018ms: jni_ys2evt_parse/call_parse 450,162MB/s 0,003393ms: jni_ys2evt_parse/ReleaseByteArray(src) 5,601116ms: jni_ys2evt_parse/ReleaseIntArray(dst) 0,000839ms: jni_ys2evt_parse/ReleaseStringUTFChars() 5,620317ms: jni_ys2evt_parse/release 14,210879ms: jni_ys2evt_parse 3,295MB/s java:ys2evt: 14.220492ms 3.293MB/s 46825B call:evt: 19.957447ms 2.346MB/s 46825B call:evtBuf... java:ys2evtBuf... 0,002473ms: jni_ys2evt_parse/get_jni 18934,492MB/s 0,000712ms: reset + reserve 0,071757ms: parse_in_place 652,550MB/s 0,077564ms: ys2evt_parse 603,695MB/s 0,081212ms: jni_ys2evt_parse/call_parse 576,577MB/s 0,097283ms: jni_ys2evt_parse 481,328MB/s java:ys2evtBuf: 0.101433ms 461.635MB/s 46825B call:evtBuf: 5.983458ms 7.826MB/s 46825B ----- /home/jpmag/proj/rapidyaml/bm/cases/style_seqs_flow_outer1000_inner100.yml ys.length=393000 call:edn... java:ys2edn... 0,142092ms: jni_ys2edn_parse/GetByteArray(src) 2,126455ms: jni_ys2edn_parse/GetByteArray(dst) 0,001700ms: jni_ys2evt_parse/GetStringUTFChars() 2,285052ms: jni_ys2edn_parse/get_jni_data 171,987MB/s 0,002109ms: reset + reserve 8,302745ms: parse_in_place 47,334MB/s 0,166759ms: ys2edn_retry_get 8,485969ms: ys2edn_parse 46,312MB/s 0,999833ms: jni_ys2edn_parse/release 11,780786ms: jni_ys2edn_parse 33,359MB/s java:ys2edn: 11.790444ms 33.332MB/s 393000B call:edn: 14.609382ms 26.901MB/s 393000B call:ednBuf... java:ys2ednBuf... 0,002017ms: jni_ys2edn_parse/get_jni_data 194843,824MB/s 0,001862ms: reset + reserve 7,312239ms: parse_in_place 53,746MB/s 0,158746ms: ys2edn_retry_get 7,486341ms: ys2edn_parse 52,496MB/s 7,489023ms: jni_ys2edn_parse/call_parse 52,477MB/s 7,501143ms: jni_ys2edn_parse 52,392MB/s java:ys2ednBuf: 7.508824ms 52.338MB/s 393000B call:ednBuf: 8.480082ms 46.344MB/s 393000B call:evt... java:ys2evtBuf... 0,045725ms: jni_ys2evt_parse/GetByteArray(src) 8,427749ms: jni_ys2evt_parse/GetIntArray(dst) 0,002128ms: jni_ys2evt_parse/GetStringUTFChars() 8,498642ms: jni_ys2evt_parse/get_jni 46,243MB/s 0,000749ms: reset + reserve 2,269042ms: parse_in_place 173,201MB/s 2,277721ms: ys2evt_parse 172,541MB/s 2,280334ms: jni_ys2evt_parse/call_parse 172,343MB/s 0,030380ms: jni_ys2evt_parse/ReleaseByteArray(src) 5,384011ms: jni_ys2evt_parse/ReleaseIntArray(dst) 0,001033ms: jni_ys2evt_parse/ReleaseStringUTFChars() 5,426795ms: jni_ys2evt_parse/release 16,211987ms: jni_ys2evt_parse 24,241MB/s java:ys2evt: 16.221876ms 24.227MB/s 393000B call:evt: 22.275141ms 17.643MB/s 393000B call:evtBuf... java:ys2evtBuf... 0,002334ms: jni_ys2evt_parse/get_jni 168380,464MB/s 0,000480ms: reset + reserve 2,258723ms: parse_in_place 173,992MB/s 2,268857ms: ys2evt_parse 173,215MB/s 2,271363ms: jni_ys2evt_parse/call_parse 173,024MB/s 2,286242ms: jni_ys2evt_parse 171,898MB/s java:ys2evtBuf: 2.296298ms 171.145MB/s 393000B call:evtBuf: 8.421487ms 46.666MB/s 393000B ----- /home/jpmag/proj/rapidyaml/bm/cases/style_maps_flow_outer1000_inner100.yml ys.length=783000 call:edn... java:ys2edn... 0,092991ms: jni_ys2edn_parse/GetByteArray(src) 0,835160ms: jni_ys2edn_parse/GetByteArray(dst) 0,001818ms: jni_ys2evt_parse/GetStringUTFChars() 0,945805ms: jni_ys2edn_parse/get_jni_data 827,866MB/s 0,002132ms: reset + reserve 14,063376ms: parse_in_place 55,677MB/s 0,322975ms: ys2edn_retry_get 14,405284ms: ys2edn_parse 54,355MB/s 1,018919ms: jni_ys2edn_parse/release 16,381964ms: jni_ys2edn_parse 47,796MB/s java:ys2edn: 16.394997ms 47.758MB/s 783000B call:edn: 23.038956ms 33.986MB/s 783000B call:ednBuf... java:ys2ednBuf... 0,001667ms: jni_ys2edn_parse/get_jni_data 469706,048MB/s 0,001485ms: reset + reserve 13,745988ms: parse_in_place 56,962MB/s 0,314753ms: ys2edn_retry_get 14,076574ms: ys2edn_parse 55,624MB/s 14,081208ms: jni_ys2edn_parse/call_parse 55,606MB/s 14,093569ms: jni_ys2edn_parse 55,557MB/s java:ys2ednBuf: 14.105751ms 55.509MB/s 783000B call:ednBuf: 15.099686ms 51.855MB/s 783000B call:evt... java:ys2evtBuf... 0,077090ms: jni_ys2evt_parse/GetByteArray(src) 8,194263ms: jni_ys2evt_parse/GetIntArray(dst) 0,002475ms: jni_ys2evt_parse/GetStringUTFChars() 8,297913ms: jni_ys2evt_parse/get_jni 94,361MB/s 0,001157ms: reset + reserve 4,913968ms: parse_in_place 159,342MB/s 4,923253ms: ys2evt_parse 159,041MB/s 4,926467ms: jni_ys2evt_parse/call_parse 158,937MB/s 0,073749ms: jni_ys2evt_parse/ReleaseByteArray(src) 5,589391ms: jni_ys2evt_parse/ReleaseIntArray(dst) 0,000823ms: jni_ys2evt_parse/ReleaseStringUTFChars() 5,674467ms: jni_ys2evt_parse/release 18,906420ms: jni_ys2evt_parse 41,415MB/s java:ys2evt: 18.918636ms 41.388MB/s 783000B call:evt: 21.359373ms 36.658MB/s 783000B call:evtBuf... java:ys2evtBuf... 0,002228ms: jni_ys2evt_parse/get_jni 351436,256MB/s 0,000757ms: reset + reserve 4,970937ms: parse_in_place 157,516MB/s 4,981731ms: ys2evt_parse 157,174MB/s 4,984258ms: jni_ys2evt_parse/call_parse 157,095MB/s 5,000104ms: jni_ys2evt_parse 156,597MB/s java:ys2evtBuf: 5.007758ms 156.357MB/s 783000B call:evtBuf: 10.750488ms 72.834MB/s 783000B ----- /home/jpmag/proj/rapidyaml/bm/cases/style_seqs_flow_outer1000_inner1000.yml ys.length=3894000 call:edn... java:ys2edn... 0,298067ms: jni_ys2edn_parse/GetByteArray(src) 1,110594ms: jni_ys2edn_parse/GetByteArray(dst) 0,001205ms: jni_ys2evt_parse/GetStringUTFChars() 1,427416ms: jni_ys2edn_parse/get_jni_data 2728,006MB/s 0,001941ms: reset + reserve 84,243172ms: parse_in_place 46,223MB/s 0,000034ms: ys2edn_retry_get 84,266029ms: ys2edn_parse 46,211MB/s 1,505299ms: jni_ys2edn_parse/release 87,211784ms: jni_ys2edn_parse 44,650MB/s java:ys2edn: 87.222893ms 44.644MB/s 3894000B java:ys2edn... 0,459691ms: jni_ys2edn_parse/GetByteArray(src) 5,877667ms: jni_ys2edn_parse/GetByteArray(dst) 0,001699ms: jni_ys2evt_parse/GetStringUTFChars() 6,357506ms: jni_ys2edn_parse/get_jni_data 612,504MB/s 0,135379ms: reset + reserve 75,206131ms: parse_in_place 51,778MB/s 2,077905ms: ys2edn_retry_get 77,437271ms: ys2edn_parse 50,286MB/s 2,688614ms: jni_ys2edn_parse/release 86,492966ms: jni_ys2edn_parse 45,021MB/s java:ys2edn: 86.502785ms 45.016MB/s 3894000B call:edn: 184.363892ms 21.121MB/s 3894000B call:ednBuf... java:ys2ednBuf... 0,001956ms: jni_ys2edn_parse/get_jni_data 1990797,568MB/s 0,002000ms: reset + reserve 71,676682ms: parse_in_place 54,327MB/s 0,000020ms: ys2edn_retry_get 71,692154ms: ys2edn_parse 54,316MB/s 71,694817ms: jni_ys2edn_parse/call_parse 54,314MB/s 71,707664ms: jni_ys2edn_parse 54,304MB/s java:ys2ednBuf: 71.715118ms 54.298MB/s 3894000B java:ys2ednBuf... 0,003304ms: jni_ys2edn_parse/get_jni_data 1178571,392MB/s 0,001898ms: reset + reserve 70,793625ms: parse_in_place 55,005MB/s 2,278467ms: ys2edn_retry_get 73,093513ms: ys2edn_parse 53,274MB/s 73,096558ms: jni_ys2edn_parse/call_parse 53,272MB/s 73,112923ms: jni_ys2edn_parse 53,260MB/s java:ys2ednBuf: 73.125305ms 53.251MB/s 3894000B call:ednBuf: 150.192001ms 25.927MB/s 3894000B call:evt... java:ys2evtBuf... 0,428085ms: jni_ys2evt_parse/GetByteArray(src) 8,114376ms: jni_ys2evt_parse/GetIntArray(dst) 0,001871ms: jni_ys2evt_parse/GetStringUTFChars() 8,565105ms: jni_ys2evt_parse/get_jni 454,635MB/s 0,000878ms: reset + reserve 21,515081ms: parse_in_place 180,989MB/s 21,525742ms: ys2evt_parse 180,900MB/s 21,528959ms: jni_ys2evt_parse/call_parse 180,873MB/s 0,447203ms: jni_ys2evt_parse/ReleaseByteArray(src) 5,624267ms: jni_ys2evt_parse/ReleaseIntArray(dst) 0,001076ms: jni_ys2evt_parse/ReleaseStringUTFChars() 6,085247ms: jni_ys2evt_parse/release 36,185322ms: jni_ys2evt_parse 107,613MB/s java:ys2evt: 36.195786ms 107.582MB/s 3894000B call:evt: 40.740360ms 95.581MB/s 3894000B call:evtBuf... java:ys2evtBuf... 0,002188ms: jni_ys2evt_parse/get_jni 1779707,520MB/s 0,000720ms: reset + reserve 21,331545ms: parse_in_place 182,547MB/s 21,341160ms: ys2evt_parse 182,464MB/s 21,343897ms: jni_ys2evt_parse/call_parse 182,441MB/s 21,357212ms: jni_ys2evt_parse 182,327MB/s java:ys2evtBuf: 21.365120ms 182.260MB/s 3894000B call:evtBuf: 27.394588ms 142.145MB/s 3894000B ----- /home/jpmag/proj/rapidyaml/bm/cases/style_maps_flow_outer1000_inner1000.yml ys.length=8784000 call:edn... java:ys2edn... 1,007704ms: jni_ys2edn_parse/GetByteArray(src) 1,068609ms: jni_ys2edn_parse/GetByteArray(dst) 0,001282ms: jni_ys2evt_parse/GetStringUTFChars() 2,093804ms: jni_ys2edn_parse/get_jni_data 4195,235MB/s 0,001659ms: reset + reserve 151,732574ms: parse_in_place 57,891MB/s 0,000019ms: ys2edn_retry_get 151,752396ms: ys2edn_parse 57,884MB/s 2,056400ms: jni_ys2edn_parse/release 155,915070ms: jni_ys2edn_parse 56,338MB/s java:ys2edn: 155.926132ms 56.334MB/s 8784000B java:ys2edn... 0,968508ms: jni_ys2edn_parse/GetByteArray(src) 11,112817ms: jni_ys2edn_parse/GetByteArray(dst) 0,001311ms: jni_ys2evt_parse/GetStringUTFChars() 12,105033ms: jni_ys2edn_parse/get_jni_data 725,649MB/s 0,002236ms: reset + reserve 136,510681ms: parse_in_place 64,347MB/s 4,374031ms: ys2edn_retry_get 140,909515ms: ys2edn_parse 62,338MB/s 5,479193ms: jni_ys2edn_parse/release 158,506912ms: jni_ys2edn_parse 55,417MB/s java:ys2edn: 158.517197ms 55.414MB/s 8784000B call:edn: 336.565643ms 26.099MB/s 8784000B call:ednBuf... java:ys2ednBuf... 0,001840ms: jni_ys2edn_parse/get_jni_data 4773913,088MB/s 0,002572ms: reset + reserve 136,738342ms: parse_in_place 64,239MB/s 0,000035ms: ys2edn_retry_get 136,756714ms: ys2edn_parse 64,231MB/s 136,759857ms: jni_ys2edn_parse/call_parse 64,229MB/s 136,772003ms: jni_ys2edn_parse 64,224MB/s java:ys2ednBuf: 136.783600ms 64.218MB/s 8784000B java:ys2ednBuf... 0,003399ms: jni_ys2edn_parse/get_jni_data 2584289,536MB/s 0,002487ms: reset + reserve 136,512512ms: parse_in_place 64,346MB/s 4,273001ms: ys2edn_retry_get 140,816635ms: ys2edn_parse 62,379MB/s 140,819626ms: jni_ys2edn_parse/call_parse 62,378MB/s 140,835098ms: jni_ys2edn_parse 62,371MB/s java:ys2ednBuf: 140.862976ms 62.358MB/s 8784000B call:ednBuf: 286.745575ms 30.633MB/s 8784000B call:evt... java:ys2evtBuf... 1,004054ms: jni_ys2evt_parse/GetByteArray(src) 8,102132ms: jni_ys2evt_parse/GetIntArray(dst) 0,002797ms: jni_ys2evt_parse/GetStringUTFChars() 9,131552ms: jni_ys2evt_parse/get_jni 961,939MB/s 0,000792ms: reset + reserve 49,813385ms: parse_in_place 176,338MB/s 49,824718ms: ys2evt_parse 176,298MB/s 49,827583ms: jni_ys2evt_parse/call_parse 176,288MB/s 1,033283ms: jni_ys2evt_parse/ReleaseByteArray(src) 5,743564ms: jni_ys2evt_parse/ReleaseIntArray(dst) 0,001015ms: jni_ys2evt_parse/ReleaseStringUTFChars() 6,790257ms: jni_ys2evt_parse/release 65,755936ms: jni_ys2evt_parse 133,585MB/s java:ys2evt: 65.765808ms 133.565MB/s 8784000B call:evt: 72.783669ms 120.686MB/s 8784000B call:evtBuf... java:ys2evtBuf... 0,018377ms: jni_ys2evt_parse/get_jni 477988,768MB/s 0,000729ms: reset + reserve 50,390553ms: parse_in_place 174,318MB/s 50,402847ms: ys2evt_parse 174,276MB/s 50,405594ms: jni_ys2evt_parse/call_parse 174,266MB/s 50,435165ms: jni_ys2evt_parse 174,164MB/s java:ys2evtBuf: 50.444641ms 174.131MB/s 8784000B call:evtBuf: 56.956013ms 154.224MB/s 8784000B ----- /home/jpmag/proj/rapidyaml/bm/cases/style_seqs_flow_outer1000_inner1000_json.json ys.length=3894002 call:edn... java:ys2edn... 0,330166ms: jni_ys2edn_parse/GetByteArray(src) 1,096978ms: jni_ys2edn_parse/GetByteArray(dst) 0,002020ms: jni_ys2evt_parse/GetStringUTFChars() 1,450136ms: jni_ys2edn_parse/get_jni_data 2685,267MB/s 0,002442ms: reset + reserve 71,063118ms: parse_in_place 54,796MB/s 0,000024ms: ys2edn_retry_get 71,079315ms: ys2edn_parse 54,784MB/s 1,544521ms: jni_ys2edn_parse/release 74,087189ms: jni_ys2edn_parse 52,560MB/s java:ys2edn: 74.098160ms 52.552MB/s 3894002B java:ys2edn... 0,426603ms: jni_ys2edn_parse/GetByteArray(src) 1,911429ms: jni_ys2edn_parse/GetByteArray(dst) 0,001644ms: jni_ys2evt_parse/GetStringUTFChars() 2,354758ms: jni_ys2edn_parse/get_jni_data 1653,674MB/s 0,001464ms: reset + reserve 69,939552ms: parse_in_place 55,677MB/s 2,210632ms: ys2edn_retry_get 72,166901ms: ys2edn_parse 53,958MB/s 2,714381ms: jni_ys2edn_parse/release 77,247299ms: jni_ys2edn_parse 50,410MB/s java:ys2edn: 77.256142ms 50.404MB/s 3894002B call:edn: 162.865555ms 23.909MB/s 3894002B call:ednBuf... java:ys2ednBuf... 0,002270ms: jni_ys2edn_parse/get_jni_data 1715419,392MB/s 0,002090ms: reset + reserve 70,507896ms: parse_in_place 55,228MB/s 0,000025ms: ys2edn_retry_get 70,521866ms: ys2edn_parse 55,217MB/s 70,524414ms: jni_ys2edn_parse/call_parse 55,215MB/s 70,535355ms: jni_ys2edn_parse 55,206MB/s java:ys2ednBuf: 70.543930ms 55.200MB/s 3894002B java:ys2ednBuf... 0,001999ms: jni_ys2edn_parse/get_jni_data 1947974,912MB/s 0,017705ms: reset + reserve 71,052269ms: parse_in_place 54,805MB/s 2,230100ms: ys2edn_retry_get 73,315285ms: ys2edn_parse 53,113MB/s 73,318420ms: jni_ys2edn_parse/call_parse 53,111MB/s 73,327438ms: jni_ys2edn_parse 53,104MB/s java:ys2ednBuf: 73.337601ms 53.097MB/s 3894002B call:ednBuf: 147.542007ms 26.392MB/s 3894002B call:evt... java:ys2evtBuf... 0,442496ms: jni_ys2evt_parse/GetByteArray(src) 8,129780ms: jni_ys2evt_parse/GetIntArray(dst) 0,002011ms: jni_ys2evt_parse/GetStringUTFChars() 8,595941ms: jni_ys2evt_parse/get_jni 453,005MB/s 0,000894ms: reset + reserve 21,720827ms: parse_in_place 179,275MB/s 21,730803ms: ys2evt_parse 179,193MB/s 21,734653ms: jni_ys2evt_parse/call_parse 179,161MB/s 0,421911ms: jni_ys2evt_parse/ReleaseByteArray(src) 5,674166ms: jni_ys2evt_parse/ReleaseIntArray(dst) 0,000743ms: jni_ys2evt_parse/ReleaseStringUTFChars() 6,109232ms: jni_ys2evt_parse/release 36,447289ms: jni_ys2evt_parse 106,839MB/s java:ys2evt: 36.457016ms 106.811MB/s 3894002B call:evt: 40.910328ms 95.184MB/s 3894002B call:evtBuf... java:ys2evtBuf... 0,002744ms: jni_ys2evt_parse/get_jni 1419096,960MB/s 0,000659ms: reset + reserve 21,838436ms: parse_in_place 178,310MB/s 21,850664ms: ys2evt_parse 178,210MB/s 21,853758ms: jni_ys2evt_parse/call_parse 178,185MB/s 21,869469ms: jni_ys2evt_parse 178,057MB/s java:ys2evtBuf: 21.878090ms 177.986MB/s 3894002B call:evtBuf: 28.053461ms 138.806MB/s 3894002B ----- /home/jpmag/proj/rapidyaml/bm/cases/style_maps_flow_outer1000_inner1000_json.yml ys.length=8784002 call:edn... java:ys2edn... 1,888226ms: jni_ys2edn_parse/GetByteArray(src) 2,544243ms: jni_ys2edn_parse/GetByteArray(dst) 0,002253ms: jni_ys2evt_parse/GetStringUTFChars() 4,454822ms: jni_ys2edn_parse/get_jni_data 1971,796MB/s 0,002021ms: reset + reserve 136,622375ms: parse_in_place 64,294MB/s 0,000020ms: ys2edn_retry_get 136,640030ms: ys2edn_parse 64,286MB/s 2,347279ms: jni_ys2edn_parse/release 143,458054ms: jni_ys2edn_parse 61,230MB/s java:ys2edn: 143.469604ms 61.226MB/s 8784002B java:ys2edn... 1,991961ms: jni_ys2edn_parse/GetByteArray(src) 11,108978ms: jni_ys2edn_parse/GetByteArray(dst) 0,002018ms: jni_ys2evt_parse/GetStringUTFChars() 13,122984ms: jni_ys2edn_parse/get_jni_data 669,360MB/s 0,001842ms: reset + reserve 136,570084ms: parse_in_place 64,319MB/s 4,254542ms: ys2edn_retry_get 140,848358ms: ys2edn_parse 62,365MB/s 5,660944ms: jni_ys2edn_parse/release 159,643997ms: jni_ys2edn_parse 55,022MB/s java:ys2edn: 159.653351ms 55.019MB/s 8784002B call:edn: 323.496796ms 27.153MB/s 8784002B call:ednBuf... java:ys2ednBuf... 0,001906ms: jni_ys2edn_parse/get_jni_data 4608605,696MB/s 0,002339ms: reset + reserve 136,883469ms: parse_in_place 64,171MB/s 0,000038ms: ys2edn_retry_get 136,904175ms: ys2edn_parse 64,162MB/s 136,907028ms: jni_ys2edn_parse/call_parse 64,160MB/s 136,920837ms: jni_ys2edn_parse 64,154MB/s java:ys2ednBuf: 136.933243ms 64.148MB/s 8784002B java:ys2ednBuf... 0,002604ms: jni_ys2edn_parse/get_jni_data 3373272,576MB/s 0,002970ms: reset + reserve 136,688339ms: parse_in_place 64,263MB/s 4,348243ms: ys2edn_retry_get 141,061874ms: ys2edn_parse 62,271MB/s 141,064972ms: jni_ys2edn_parse/call_parse 62,269MB/s 141,080063ms: jni_ys2edn_parse 62,263MB/s java:ys2ednBuf: 141.092941ms 62.257MB/s 8784002B call:ednBuf: 287.268158ms 30.578MB/s 8784002B call:evt... java:ys2evtBuf... 0,985668ms: jni_ys2evt_parse/GetByteArray(src) 8,121219ms: jni_ys2evt_parse/GetIntArray(dst) 0,002764ms: jni_ys2evt_parse/GetStringUTFChars() 9,133806ms: jni_ys2evt_parse/get_jni 961,702MB/s 0,000989ms: reset + reserve 50,007858ms: parse_in_place 175,652MB/s 50,019047ms: ys2evt_parse 175,613MB/s 50,022156ms: jni_ys2evt_parse/call_parse 175,602MB/s 0,965973ms: jni_ys2evt_parse/ReleaseByteArray(src) 5,844872ms: jni_ys2evt_parse/ReleaseIntArray(dst) 0,000858ms: jni_ys2evt_parse/ReleaseStringUTFChars() 6,827047ms: jni_ys2evt_parse/release 65,990753ms: jni_ys2evt_parse 133,110MB/s java:ys2evt: 66.000282ms 133.090MB/s 8784002B call:evt: 73.179230ms 120.034MB/s 8784002B call:evtBuf... java:ys2evtBuf... 0,004144ms: jni_ys2evt_parse/get_jni 2119691,648MB/s 0,000963ms: reset + reserve 49,682919ms: parse_in_place 176,801MB/s 49,695457ms: ys2evt_parse 176,757MB/s 49,698326ms: jni_ys2evt_parse/call_parse 176,746MB/s 49,730080ms: jni_ys2evt_parse 176,634MB/s java:ys2evtBuf: 49.739895ms 176.599MB/s 8784002B call:evtBuf: 56.250931ms 156.157MB/s 8784002B
c7f8ab1
to
5d98e23
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.