From ef7d0ec7a963fe5f5db68fa4c4d65aee78fc841b Mon Sep 17 00:00:00 2001 From: Estevao Soares dos Santos Date: Sat, 28 Jan 2017 02:04:50 +0000 Subject: [PATCH] test: use new performance test file --- performance.json | 2 +- performance.log.md | 228 ++-- performance.log.old.md | 183 ++++ performance.old.json | 1 + test/node/performance.js | 6 +- test/performance.testfile.md | 1912 ++++++++++++++++++++++++++++++++++ 6 files changed, 2166 insertions(+), 166 deletions(-) create mode 100644 performance.log.old.md create mode 100644 performance.old.json create mode 100644 test/performance.testfile.md diff --git a/performance.json b/performance.json index 8337888..d78344b 100644 --- a/performance.json +++ b/performance.json @@ -1 +1 @@ -{"1.6.1":[{"suiteName":"Basic","cycles":100,"tests":[{"name":"Simple \"Hello World\"","time":0.2958120799999999,"maxTime":5.550883000000001,"minTime":0.15368899999999996},{"name":"readme.md","time":8.404244670000006,"maxTime":17.861669,"minTime":7.5373879999999644}]},{"suiteName":"subParsers","cycles":1000,"tests":[{"name":"hashHTMLBlocks","time":0.6926790759999998,"maxTime":1.1041490000000067,"minTime":0.6515210000000025},{"name":"anchors","time":0.18644276900000045,"maxTime":0.5207339999999476,"minTime":0.16423599999984617},{"name":"autoLinks","time":0.016064406999998483,"maxTime":0.1832210000000032,"minTime":0.013559999999870342},{"name":"blockGamut","time":7.565959227999977,"maxTime":16.244318999999905,"minTime":6.64207499999975},{"name":"blockQuotes","time":0.06522680000001856,"maxTime":0.2519290000000183,"minTime":0.06117399999857298},{"name":"codeBlocks","time":0.07029943900001126,"maxTime":1.1837059999998019,"minTime":0.06117499999891152},{"name":"codeSpans","time":0.20204701299999034,"maxTime":1.1632149999986723,"minTime":0.1669480000000476},{"name":"detab","time":0.0266204400000006,"maxTime":0.23897200000101293,"minTime":0.023203999999168445},{"name":"encodeAmpsAndAngles","time":0.01731111700000656,"maxTime":0.43304100000023027,"minTime":0.014162999999825843},{"name":"encodeBackslashEscapes","time":0.014812300999996296,"maxTime":0.4261099999985163,"minTime":0.012957999999343883},{"name":"encodeCode","time":0.17994833399997878,"maxTime":0.5038580000000366,"minTime":0.16122200000063458},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.06012282200000118,"maxTime":0.4191790000004403,"minTime":0.05364000000008673},{"name":"githubCodeBlocks","time":0.07810769899999104,"maxTime":4.5166470000003756,"minTime":0.056652999999641906},{"name":"hashBlock","time":0.03119615600000907,"maxTime":5.981815000001006,"minTime":0.011751999998523388},{"name":"hashElement","time":0.000833241000000271,"maxTime":0.21576699999968696,"minTime":0},{"name":"hashHTMLSpans","time":0.036117796999980786,"maxTime":4.56908199999998,"minTime":0.01084900000023481},{"name":"hashPreCodeTags","time":0.018725640999993628,"maxTime":0.27603799999997136,"minTime":0.015368000000307802},{"name":"headers","time":0.46195882099999835,"maxTime":5.390865999999733,"minTime":0.4062209999992774},{"name":"images","time":0.03945737099998405,"maxTime":1.6399510000010196,"minTime":0.033147999998618616},{"name":"italicsAndBold","time":0.04318326500000512,"maxTime":0.3332940000000235,"minTime":0.03736699999899429},{"name":"lists","time":5.334899963000009,"maxTime":8.004783000000316,"minTime":4.849036999999953},{"name":"outdent","time":0.05061971899999117,"maxTime":0.633137999999235,"minTime":0.04580499999974563},{"name":"paragraphs","time":1.3964867540000176,"maxTime":4.0462380000026315,"minTime":1.2451810000002297},{"name":"spanGamut","time":0.8006000669999849,"maxTime":23.092216000000917,"minTime":0.5719639999988431},{"name":"strikethrough","time":0.0009158030000071449,"maxTime":0.5550879999973404,"minTime":0},{"name":"stripBlankLines","time":0.032642007000005836,"maxTime":0.3332940000000235,"minTime":0.02893000000040047},{"name":"stripLinkDefinitions","time":0.07246253600001729,"maxTime":0.4719149999982619,"minTime":0.06328299999950104},{"name":"tables","time":0.0007446430000054533,"maxTime":0.22842400000081398,"minTime":0},{"name":"unescapeSpecialChars","time":0.0036312810000199533,"maxTime":0.20913800000198535,"minTime":0.0030129999977361877}]}],"1.6.0":[{"suiteName":"Basic","cycles":100,"tests":[{"name":"Simple \"Hello World\"","time":0.29438959999999986,"maxTime":5.326073999999999,"minTime":0.15549700000000044},{"name":"readme.md","time":8.598583230000001,"maxTime":16.906080000000003,"minTime":7.735674999999901}]},{"suiteName":"subParsers","cycles":1000,"tests":[{"name":"hashHTMLBlocks","time":0.6924498400000021,"maxTime":1.1354899999998906,"minTime":0.6415750000001026},{"name":"anchors","time":0.20385474400000045,"maxTime":0.5303779999999279,"minTime":0.17478299999993396},{"name":"autoLinks","time":0.015965254999999616,"maxTime":0.220890000000054,"minTime":0.014162999999825843},{"name":"blockGamut","time":7.990532458000012,"maxTime":18.829602000000023,"minTime":6.9816950000004},{"name":"blockQuotes","time":0.06327221800000735,"maxTime":0.2609699999993609,"minTime":0.059967999999571475},{"name":"codeBlocks","time":0.07321287400002074,"maxTime":1.2774260000005597,"minTime":0.06298199999946519},{"name":"codeSpans","time":0.19469217900000876,"maxTime":0.7512669999996433,"minTime":0.17749499999990803},{"name":"detab","time":0.025129632999989552,"maxTime":0.25946299999850453,"minTime":0.022901999998794054},{"name":"encodeAmpsAndAngles","time":0.018705730999981823,"maxTime":0.33178700000098615,"minTime":0.013861999999789987},{"name":"encodeBackslashEscapes","time":0.03067420399999355,"maxTime":0.455642999999327,"minTime":0.02953199999865319},{"name":"encodeCode","time":0.1930971480000062,"maxTime":0.650617000001148,"minTime":0.15941399999974237},{"name":"encodeEmailAddress","time":2.343325609000005,"maxTime":5.2028210000007675,"minTime":2.1450150000000576},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.06557995400000073,"maxTime":0.6198779999995168,"minTime":0.05936599999949976},{"name":"githubCodeBlocks","time":0.09976427799998965,"maxTime":4.566067000001567,"minTime":0.058160999999017804},{"name":"hashBlock","time":0.028808553000004393,"maxTime":6.856332999999722,"minTime":0.011450999998487532},{"name":"hashElement","time":0.0005638340000023163,"maxTime":0.21004199999879347,"minTime":0},{"name":"hashHTMLSpans","time":0.02396972399999868,"maxTime":5.002422999999908,"minTime":0.010847999999896274},{"name":"hashPreCodeTags","time":0.017857751000005008,"maxTime":0.26247700000021723,"minTime":0.015368000000307802},{"name":"headers","time":0.485478813999991,"maxTime":8.313664999999673,"minTime":0.40983800000140036},{"name":"images","time":0.04230422700000236,"maxTime":1.295205000000351,"minTime":0.03495599999951082},{"name":"italicsAndBold","time":0.04026859799999875,"maxTime":0.3115959999995539,"minTime":0.03616199999851233},{"name":"lists","time":5.541432996999978,"maxTime":11.729175000000396,"minTime":5.039489000000685},{"name":"outdent","time":0.052097829000002094,"maxTime":0.7756770000014512,"minTime":0.04550300000119023},{"name":"paragraphs","time":1.4226595109999762,"maxTime":2.5361680000023625,"minTime":1.289781999999832},{"name":"spanGamut","time":0.6634622979999986,"maxTime":1.3437230000017735,"minTime":0.6048110000010638},{"name":"strikethrough","time":0.0004426859999948647,"maxTime":0.24288800000067567,"minTime":0},{"name":"stripBlankLines","time":0.03101803000001746,"maxTime":0.27392799999870476,"minTime":0.027723999999579974},{"name":"stripLinkDefinitions","time":0.07128272199999992,"maxTime":0.3450459999985469,"minTime":0.06298200000310317},{"name":"tables","time":0.0006831639999982144,"maxTime":0.21184999999968568,"minTime":0},{"name":"unescapeSpecialChars","time":0.004172203999998601,"maxTime":0.3489640000007057,"minTime":0.0030129999977361877}]}],"1.5.6":[{"suiteName":"Basic","cycles":100,"tests":[{"name":"Simple \"Hello World\"","time":0.48365952999999995,"maxTime":5.497247999999999,"minTime":0.15941500000000275},{"name":"readme.md","time":8.624009609999991,"maxTime":20.72512300000001,"minTime":7.638648999999987}]},{"suiteName":"subParsers","cycles":1000,"tests":[{"name":"hashHTMLBlocks","time":0.6974054759999992,"maxTime":1.1927480000001651,"minTime":0.6367549999999937},{"name":"anchors","time":0.19090051499999935,"maxTime":0.6283180000000357,"minTime":0.1591129999999339},{"name":"autoLinks","time":0.01718004600000063,"maxTime":0.31822600000009515,"minTime":0.01386200000001736},{"name":"blockGamut","time":7.7196042380000085,"maxTime":14.916580000000977,"minTime":6.94945800000005},{"name":"blockQuotes","time":0.06506110199997783,"maxTime":0.23625900000115507,"minTime":0.05966699999953562},{"name":"codeBlocks","time":0.08153567099998872,"maxTime":1.0782339999987016,"minTime":0.06298199999946519},{"name":"codeSpans","time":0.18521222000000126,"maxTime":0.9152030000004743,"minTime":0.1675520000007964},{"name":"detab","time":0.024611045000006927,"maxTime":0.19467299999996612,"minTime":0.022600999998758198},{"name":"encodeAmpsAndAngles","time":0.016200345999990533,"maxTime":0.31943199999841454,"minTime":0.01356099999975413},{"name":"encodeBackslashEscapes","time":0.01431991399999606,"maxTime":0.2639839999992546,"minTime":0.012655999998969492},{"name":"encodeCode","time":0.1769781109999949,"maxTime":0.48939399999835587,"minTime":0.1554969999997411},{"name":"encodeEmailAddress","time":2.848971260999982,"maxTime":482.6867740000016,"minTime":2.1034310000013647},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.06140210999999181,"maxTime":0.4282199999997829,"minTime":0.054543999998713844},{"name":"githubCodeBlocks","time":0.08352940699999999,"maxTime":5.148885999999038,"minTime":0.05574999999953434},{"name":"hashBlock","time":0.035242384999986824,"maxTime":6.322346999999354,"minTime":0.011450999998487532},{"name":"hashElement","time":0.0007398209999955725,"maxTime":0.228423999998995,"minTime":0},{"name":"hashHTMLSpans","time":0.023965240999994423,"maxTime":4.870135000001028,"minTime":0.010548000000198954},{"name":"hashPreCodeTags","time":0.0177119209999928,"maxTime":0.29502299999876413,"minTime":0.015066999998452957},{"name":"headers","time":0.47185469899999044,"maxTime":4.046241999998529,"minTime":0.40471400000024005},{"name":"images","time":0.04015382200000204,"maxTime":0.8353449999995064,"minTime":0.03314899999895715},{"name":"italicsAndBold","time":0.040937056000007944,"maxTime":0.4218909999999596,"minTime":0.03555899999992107},{"name":"lists","time":5.605958104999981,"maxTime":8.2754040000018,"minTime":5.111517999999705},{"name":"outdent","time":0.05058991999998762,"maxTime":0.8519200000009732,"minTime":0.04490099999748054},{"name":"paragraphs","time":1.3683752520000052,"maxTime":2.683230000002368,"minTime":1.221376000001328},{"name":"spanGamut","time":0.6380164189999886,"maxTime":1.4329240000006394,"minTime":0.5689510000011069},{"name":"strikethrough","time":0.00041044099999635366,"maxTime":0.2287259999975504,"minTime":0},{"name":"stripBlankLines","time":0.031698214999982155,"maxTime":0.29773500000010245,"minTime":0.027422999999544118},{"name":"stripLinkDefinitions","time":0.07171796800000084,"maxTime":0.35408800000004703,"minTime":0.06177699999898323},{"name":"tables","time":0.0005409359999939625,"maxTime":0.19889199999670382,"minTime":0},{"name":"unescapeSpecialChars","time":0.0034100999999900523,"maxTime":0.15188100000159466,"minTime":0.0030129999977361877}]}],"1.5.5":[{"suiteName":"Basic","cycles":100,"tests":[{"name":"Simple \"Hello World\"","time":0.3017154600000001,"maxTime":5.968856000000001,"minTime":0.14796299999999718},{"name":"readme.md","time":8.157263590000007,"maxTime":17.988235999999993,"minTime":7.204394999999977}]},{"suiteName":"subParsers","cycles":1000,"tests":[{"name":"hashHTMLBlocks","time":0.6816068189999991,"maxTime":1.094506000000024,"minTime":0.6253030000000308},{"name":"anchors","time":0.2342927859999952,"maxTime":0.5794980000000578,"minTime":0.1910560000001169},{"name":"autoLinks","time":0.014762871999999106,"maxTime":0.18050900000002912,"minTime":0.01295799999979863},{"name":"blockGamut","time":7.3070927989999825,"maxTime":17.844490999999834,"minTime":6.509178000000247},{"name":"blockQuotes","time":0.06523252800000227,"maxTime":0.25795599999946717,"minTime":0.058762999999089516},{"name":"codeBlocks","time":0.07315170800001215,"maxTime":1.051713999999265,"minTime":0.06237900000087393},{"name":"codeSpans","time":0.18133396599998558,"maxTime":0.8983270000007906,"minTime":0.1651399999991554},{"name":"detab","time":0.023979393999999956,"maxTime":0.2088370000001305,"minTime":0.022299000000202795},{"name":"encodeAmpsAndAngles","time":0.01590047000001141,"maxTime":0.2796539999999368,"minTime":0.013861999999789987},{"name":"encodeBackslashEscapes","time":0.014044158999993669,"maxTime":0.3592109999990498,"minTime":0.012655999998969492},{"name":"encodeCode","time":0.1713209560000123,"maxTime":0.5418289999997796,"minTime":0.15368899999884889},{"name":"encodeEmailAddress","time":2.3023639950000105,"maxTime":4.221322999999757,"minTime":2.079922999999326},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.06365613699999631,"maxTime":0.4035089999997581,"minTime":0.05424300000049698},{"name":"githubCodeBlocks","time":0.11150525500000368,"maxTime":6.431128999998691,"minTime":0.0569550000000163},{"name":"hashBlock","time":0.031511962000016866,"maxTime":6.548655999999028,"minTime":0.011150000000270666},{"name":"hashElement","time":0.0007349880000037956,"maxTime":0.22661599999992177,"minTime":0},{"name":"hashHTMLSpans","time":0.03193505000001096,"maxTime":6.133695999998963,"minTime":0.00994399999945017},{"name":"hashPreCodeTags","time":0.017636856999988595,"maxTime":0.3019540000004781,"minTime":0.015067999998791493},{"name":"headers","time":0.4557796079999789,"maxTime":7.748634999999922,"minTime":0.3962759999994887},{"name":"images","time":0.03852289700000438,"maxTime":1.0164559999993799,"minTime":0.03284699999858276},{"name":"italicsAndBold","time":0.0357555800000082,"maxTime":0.4667920000010781,"minTime":0.031038999999509542},{"name":"lists","time":5.111364808999966,"maxTime":11.046619000000646,"minTime":4.623325000000477},{"name":"outdent","time":0.05124681700002475,"maxTime":0.4122480000005453,"minTime":0.04429799999707029},{"name":"paragraphs","time":1.3728050700000132,"maxTime":3.7286149999999907,"minTime":1.2099230000021635},{"name":"spanGamut","time":0.7691525840000031,"maxTime":1.306657000000996,"minTime":0.6686979999976757},{"name":"strikethrough","time":0.0004860790000202542,"maxTime":0.2513269999981276,"minTime":0},{"name":"stripBlankLines","time":0.03095717400000649,"maxTime":0.2920090000006894,"minTime":0.027421999999205582},{"name":"stripLinkDefinitions","time":0.06971120600001814,"maxTime":0.42219200000181445,"minTime":0.06117399999857298},{"name":"tables","time":0.000774782000004052,"maxTime":0.21154800000294927,"minTime":0},{"name":"unescapeSpecialChars","time":0.0036451429999833636,"maxTime":0.18713900000147987,"minTime":0.0027119999977003317}]}],"1.5.4":[{"suiteName":"Basic","cycles":100,"tests":[{"name":"Simple \"Hello World\"","time":0.30990324000000025,"maxTime":5.549075,"minTime":0.14916800000000308},{"name":"readme.md","time":8.072704459999997,"maxTime":17.975579000000003,"minTime":7.220064999999977}]}]} \ No newline at end of file +{"1.6.1":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.31091576000000004,"maxTime":5.504777000000001,"minTime":0.15730499999999914},{"name":"readme.md","time":25.526521779999992,"maxTime":48.199563999999995,"minTime":23.653631999999902}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.5707039000000007,"maxTime":7.892379000000119,"minTime":1.8475819999998748},{"name":"anchors","time":0.5004986000000144,"maxTime":4.09656300000006,"minTime":0.2721199999998589},{"name":"autoLinks","time":0.09292174999999361,"maxTime":0.21998699999994642,"minTime":0.07142100000010032},{"name":"blockGamut","time":16.473827149999956,"maxTime":22.568768999999975,"minTime":13.147637000000032},{"name":"blockQuotes","time":3.1149583500000175,"maxTime":5.541240000000016,"minTime":2.7187880000001314},{"name":"codeBlocks","time":0.28387244999998984,"maxTime":1.166831000000002,"minTime":0.1726739999999154},{"name":"codeSpans","time":0.20857990000004065,"maxTime":0.4532320000000709,"minTime":0.17418100000008963},{"name":"detab","time":0.0945638499999859,"maxTime":0.1353070000000116,"minTime":0.08799399999998059},{"name":"encodeAmpsAndAngles","time":0.04690535000002001,"maxTime":0.07383099999992737,"minTime":0.037368000000014945},{"name":"encodeBackslashEscapes","time":0.07368025000001807,"maxTime":0.11240399999996953,"minTime":0.06810500000005959},{"name":"encodeCode","time":0.5438630500000159,"maxTime":1.4377449999999499,"minTime":0.4797510000000784},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.3590444000000389,"maxTime":0.44630099999994854,"minTime":0.3299789999998666},{"name":"githubCodeBlocks","time":0.19877120000004425,"maxTime":0.7789920000000166,"minTime":0.14585299999998824},{"name":"hashBlock","time":0.12041989999999032,"maxTime":1.5561760000000504,"minTime":0.03736799999978757},{"name":"hashElement","time":0.001988949999997658,"maxTime":0.03435400000012123,"minTime":0},{"name":"hashHTMLSpans","time":0.3537256999999954,"maxTime":1.5615999999999985,"minTime":0.25464099999999235},{"name":"hashPreCodeTags","time":0.13169024999998555,"maxTime":0.23294400000008864,"minTime":0.11421199999995224},{"name":"headers","time":0.8376951000000303,"maxTime":2.0139279999998507,"minTime":0.7235430000000633},{"name":"images","time":0.15631084999999983,"maxTime":0.8253999999999451,"minTime":0.08799500000009175},{"name":"italicsAndBold","time":0.09917464999998629,"maxTime":0.19768599999997605,"minTime":0.0895020000000386},{"name":"lists","time":4.8558021999999825,"maxTime":5.638877000000093,"minTime":4.491032000000132},{"name":"outdent","time":0.18070509999998877,"maxTime":0.5764840000001641,"minTime":0.14073099999995975},{"name":"paragraphs","time":6.091581700000006,"maxTime":9.738455000000158,"minTime":3.4134010000000217},{"name":"spanGamut","time":2.4716045000000464,"maxTime":4.012184999999818,"minTime":1.6405540000000656},{"name":"strikethrough","time":0.00433935000000929,"maxTime":0.0822689999999966,"minTime":0},{"name":"stripBlankLines","time":0.11785844999999426,"maxTime":0.13832000000002154,"minTime":0.08889899999985573},{"name":"stripLinkDefinitions","time":0.20514459999999418,"maxTime":0.5204330000001391,"minTime":0.1479629999998906},{"name":"tables","time":0.006840699999975186,"maxTime":0.11692399999992631,"minTime":0.0003010000000358559},{"name":"unescapeSpecialChars","time":0.011345849999975144,"maxTime":0.05484599999999773,"minTime":0.006930999999894993}]}],"1.6.0":[{"suiteName":"Basic","cycles":50,"tests":[{"name":"Simple \"Hello World\"","time":0.3075345600000001,"maxTime":5.369168,"minTime":0.1570040000000006},{"name":"readme.md","time":25.81825956,"maxTime":47.795452,"minTime":23.775378000000046}]},{"suiteName":"subParsers","cycles":20,"tests":[{"name":"hashHTMLBlocks","time":2.652987649999966,"maxTime":8.557761999999911,"minTime":1.8804290000000492},{"name":"anchors","time":0.5166509500000303,"maxTime":4.142066999999997,"minTime":0.27121600000009494},{"name":"autoLinks","time":0.0885518999999931,"maxTime":0.19437100000004648,"minTime":0.0705159999999978},{"name":"blockGamut","time":17.371581599999978,"maxTime":22.94093699999985,"minTime":14.081522999999834},{"name":"blockQuotes","time":3.011308699999995,"maxTime":4.110426000000189,"minTime":2.7742359999999735},{"name":"codeBlocks","time":0.24291900000000624,"maxTime":0.8344409999999698,"minTime":0.19346700000005512},{"name":"codeSpans","time":0.2271433000000002,"maxTime":0.4583549999999832,"minTime":0.19135800000003655},{"name":"detab","time":0.09469964999999547,"maxTime":0.13289599999984603,"minTime":0.08950099999992744},{"name":"encodeAmpsAndAngles","time":0.040486450000014426,"maxTime":0.07262600000012753,"minTime":0.03766799999993964},{"name":"encodeBackslashEscapes","time":0.09959649999997282,"maxTime":0.5095850000000155,"minTime":0.06840699999997923},{"name":"encodeCode","time":0.5320952499999863,"maxTime":0.7057630000001609,"minTime":0.4794489999999314},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.38607564999999794,"maxTime":0.7018459999999322,"minTime":0.326663999999937},{"name":"githubCodeBlocks","time":0.21441115000002356,"maxTime":0.7780880000000252,"minTime":0.15579800000000432},{"name":"hashBlock","time":0.056638900000007195,"maxTime":0.27995499999997264,"minTime":0.035257999999885214},{"name":"hashElement","time":0.001958799999999883,"maxTime":0.033148999999866646,"minTime":0},{"name":"hashHTMLSpans","time":0.38414695000003574,"maxTime":1.9973540000000867,"minTime":0.2356569999999465},{"name":"hashPreCodeTags","time":0.1327451500000393,"maxTime":0.20009700000014163,"minTime":0.1157189999998991},{"name":"headers","time":0.9440720999999825,"maxTime":2.4683650000001762,"minTime":0.7823069999999461},{"name":"images","time":0.12035954999996648,"maxTime":0.4857769999998709,"minTime":0.08588499999996202},{"name":"italicsAndBold","time":0.11076150000000098,"maxTime":0.4447930000001179,"minTime":0.08799499999986438},{"name":"lists","time":5.782546349999995,"maxTime":13.248890999999958,"minTime":4.463608999999906},{"name":"outdent","time":0.3057505000000219,"maxTime":0.9561860000001161,"minTime":0.22541000000001077},{"name":"paragraphs","time":6.582542549999971,"maxTime":8.810596000000032,"minTime":4.498867000000246},{"name":"spanGamut","time":2.43690389999997,"maxTime":3.067450000000008,"minTime":1.6474849999999606},{"name":"strikethrough","time":0.005228549999992537,"maxTime":0.10035000000016225,"minTime":0},{"name":"stripBlankLines","time":0.12142940000005638,"maxTime":0.17508399999996982,"minTime":0.09191199999986566},{"name":"stripLinkDefinitions","time":0.24673084999997172,"maxTime":0.572566000000279,"minTime":0.17146900000034293},{"name":"tables","time":0.005650249999962398,"maxTime":0.0985419999997248,"minTime":0.00030099999958110857},{"name":"unescapeSpecialChars","time":0.016694800000050237,"maxTime":0.06569400000034875,"minTime":0.011450999999851774}]}]} \ No newline at end of file diff --git a/performance.log.md b/performance.log.md index 70086e6..e1de2b8 100644 --- a/performance.log.md +++ b/performance.log.md @@ -3,181 +3,85 @@ ## [version 1.6.1](https://github.com/showdownjs/showdown/tree/1.6.1) -### Test Suite: Basic (100 cycles) +### Test Suite: Basic (50 cycles) | test | avgTime | max | min | |:-----|--------:|----:|----:| -|Simple "Hello World"|0.296|5.551|0.154| -|readme.md|8.404|17.862|7.537| +|Simple "Hello World"|0.311|5.505|0.157| +|readme.md|25.527|48.200|23.654| -### Test Suite: subParsers (1000 cycles) +### Test Suite: subParsers (20 cycles) | test | avgTime | max | min | |:-----|--------:|----:|----:| -|hashHTMLBlocks|0.693|1.104|0.652| -|anchors|0.186|0.521|0.164| -|autoLinks|0.016|0.183|0.014| -|blockGamut|7.566|16.244|6.642| -|blockQuotes|0.065|0.252|0.061| -|codeBlocks|0.070|1.184|0.061| -|codeSpans|0.202|1.163|0.167| -|detab|0.027|0.239|0.023| -|encodeAmpsAndAngles|0.017|0.433|0.014| -|encodeBackslashEscapes|0.015|0.426|0.013| -|encodeCode|0.180|0.504|0.161| -|escapeSpecialCharsWithinTagAttributes|0.060|0.419|0.054| -|githubCodeBlocks|0.078|4.517|0.057| -|hashBlock|0.031|5.982|0.012| -|hashElement|0.001|0.216|0.000| -|hashHTMLSpans|0.036|4.569|0.011| -|hashPreCodeTags|0.019|0.276|0.015| -|headers|0.462|5.391|0.406| -|images|0.039|1.640|0.033| -|italicsAndBold|0.043|0.333|0.037| -|lists|5.335|8.005|4.849| -|outdent|0.051|0.633|0.046| -|paragraphs|1.396|4.046|1.245| -|spanGamut|0.801|23.092|0.572| -|strikethrough|0.001|0.555|0.000| -|stripBlankLines|0.033|0.333|0.029| -|stripLinkDefinitions|0.072|0.472|0.063| -|tables|0.001|0.228|0.000| -|unescapeSpecialChars|0.004|0.209|0.003| +|hashHTMLBlocks|2.571|7.892|1.848| +|anchors|0.500|4.097|0.272| +|autoLinks|0.093|0.220|0.071| +|blockGamut|16.474|22.569|13.148| +|blockQuotes|3.115|5.541|2.719| +|codeBlocks|0.284|1.167|0.173| +|codeSpans|0.209|0.453|0.174| +|detab|0.095|0.135|0.088| +|encodeAmpsAndAngles|0.047|0.074|0.037| +|encodeBackslashEscapes|0.074|0.112|0.068| +|encodeCode|0.544|1.438|0.480| +|escapeSpecialCharsWithinTagAttributes|0.359|0.446|0.330| +|githubCodeBlocks|0.199|0.779|0.146| +|hashBlock|0.120|1.556|0.037| +|hashElement|0.002|0.034|0.000| +|hashHTMLSpans|0.354|1.562|0.255| +|hashPreCodeTags|0.132|0.233|0.114| +|headers|0.838|2.014|0.724| +|images|0.156|0.825|0.088| +|italicsAndBold|0.099|0.198|0.090| +|lists|4.856|5.639|4.491| +|outdent|0.181|0.576|0.141| +|paragraphs|6.092|9.738|3.413| +|spanGamut|2.472|4.012|1.641| +|strikethrough|0.004|0.082|0.000| +|stripBlankLines|0.118|0.138|0.089| +|stripLinkDefinitions|0.205|0.520|0.148| +|tables|0.007|0.117|0.000| +|unescapeSpecialChars|0.011|0.055|0.007| ## [version 1.6.0](https://github.com/showdownjs/showdown/tree/1.6.0) -### Test Suite: Basic (100 cycles) +### Test Suite: Basic (50 cycles) | test | avgTime | max | min | |:-----|--------:|----:|----:| -|Simple "Hello World"|0.294|5.326|0.155| -|readme.md|8.599|16.906|7.736| +|Simple "Hello World"|0.308|5.369|0.157| +|readme.md|25.818|47.795|23.775| -### Test Suite: subParsers (1000 cycles) +### Test Suite: subParsers (20 cycles) | test | avgTime | max | min | |:-----|--------:|----:|----:| -|hashHTMLBlocks|0.692|1.135|0.642| -|anchors|0.204|0.530|0.175| -|autoLinks|0.016|0.221|0.014| -|blockGamut|7.991|18.830|6.982| -|blockQuotes|0.063|0.261|0.060| -|codeBlocks|0.073|1.277|0.063| -|codeSpans|0.195|0.751|0.177| -|detab|0.025|0.259|0.023| -|encodeAmpsAndAngles|0.019|0.332|0.014| -|encodeBackslashEscapes|0.031|0.456|0.030| -|encodeCode|0.193|0.651|0.159| -|encodeEmailAddress|2.343|5.203|2.145| -|escapeSpecialCharsWithinTagAttributes|0.066|0.620|0.059| -|githubCodeBlocks|0.100|4.566|0.058| -|hashBlock|0.029|6.856|0.011| -|hashElement|0.001|0.210|0.000| -|hashHTMLSpans|0.024|5.002|0.011| -|hashPreCodeTags|0.018|0.262|0.015| -|headers|0.485|8.314|0.410| -|images|0.042|1.295|0.035| -|italicsAndBold|0.040|0.312|0.036| -|lists|5.541|11.729|5.039| -|outdent|0.052|0.776|0.046| -|paragraphs|1.423|2.536|1.290| -|spanGamut|0.663|1.344|0.605| -|strikethrough|0.000|0.243|0.000| -|stripBlankLines|0.031|0.274|0.028| -|stripLinkDefinitions|0.071|0.345|0.063| -|tables|0.001|0.212|0.000| -|unescapeSpecialChars|0.004|0.349|0.003| - - -## [version 1.5.6](https://github.com/showdownjs/showdown/tree/1.5.6) - -### Test Suite: Basic (100 cycles) -| test | avgTime | max | min | -|:-----|--------:|----:|----:| -|Simple "Hello World"|0.484|5.497|0.159| -|readme.md|8.624|20.725|7.639| - -### Test Suite: subParsers (1000 cycles) -| test | avgTime | max | min | -|:-----|--------:|----:|----:| -|hashHTMLBlocks|0.697|1.193|0.637| -|anchors|0.191|0.628|0.159| -|autoLinks|0.017|0.318|0.014| -|blockGamut|7.720|14.917|6.949| -|blockQuotes|0.065|0.236|0.060| -|codeBlocks|0.082|1.078|0.063| -|codeSpans|0.185|0.915|0.168| -|detab|0.025|0.195|0.023| -|encodeAmpsAndAngles|0.016|0.319|0.014| -|encodeBackslashEscapes|0.014|0.264|0.013| -|encodeCode|0.177|0.489|0.155| -|encodeEmailAddress|2.849|482.687|2.103| -|escapeSpecialCharsWithinTagAttributes|0.061|0.428|0.055| -|githubCodeBlocks|0.084|5.149|0.056| -|hashBlock|0.035|6.322|0.011| -|hashElement|0.001|0.228|0.000| -|hashHTMLSpans|0.024|4.870|0.011| -|hashPreCodeTags|0.018|0.295|0.015| -|headers|0.472|4.046|0.405| -|images|0.040|0.835|0.033| -|italicsAndBold|0.041|0.422|0.036| -|lists|5.606|8.275|5.112| -|outdent|0.051|0.852|0.045| -|paragraphs|1.368|2.683|1.221| -|spanGamut|0.638|1.433|0.569| -|strikethrough|0.000|0.229|0.000| -|stripBlankLines|0.032|0.298|0.027| -|stripLinkDefinitions|0.072|0.354|0.062| -|tables|0.001|0.199|0.000| -|unescapeSpecialChars|0.003|0.152|0.003| - - -## [version 1.5.5](https://github.com/showdownjs/showdown/tree/1.5.5) - -### Test Suite: Basic (100 cycles) -| test | avgTime | max | min | -|:-----|--------:|----:|----:| -|Simple "Hello World"|0.302|5.969|0.148| -|readme.md|8.157|17.988|7.204| - -### Test Suite: subParsers (1000 cycles) -| test | avgTime | max | min | -|:-----|--------:|----:|----:| -|hashHTMLBlocks|0.682|1.095|0.625| -|anchors|0.234|0.579|0.191| -|autoLinks|0.015|0.181|0.013| -|blockGamut|7.307|17.844|6.509| -|blockQuotes|0.065|0.258|0.059| -|codeBlocks|0.073|1.052|0.062| -|codeSpans|0.181|0.898|0.165| -|detab|0.024|0.209|0.022| -|encodeAmpsAndAngles|0.016|0.280|0.014| -|encodeBackslashEscapes|0.014|0.359|0.013| -|encodeCode|0.171|0.542|0.154| -|encodeEmailAddress|2.302|4.221|2.080| -|escapeSpecialCharsWithinTagAttributes|0.064|0.404|0.054| -|githubCodeBlocks|0.112|6.431|0.057| -|hashBlock|0.032|6.549|0.011| -|hashElement|0.001|0.227|0.000| -|hashHTMLSpans|0.032|6.134|0.010| -|hashPreCodeTags|0.018|0.302|0.015| -|headers|0.456|7.749|0.396| -|images|0.039|1.016|0.033| -|italicsAndBold|0.036|0.467|0.031| -|lists|5.111|11.047|4.623| -|outdent|0.051|0.412|0.044| -|paragraphs|1.373|3.729|1.210| -|spanGamut|0.769|1.307|0.669| -|strikethrough|0.000|0.251|0.000| -|stripBlankLines|0.031|0.292|0.027| -|stripLinkDefinitions|0.070|0.422|0.061| -|tables|0.001|0.212|0.000| -|unescapeSpecialChars|0.004|0.187|0.003| - - -## [version 1.5.4](https://github.com/showdownjs/showdown/tree/1.5.4) - -### Test Suite: Basic (100 cycles) -| test | avgTime | max | min | -|:-----|--------:|----:|----:| -|Simple "Hello World"|0.310|5.549|0.149| -|readme.md|8.073|17.976|7.220| +|hashHTMLBlocks|2.653|8.558|1.880| +|anchors|0.517|4.142|0.271| +|autoLinks|0.089|0.194|0.071| +|blockGamut|17.372|22.941|14.082| +|blockQuotes|3.011|4.110|2.774| +|codeBlocks|0.243|0.834|0.193| +|codeSpans|0.227|0.458|0.191| +|detab|0.095|0.133|0.090| +|encodeAmpsAndAngles|0.040|0.073|0.038| +|encodeBackslashEscapes|0.100|0.510|0.068| +|encodeCode|0.532|0.706|0.479| +|escapeSpecialCharsWithinTagAttributes|0.386|0.702|0.327| +|githubCodeBlocks|0.214|0.778|0.156| +|hashBlock|0.057|0.280|0.035| +|hashElement|0.002|0.033|0.000| +|hashHTMLSpans|0.384|1.997|0.236| +|hashPreCodeTags|0.133|0.200|0.116| +|headers|0.944|2.468|0.782| +|images|0.120|0.486|0.086| +|italicsAndBold|0.111|0.445|0.088| +|lists|5.783|13.249|4.464| +|outdent|0.306|0.956|0.225| +|paragraphs|6.583|8.811|4.499| +|spanGamut|2.437|3.067|1.647| +|strikethrough|0.005|0.100|0.000| +|stripBlankLines|0.121|0.175|0.092| +|stripLinkDefinitions|0.247|0.573|0.171| +|tables|0.006|0.099|0.000| +|unescapeSpecialChars|0.017|0.066|0.011| diff --git a/performance.log.old.md b/performance.log.old.md new file mode 100644 index 0000000..70086e6 --- /dev/null +++ b/performance.log.old.md @@ -0,0 +1,183 @@ +# Performance Tests for showdown + + +## [version 1.6.1](https://github.com/showdownjs/showdown/tree/1.6.1) + +### Test Suite: Basic (100 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|Simple "Hello World"|0.296|5.551|0.154| +|readme.md|8.404|17.862|7.537| + +### Test Suite: subParsers (1000 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|hashHTMLBlocks|0.693|1.104|0.652| +|anchors|0.186|0.521|0.164| +|autoLinks|0.016|0.183|0.014| +|blockGamut|7.566|16.244|6.642| +|blockQuotes|0.065|0.252|0.061| +|codeBlocks|0.070|1.184|0.061| +|codeSpans|0.202|1.163|0.167| +|detab|0.027|0.239|0.023| +|encodeAmpsAndAngles|0.017|0.433|0.014| +|encodeBackslashEscapes|0.015|0.426|0.013| +|encodeCode|0.180|0.504|0.161| +|escapeSpecialCharsWithinTagAttributes|0.060|0.419|0.054| +|githubCodeBlocks|0.078|4.517|0.057| +|hashBlock|0.031|5.982|0.012| +|hashElement|0.001|0.216|0.000| +|hashHTMLSpans|0.036|4.569|0.011| +|hashPreCodeTags|0.019|0.276|0.015| +|headers|0.462|5.391|0.406| +|images|0.039|1.640|0.033| +|italicsAndBold|0.043|0.333|0.037| +|lists|5.335|8.005|4.849| +|outdent|0.051|0.633|0.046| +|paragraphs|1.396|4.046|1.245| +|spanGamut|0.801|23.092|0.572| +|strikethrough|0.001|0.555|0.000| +|stripBlankLines|0.033|0.333|0.029| +|stripLinkDefinitions|0.072|0.472|0.063| +|tables|0.001|0.228|0.000| +|unescapeSpecialChars|0.004|0.209|0.003| + + +## [version 1.6.0](https://github.com/showdownjs/showdown/tree/1.6.0) + +### Test Suite: Basic (100 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|Simple "Hello World"|0.294|5.326|0.155| +|readme.md|8.599|16.906|7.736| + +### Test Suite: subParsers (1000 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|hashHTMLBlocks|0.692|1.135|0.642| +|anchors|0.204|0.530|0.175| +|autoLinks|0.016|0.221|0.014| +|blockGamut|7.991|18.830|6.982| +|blockQuotes|0.063|0.261|0.060| +|codeBlocks|0.073|1.277|0.063| +|codeSpans|0.195|0.751|0.177| +|detab|0.025|0.259|0.023| +|encodeAmpsAndAngles|0.019|0.332|0.014| +|encodeBackslashEscapes|0.031|0.456|0.030| +|encodeCode|0.193|0.651|0.159| +|encodeEmailAddress|2.343|5.203|2.145| +|escapeSpecialCharsWithinTagAttributes|0.066|0.620|0.059| +|githubCodeBlocks|0.100|4.566|0.058| +|hashBlock|0.029|6.856|0.011| +|hashElement|0.001|0.210|0.000| +|hashHTMLSpans|0.024|5.002|0.011| +|hashPreCodeTags|0.018|0.262|0.015| +|headers|0.485|8.314|0.410| +|images|0.042|1.295|0.035| +|italicsAndBold|0.040|0.312|0.036| +|lists|5.541|11.729|5.039| +|outdent|0.052|0.776|0.046| +|paragraphs|1.423|2.536|1.290| +|spanGamut|0.663|1.344|0.605| +|strikethrough|0.000|0.243|0.000| +|stripBlankLines|0.031|0.274|0.028| +|stripLinkDefinitions|0.071|0.345|0.063| +|tables|0.001|0.212|0.000| +|unescapeSpecialChars|0.004|0.349|0.003| + + +## [version 1.5.6](https://github.com/showdownjs/showdown/tree/1.5.6) + +### Test Suite: Basic (100 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|Simple "Hello World"|0.484|5.497|0.159| +|readme.md|8.624|20.725|7.639| + +### Test Suite: subParsers (1000 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|hashHTMLBlocks|0.697|1.193|0.637| +|anchors|0.191|0.628|0.159| +|autoLinks|0.017|0.318|0.014| +|blockGamut|7.720|14.917|6.949| +|blockQuotes|0.065|0.236|0.060| +|codeBlocks|0.082|1.078|0.063| +|codeSpans|0.185|0.915|0.168| +|detab|0.025|0.195|0.023| +|encodeAmpsAndAngles|0.016|0.319|0.014| +|encodeBackslashEscapes|0.014|0.264|0.013| +|encodeCode|0.177|0.489|0.155| +|encodeEmailAddress|2.849|482.687|2.103| +|escapeSpecialCharsWithinTagAttributes|0.061|0.428|0.055| +|githubCodeBlocks|0.084|5.149|0.056| +|hashBlock|0.035|6.322|0.011| +|hashElement|0.001|0.228|0.000| +|hashHTMLSpans|0.024|4.870|0.011| +|hashPreCodeTags|0.018|0.295|0.015| +|headers|0.472|4.046|0.405| +|images|0.040|0.835|0.033| +|italicsAndBold|0.041|0.422|0.036| +|lists|5.606|8.275|5.112| +|outdent|0.051|0.852|0.045| +|paragraphs|1.368|2.683|1.221| +|spanGamut|0.638|1.433|0.569| +|strikethrough|0.000|0.229|0.000| +|stripBlankLines|0.032|0.298|0.027| +|stripLinkDefinitions|0.072|0.354|0.062| +|tables|0.001|0.199|0.000| +|unescapeSpecialChars|0.003|0.152|0.003| + + +## [version 1.5.5](https://github.com/showdownjs/showdown/tree/1.5.5) + +### Test Suite: Basic (100 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|Simple "Hello World"|0.302|5.969|0.148| +|readme.md|8.157|17.988|7.204| + +### Test Suite: subParsers (1000 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|hashHTMLBlocks|0.682|1.095|0.625| +|anchors|0.234|0.579|0.191| +|autoLinks|0.015|0.181|0.013| +|blockGamut|7.307|17.844|6.509| +|blockQuotes|0.065|0.258|0.059| +|codeBlocks|0.073|1.052|0.062| +|codeSpans|0.181|0.898|0.165| +|detab|0.024|0.209|0.022| +|encodeAmpsAndAngles|0.016|0.280|0.014| +|encodeBackslashEscapes|0.014|0.359|0.013| +|encodeCode|0.171|0.542|0.154| +|encodeEmailAddress|2.302|4.221|2.080| +|escapeSpecialCharsWithinTagAttributes|0.064|0.404|0.054| +|githubCodeBlocks|0.112|6.431|0.057| +|hashBlock|0.032|6.549|0.011| +|hashElement|0.001|0.227|0.000| +|hashHTMLSpans|0.032|6.134|0.010| +|hashPreCodeTags|0.018|0.302|0.015| +|headers|0.456|7.749|0.396| +|images|0.039|1.016|0.033| +|italicsAndBold|0.036|0.467|0.031| +|lists|5.111|11.047|4.623| +|outdent|0.051|0.412|0.044| +|paragraphs|1.373|3.729|1.210| +|spanGamut|0.769|1.307|0.669| +|strikethrough|0.000|0.251|0.000| +|stripBlankLines|0.031|0.292|0.027| +|stripLinkDefinitions|0.070|0.422|0.061| +|tables|0.001|0.212|0.000| +|unescapeSpecialChars|0.004|0.187|0.003| + + +## [version 1.5.4](https://github.com/showdownjs/showdown/tree/1.5.4) + +### Test Suite: Basic (100 cycles) +| test | avgTime | max | min | +|:-----|--------:|----:|----:| +|Simple "Hello World"|0.310|5.549|0.149| +|readme.md|8.073|17.976|7.220| + + diff --git a/performance.old.json b/performance.old.json new file mode 100644 index 0000000..8337888 --- /dev/null +++ b/performance.old.json @@ -0,0 +1 @@ +{"1.6.1":[{"suiteName":"Basic","cycles":100,"tests":[{"name":"Simple \"Hello World\"","time":0.2958120799999999,"maxTime":5.550883000000001,"minTime":0.15368899999999996},{"name":"readme.md","time":8.404244670000006,"maxTime":17.861669,"minTime":7.5373879999999644}]},{"suiteName":"subParsers","cycles":1000,"tests":[{"name":"hashHTMLBlocks","time":0.6926790759999998,"maxTime":1.1041490000000067,"minTime":0.6515210000000025},{"name":"anchors","time":0.18644276900000045,"maxTime":0.5207339999999476,"minTime":0.16423599999984617},{"name":"autoLinks","time":0.016064406999998483,"maxTime":0.1832210000000032,"minTime":0.013559999999870342},{"name":"blockGamut","time":7.565959227999977,"maxTime":16.244318999999905,"minTime":6.64207499999975},{"name":"blockQuotes","time":0.06522680000001856,"maxTime":0.2519290000000183,"minTime":0.06117399999857298},{"name":"codeBlocks","time":0.07029943900001126,"maxTime":1.1837059999998019,"minTime":0.06117499999891152},{"name":"codeSpans","time":0.20204701299999034,"maxTime":1.1632149999986723,"minTime":0.1669480000000476},{"name":"detab","time":0.0266204400000006,"maxTime":0.23897200000101293,"minTime":0.023203999999168445},{"name":"encodeAmpsAndAngles","time":0.01731111700000656,"maxTime":0.43304100000023027,"minTime":0.014162999999825843},{"name":"encodeBackslashEscapes","time":0.014812300999996296,"maxTime":0.4261099999985163,"minTime":0.012957999999343883},{"name":"encodeCode","time":0.17994833399997878,"maxTime":0.5038580000000366,"minTime":0.16122200000063458},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.06012282200000118,"maxTime":0.4191790000004403,"minTime":0.05364000000008673},{"name":"githubCodeBlocks","time":0.07810769899999104,"maxTime":4.5166470000003756,"minTime":0.056652999999641906},{"name":"hashBlock","time":0.03119615600000907,"maxTime":5.981815000001006,"minTime":0.011751999998523388},{"name":"hashElement","time":0.000833241000000271,"maxTime":0.21576699999968696,"minTime":0},{"name":"hashHTMLSpans","time":0.036117796999980786,"maxTime":4.56908199999998,"minTime":0.01084900000023481},{"name":"hashPreCodeTags","time":0.018725640999993628,"maxTime":0.27603799999997136,"minTime":0.015368000000307802},{"name":"headers","time":0.46195882099999835,"maxTime":5.390865999999733,"minTime":0.4062209999992774},{"name":"images","time":0.03945737099998405,"maxTime":1.6399510000010196,"minTime":0.033147999998618616},{"name":"italicsAndBold","time":0.04318326500000512,"maxTime":0.3332940000000235,"minTime":0.03736699999899429},{"name":"lists","time":5.334899963000009,"maxTime":8.004783000000316,"minTime":4.849036999999953},{"name":"outdent","time":0.05061971899999117,"maxTime":0.633137999999235,"minTime":0.04580499999974563},{"name":"paragraphs","time":1.3964867540000176,"maxTime":4.0462380000026315,"minTime":1.2451810000002297},{"name":"spanGamut","time":0.8006000669999849,"maxTime":23.092216000000917,"minTime":0.5719639999988431},{"name":"strikethrough","time":0.0009158030000071449,"maxTime":0.5550879999973404,"minTime":0},{"name":"stripBlankLines","time":0.032642007000005836,"maxTime":0.3332940000000235,"minTime":0.02893000000040047},{"name":"stripLinkDefinitions","time":0.07246253600001729,"maxTime":0.4719149999982619,"minTime":0.06328299999950104},{"name":"tables","time":0.0007446430000054533,"maxTime":0.22842400000081398,"minTime":0},{"name":"unescapeSpecialChars","time":0.0036312810000199533,"maxTime":0.20913800000198535,"minTime":0.0030129999977361877}]}],"1.6.0":[{"suiteName":"Basic","cycles":100,"tests":[{"name":"Simple \"Hello World\"","time":0.29438959999999986,"maxTime":5.326073999999999,"minTime":0.15549700000000044},{"name":"readme.md","time":8.598583230000001,"maxTime":16.906080000000003,"minTime":7.735674999999901}]},{"suiteName":"subParsers","cycles":1000,"tests":[{"name":"hashHTMLBlocks","time":0.6924498400000021,"maxTime":1.1354899999998906,"minTime":0.6415750000001026},{"name":"anchors","time":0.20385474400000045,"maxTime":0.5303779999999279,"minTime":0.17478299999993396},{"name":"autoLinks","time":0.015965254999999616,"maxTime":0.220890000000054,"minTime":0.014162999999825843},{"name":"blockGamut","time":7.990532458000012,"maxTime":18.829602000000023,"minTime":6.9816950000004},{"name":"blockQuotes","time":0.06327221800000735,"maxTime":0.2609699999993609,"minTime":0.059967999999571475},{"name":"codeBlocks","time":0.07321287400002074,"maxTime":1.2774260000005597,"minTime":0.06298199999946519},{"name":"codeSpans","time":0.19469217900000876,"maxTime":0.7512669999996433,"minTime":0.17749499999990803},{"name":"detab","time":0.025129632999989552,"maxTime":0.25946299999850453,"minTime":0.022901999998794054},{"name":"encodeAmpsAndAngles","time":0.018705730999981823,"maxTime":0.33178700000098615,"minTime":0.013861999999789987},{"name":"encodeBackslashEscapes","time":0.03067420399999355,"maxTime":0.455642999999327,"minTime":0.02953199999865319},{"name":"encodeCode","time":0.1930971480000062,"maxTime":0.650617000001148,"minTime":0.15941399999974237},{"name":"encodeEmailAddress","time":2.343325609000005,"maxTime":5.2028210000007675,"minTime":2.1450150000000576},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.06557995400000073,"maxTime":0.6198779999995168,"minTime":0.05936599999949976},{"name":"githubCodeBlocks","time":0.09976427799998965,"maxTime":4.566067000001567,"minTime":0.058160999999017804},{"name":"hashBlock","time":0.028808553000004393,"maxTime":6.856332999999722,"minTime":0.011450999998487532},{"name":"hashElement","time":0.0005638340000023163,"maxTime":0.21004199999879347,"minTime":0},{"name":"hashHTMLSpans","time":0.02396972399999868,"maxTime":5.002422999999908,"minTime":0.010847999999896274},{"name":"hashPreCodeTags","time":0.017857751000005008,"maxTime":0.26247700000021723,"minTime":0.015368000000307802},{"name":"headers","time":0.485478813999991,"maxTime":8.313664999999673,"minTime":0.40983800000140036},{"name":"images","time":0.04230422700000236,"maxTime":1.295205000000351,"minTime":0.03495599999951082},{"name":"italicsAndBold","time":0.04026859799999875,"maxTime":0.3115959999995539,"minTime":0.03616199999851233},{"name":"lists","time":5.541432996999978,"maxTime":11.729175000000396,"minTime":5.039489000000685},{"name":"outdent","time":0.052097829000002094,"maxTime":0.7756770000014512,"minTime":0.04550300000119023},{"name":"paragraphs","time":1.4226595109999762,"maxTime":2.5361680000023625,"minTime":1.289781999999832},{"name":"spanGamut","time":0.6634622979999986,"maxTime":1.3437230000017735,"minTime":0.6048110000010638},{"name":"strikethrough","time":0.0004426859999948647,"maxTime":0.24288800000067567,"minTime":0},{"name":"stripBlankLines","time":0.03101803000001746,"maxTime":0.27392799999870476,"minTime":0.027723999999579974},{"name":"stripLinkDefinitions","time":0.07128272199999992,"maxTime":0.3450459999985469,"minTime":0.06298200000310317},{"name":"tables","time":0.0006831639999982144,"maxTime":0.21184999999968568,"minTime":0},{"name":"unescapeSpecialChars","time":0.004172203999998601,"maxTime":0.3489640000007057,"minTime":0.0030129999977361877}]}],"1.5.6":[{"suiteName":"Basic","cycles":100,"tests":[{"name":"Simple \"Hello World\"","time":0.48365952999999995,"maxTime":5.497247999999999,"minTime":0.15941500000000275},{"name":"readme.md","time":8.624009609999991,"maxTime":20.72512300000001,"minTime":7.638648999999987}]},{"suiteName":"subParsers","cycles":1000,"tests":[{"name":"hashHTMLBlocks","time":0.6974054759999992,"maxTime":1.1927480000001651,"minTime":0.6367549999999937},{"name":"anchors","time":0.19090051499999935,"maxTime":0.6283180000000357,"minTime":0.1591129999999339},{"name":"autoLinks","time":0.01718004600000063,"maxTime":0.31822600000009515,"minTime":0.01386200000001736},{"name":"blockGamut","time":7.7196042380000085,"maxTime":14.916580000000977,"minTime":6.94945800000005},{"name":"blockQuotes","time":0.06506110199997783,"maxTime":0.23625900000115507,"minTime":0.05966699999953562},{"name":"codeBlocks","time":0.08153567099998872,"maxTime":1.0782339999987016,"minTime":0.06298199999946519},{"name":"codeSpans","time":0.18521222000000126,"maxTime":0.9152030000004743,"minTime":0.1675520000007964},{"name":"detab","time":0.024611045000006927,"maxTime":0.19467299999996612,"minTime":0.022600999998758198},{"name":"encodeAmpsAndAngles","time":0.016200345999990533,"maxTime":0.31943199999841454,"minTime":0.01356099999975413},{"name":"encodeBackslashEscapes","time":0.01431991399999606,"maxTime":0.2639839999992546,"minTime":0.012655999998969492},{"name":"encodeCode","time":0.1769781109999949,"maxTime":0.48939399999835587,"minTime":0.1554969999997411},{"name":"encodeEmailAddress","time":2.848971260999982,"maxTime":482.6867740000016,"minTime":2.1034310000013647},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.06140210999999181,"maxTime":0.4282199999997829,"minTime":0.054543999998713844},{"name":"githubCodeBlocks","time":0.08352940699999999,"maxTime":5.148885999999038,"minTime":0.05574999999953434},{"name":"hashBlock","time":0.035242384999986824,"maxTime":6.322346999999354,"minTime":0.011450999998487532},{"name":"hashElement","time":0.0007398209999955725,"maxTime":0.228423999998995,"minTime":0},{"name":"hashHTMLSpans","time":0.023965240999994423,"maxTime":4.870135000001028,"minTime":0.010548000000198954},{"name":"hashPreCodeTags","time":0.0177119209999928,"maxTime":0.29502299999876413,"minTime":0.015066999998452957},{"name":"headers","time":0.47185469899999044,"maxTime":4.046241999998529,"minTime":0.40471400000024005},{"name":"images","time":0.04015382200000204,"maxTime":0.8353449999995064,"minTime":0.03314899999895715},{"name":"italicsAndBold","time":0.040937056000007944,"maxTime":0.4218909999999596,"minTime":0.03555899999992107},{"name":"lists","time":5.605958104999981,"maxTime":8.2754040000018,"minTime":5.111517999999705},{"name":"outdent","time":0.05058991999998762,"maxTime":0.8519200000009732,"minTime":0.04490099999748054},{"name":"paragraphs","time":1.3683752520000052,"maxTime":2.683230000002368,"minTime":1.221376000001328},{"name":"spanGamut","time":0.6380164189999886,"maxTime":1.4329240000006394,"minTime":0.5689510000011069},{"name":"strikethrough","time":0.00041044099999635366,"maxTime":0.2287259999975504,"minTime":0},{"name":"stripBlankLines","time":0.031698214999982155,"maxTime":0.29773500000010245,"minTime":0.027422999999544118},{"name":"stripLinkDefinitions","time":0.07171796800000084,"maxTime":0.35408800000004703,"minTime":0.06177699999898323},{"name":"tables","time":0.0005409359999939625,"maxTime":0.19889199999670382,"minTime":0},{"name":"unescapeSpecialChars","time":0.0034100999999900523,"maxTime":0.15188100000159466,"minTime":0.0030129999977361877}]}],"1.5.5":[{"suiteName":"Basic","cycles":100,"tests":[{"name":"Simple \"Hello World\"","time":0.3017154600000001,"maxTime":5.968856000000001,"minTime":0.14796299999999718},{"name":"readme.md","time":8.157263590000007,"maxTime":17.988235999999993,"minTime":7.204394999999977}]},{"suiteName":"subParsers","cycles":1000,"tests":[{"name":"hashHTMLBlocks","time":0.6816068189999991,"maxTime":1.094506000000024,"minTime":0.6253030000000308},{"name":"anchors","time":0.2342927859999952,"maxTime":0.5794980000000578,"minTime":0.1910560000001169},{"name":"autoLinks","time":0.014762871999999106,"maxTime":0.18050900000002912,"minTime":0.01295799999979863},{"name":"blockGamut","time":7.3070927989999825,"maxTime":17.844490999999834,"minTime":6.509178000000247},{"name":"blockQuotes","time":0.06523252800000227,"maxTime":0.25795599999946717,"minTime":0.058762999999089516},{"name":"codeBlocks","time":0.07315170800001215,"maxTime":1.051713999999265,"minTime":0.06237900000087393},{"name":"codeSpans","time":0.18133396599998558,"maxTime":0.8983270000007906,"minTime":0.1651399999991554},{"name":"detab","time":0.023979393999999956,"maxTime":0.2088370000001305,"minTime":0.022299000000202795},{"name":"encodeAmpsAndAngles","time":0.01590047000001141,"maxTime":0.2796539999999368,"minTime":0.013861999999789987},{"name":"encodeBackslashEscapes","time":0.014044158999993669,"maxTime":0.3592109999990498,"minTime":0.012655999998969492},{"name":"encodeCode","time":0.1713209560000123,"maxTime":0.5418289999997796,"minTime":0.15368899999884889},{"name":"encodeEmailAddress","time":2.3023639950000105,"maxTime":4.221322999999757,"minTime":2.079922999999326},{"name":"escapeSpecialCharsWithinTagAttributes","time":0.06365613699999631,"maxTime":0.4035089999997581,"minTime":0.05424300000049698},{"name":"githubCodeBlocks","time":0.11150525500000368,"maxTime":6.431128999998691,"minTime":0.0569550000000163},{"name":"hashBlock","time":0.031511962000016866,"maxTime":6.548655999999028,"minTime":0.011150000000270666},{"name":"hashElement","time":0.0007349880000037956,"maxTime":0.22661599999992177,"minTime":0},{"name":"hashHTMLSpans","time":0.03193505000001096,"maxTime":6.133695999998963,"minTime":0.00994399999945017},{"name":"hashPreCodeTags","time":0.017636856999988595,"maxTime":0.3019540000004781,"minTime":0.015067999998791493},{"name":"headers","time":0.4557796079999789,"maxTime":7.748634999999922,"minTime":0.3962759999994887},{"name":"images","time":0.03852289700000438,"maxTime":1.0164559999993799,"minTime":0.03284699999858276},{"name":"italicsAndBold","time":0.0357555800000082,"maxTime":0.4667920000010781,"minTime":0.031038999999509542},{"name":"lists","time":5.111364808999966,"maxTime":11.046619000000646,"minTime":4.623325000000477},{"name":"outdent","time":0.05124681700002475,"maxTime":0.4122480000005453,"minTime":0.04429799999707029},{"name":"paragraphs","time":1.3728050700000132,"maxTime":3.7286149999999907,"minTime":1.2099230000021635},{"name":"spanGamut","time":0.7691525840000031,"maxTime":1.306657000000996,"minTime":0.6686979999976757},{"name":"strikethrough","time":0.0004860790000202542,"maxTime":0.2513269999981276,"minTime":0},{"name":"stripBlankLines","time":0.03095717400000649,"maxTime":0.2920090000006894,"minTime":0.027421999999205582},{"name":"stripLinkDefinitions","time":0.06971120600001814,"maxTime":0.42219200000181445,"minTime":0.06117399999857298},{"name":"tables","time":0.000774782000004052,"maxTime":0.21154800000294927,"minTime":0},{"name":"unescapeSpecialChars","time":0.0036451429999833636,"maxTime":0.18713900000147987,"minTime":0.0027119999977003317}]}],"1.5.4":[{"suiteName":"Basic","cycles":100,"tests":[{"name":"Simple \"Hello World\"","time":0.30990324000000025,"maxTime":5.549075,"minTime":0.14916800000000308},{"name":"readme.md","time":8.072704459999997,"maxTime":17.975579000000003,"minTime":7.220064999999977}]}]} \ No newline at end of file diff --git a/test/node/performance.js b/test/node/performance.js index 716ea63..c6334bd 100644 --- a/test/node/performance.js +++ b/test/node/performance.js @@ -29,9 +29,9 @@ var globals = { options = showdown.getOptions(); function runTests() { - var readmeMD = fs.readFileSync('README.md', 'utf8'); + var readmeMD = fs.readFileSync('test/performance.testfile.md', 'utf8'); new performance.Suite('Basic') - .setOption('cycles', 100) + .setOption('cycles', 50) .add('Simple "Hello World"', function () { converter.makeHtml('*Hello* **World**!'); }) @@ -44,7 +44,7 @@ function runTests() { } }); new performance.Suite('subParsers') - .setOption('cycles', 1000) + .setOption('cycles', 20) .add('hashHTMLBlocks', function () { showdown.subParser('hashHTMLBlocks')(readmeMD, options, globals); }) diff --git a/test/performance.testfile.md b/test/performance.testfile.md new file mode 100644 index 0000000..895e466 --- /dev/null +++ b/test/performance.testfile.md @@ -0,0 +1,1912 @@ + +This is [an example][id] reference-style link. +This is [another] [foo] reference-style link. +This is [a third][bar] reference-style link. +This is [a fourth][4] reference-style link. + + [id]: http://example.com/ "Optional Title Here" + [foo]: http://example.com/ (Optional Title Here) + [bar]: http://example.com/ (Optional Title Here) + [4]: + "Optional Title Here" + + + + + + +> a blockquote + with a 4 space indented line (not code) + +sep + +> a blockquote + + with some code after + + + > this is a pseudo blockquote + > inside a code block + +foo + + > this is another bq + inside code + + +> ## This is a header. +> +> 1. This is the first list item. +> 2. This is the second list item. +> +> Here's some example code: +> +> return shell_exec("echo $input | $markdown_script"); + + + + > This is a multi line blockquote test + > + > With more than one line. + + + +This is some HTML: + +

Heading

+ + + +This is a normal paragraph: + + This is a code block. + + + + * Bird + + * Magic + + +*single asterisks* + +_single underscores_ + +**double asterisks** + +__double underscores__ + +text *with italic sentence* in middle + +text __with bold sentence__ in middle + +text with __bold text that +spans across multiple__ lines + +underscored_word + +doubleunderscore__word + +asterix*word + +doubleasterix**word + +line with_underscored word + +line with__doubleunderscored word + +line with*asterixed word + +line with**doubleasterixed word + +some line_with_inner underscores + +some line__with__inner double underscores + +some line*with*inner asterixs + +some line**with**inner double asterixs + +another line with just _one underscore + +another line with just __one double underscore + +another line with just *one asterix + +another line with just **one double asterix + +a sentence with_underscore and another_underscore + +a sentence with__doubleunderscore and another__doubleunderscore + +a sentence with*asterix and another*asterix + +a sentence with**doubleasterix and another**doubleasterix + +escaped word\_with\_underscores + +escaped word\_\_with\_\_double underscores + +escaped word_\_with\__single italic underscore + +escaped word\*with*asterixs + +escaped word\*\*with\*\*asterixs + +escaped word**\*with\***bold asterixs + + +It happened in 1986\. What a great season. + + + +These should all be escaped: + +\\ + +\` + +\* + +\_ + +\{ + +\} + +\[ + +\] + +\( + +\) + +\# + +\+ + +\- + +\. + +\! + + +``` +function MyFunc(a) { + // ... +} +``` + +That is some code! + + +> Define a function in javascript: +> +> ``` +> function MyFunc(a) { +> var s = '`'; +> } +> ``` +> +>> And some nested quote +>> +>> ```html +>>
HTML!
+>> ``` + + + +Define a function in javascript: + +``` +function MyFunc(a) { + var s = '`'; +} +``` + +And some HTML + +```html +
HTML!
+``` + + +``` +code can go here +this is rendered on a second line +``` + + +# This is an H1 # + + +This is an H1 +============= + + +# This is an H1 + + +This is an H2 +------------- + + +## This is an H2 ## + + +## This is an H2 + + +### This is an H3 ### + + +### This is an H3 + + +#### This is an H4 + + +##### This is an H5 + + +###### This is an H6 + + + +* * * + +*** + +***** + +- - - + +--------------------------------------- + + + + + + +words words + + words + + + + + + + - list item 1 + + ```html + google +
+
some div
+
+ ``` + + + +These HTML5 tags should pass through just fine. + +
hello
+
head
+
footsies
+ +
read me
+ +
read +me
+ + +the end + + + + + + + + +
Foo
Bar
+ + + + + + + + + + + + + + + +
Foo
Bar
Bar
+ + + + + +
My street
+ + + Sorry, your browser doesn't support the <canvas> element. + + +
+ An awesome picture +
Caption for the awesome picture
+
+ +
+

Main title

+

Secondary title

+
+ + + + + +![Alt text](/path/to/img.jpg) + +![Alt text](/path/to/img.jpg "Optional title") + +![Alt text][id] + + [id]: url/to/image "Optional title attribute" + + + +Search the web at [Google][] or [Daring Fireball][]. + + [Google]: http://google.com/ + [Daring Fireball]: http://daringfireball.net/ + + + +This is [an example](http://example.com/ "Title") inline link. + +[This link](http://example.net/) has no title attribute. + + + +Create a new `function`. + +Use the backtick in MySQL syntax ``SELECT `column` FROM whatever``. + +A single backtick in a code span: `` ` `` + +A backtick-delimited string in a code span: `` `foo` `` + +Please don't use any `` tags. + +`—` is the decimal-encoded equivalent of `—`. + + + +Hello.this\_is\_a\_variable +and.this.is.another_one + + + + + +An exciting sentence. + + + + > This is a multi line blockquote test + + > With more than one line. + + +some text words + +
words + + +# some title + +1. list item 1 +2. list item 2 + +> some text in a blockquote + +* another list item 1 +* another list item 2 + + +# some title + +1. list item 1 +2. list item 2 + +``` +some code + +and some other line of code +``` + +* another list item 1 +* another list item 2 + + +* A list item with a blockquote: + + > This is a blockquote + > inside a list item. + + +* A list item with code: + + alert('Hello world!'); + + +some **code** yeah + +some inline **code** block + +some inline **code** block + +yo dawg some code inception + +
some **div** yeah
+ + + + 1. This is a major bullet point. + + That contains multiple paragraphs. + + 2. And another line + + + + - This line spans + more than one line and is lazy + - Similar to this line + + + + > This is a multi line blockquote test + > + > > And nesting! + > + > With more than one line. + + + + 1. Red + 1. Green + 1. Blue + + + + 8. Red + 1. Green + 3. Blue + + + + 1. Red + 2. Green + 3. Blue + + + - foo + + - bazinga + + - yeah + + - bar + + 1. damn + + 2. so many paragraphs + + - baz + + +code inception + +``` +

+
some html code inside code html tags inside a fenced code block
+
+``` + + +
+
+foobar
+
+
+ +blabla + +

+foobar
+
+
+ +

+
some html code
+
+ + + +See my [About](/about/) page for details. + + +# Same Title + +some text + +# Same Title + + + +Hello, world! + + + +**important** + +__important__ + +really **freaking**strong + + + + * Red + * Green + * Blue + + + + - Red + - Green + - Blue + + + + + Red + + Green + + Blue + + +There's an [episode](http://en.memory-alpha.org/wiki/Darmok_(episode)) of Star Trek: The Next Generation + + +# some title + +Test **bold** and _italic_ + + +![my image](./pic/pic1_50.png =100pxx20px) + +![my image2][1] + +[1]: ./pic/pic1_50.png =100pxx20px + + +foo.bar + +www.foobar + +www.foobar.com + +http://foobar.com + +https://www.foobar.com/baz?bazinga=nhecos; + +http://www.google.com + + +this is a sentence_with_mid underscores + +this is a sentence with just_one underscore + +this _should be parsed_ as emphasis + +this is double__underscore__mid word + +this has just__one double underscore + +this __should be parsed__ as bold + +emphasis at _end of sentence_ + +_emphasis at_ line start + +multi _line emphasis +yeah it is_ yeah + + +a ~~strikethrough~~ word + +this should~~not be parsed + +~~strike-through text~~ + + +# my things + + - foo + - [] bar + - [ ] baz + - [x] bazinga + +otherthings + + +# some markdown + +blabla +
This is **not parsed**
+
This is **parsed**
+
This is **not parsed**
+ + +​pointer *ptr *thing + +something _else _bla + +something __else __bla + + +http://website.com/img@x2.jpg + +http://website.com/img-x2.jpg + +http://website.com/img@x2 + +http://website.com/img@.jpg + + +a simple +wrapped line + + +Your friend ~~[**test\***](www.google.com)~~ (~~[*@test*](www.google.com)~~) updated his/her description + + + ## markdown doc + + you can use markdown for card documentation + - foo + - bar + + +this is a link to www.github.com + +this is a link to + + +1. One +2. Two + - A + - B +3. Three + +> this has +> simple linebreaks + + testing + some + code + + 1. paragraphed list + + this belongs + to the first list item + + 2. This text + also + +simple +text + + - a list + item + - another + list item + +simple +text + + - some item + + another + paragraph + + - And + now + + paragraph + sublist + + - and + even + + another + one + + - foo + + + +foo烫 +bar + +foo +bar + + +# some header + +# some header with &+$,/:;=?@\"#{}|^~[]`\\*()%.!' chars + +# another header > with < chars + + +**Nom :** aaaa +**Nom :** aaa + + +Just an example info@example.com ok?​ + + +#Given + +#When + +#Then + +foo +=== + +bar +--- + + +http://en.wikipedia.org/wiki/Tourism_in_Germany + + +this email should not be encoded + + +this is some text + +```php +function thisThing() { + echo "some weird formatted code!"; +} +``` + +some other text + + +* foo + * bar + +... + +* baz + 1. bazinga + + +url http://www.google.com. + +url http://www.google.com! + +url http://www.google.com? foo + +url (http://www.google.com) bazinga + + +hello @tivie how are you? + +this email foo@gmail.com is not parsed + +this \@mentions is not parsed also + + +# header + +#header + + + 1. One + 2. Two + foo + + bar + bazinga + + + + + nhecos + + 3. Three + + - foo + + - bar + + +| *foo* | **bar** | ~~baz~~ | +|-------|---------|---------| +| 100 | blabla | aaa | + + +|key|value| +|--|--| +|My Key|My Value| + + +| First Header | Second Header | +| :------------ | :------------ | +| Row 1 Cell 1 | Row 1 Cell 2 | +| Row 2 Cell 1 | Row 2 Cell 2 | + + +| First Header | Second Header | +| ------------- | ------------- | +| Row 1 Cell 1 | Row 1 Cell 2 | +| Row 2 Cell 1 | Row 2 Cell 2 | + + +| First Header | Second Header | +| ------------- | ------------- | +| Row 1 Cell 1 | Row 1 Cell 2 | +| Row 2 Cell 1 | Row 2 Cell 2 | + + +First Header | Second Header|Third Header +------------- | -------------|--- +Content Cell | Content Cell|C +Content Cell | Content Cell|C + + +| First Header | Second Header | Third Header | Fourth Header | +| :------------ |: ----------- :| ------------ :| ------------- | +| Row 1 Cell 1 | Row 1 Cell 2 | Row 1 Cell 3 | Row 1 Cell 4 | +| Row 2 Cell 1 | Row 2 Cell 2 | Row 2 Cell 3 | Row 2 Cell 4 | +| Row 3 Cell 1 | Row 3 Cell 2 | Row 3 Cell 3 | Row 3 Cell 4 | +| Row 4 Cell 1 | Row 4 Cell 2 | Row 4 Cell 3 | Row 4 Cell 4 | +| Row 5 Cell 1 | Row 5 Cell 2 | Row 5 Cell 3 | Row 5 Cell 4 | + + +| First Header | Second Header | Third Header | Fourth Header | +| ------------- | ------------- | ------------ | ------------- | +| Row 1 Cell 1 | Row 1 Cell 2 | Row 1 Cell 3 | Row 1 Cell 4 | +| Row 2 Cell 1 | Row 2 Cell 2 | Row 2 Cell 3 | Row 2 Cell 4 | +| Row 3 Cell 1 | Row 3 Cell 2 | Row 3 Cell 3 | Row 3 Cell 4 | +| Row 4 Cell 1 | Row 4 Cell 2 | Row 4 Cell 3 | Row 4 Cell 4 | +| Row 5 Cell 1 | Row 5 Cell 2 | Row 5 Cell 3 | Row 5 Cell 4 | + + +| Left-Aligned | Center-Aligned | Right-Aligned | +| :------------ |:--------------------:| -------------:| +| col 3 is | some wordy paragraph | $1600 | +| col 2 is | centered | $12 | +| zebra stripes | are neat | $1 | + + +Table Test +============ + +section 1 +------------ + +|header1 |header2 |header3| +|-----------|-----------|---------| +|Value1 |Value2 |Value3 | + + +section 2 +----------- + +|headerA |headerB |headerC| +|-----------|-----------|---------| +|ValueA |ValueB |ValueC | + + +some text + + + | Tables | Are | Cool | + | ------------- |:-------------:| -----:| + | **col 3 is** | right-aligned | $1600 | + | col 2 is | *centered* | $12 | + | zebra stripes | ~~are neat~~ | $1 | + + + +### Stats + + +Status | AGENT1 | AGENT2 | AGENT3 | AGENT4 | AGENT5 | AGENT6 | AGENT7 | AGENT8 | AGENT9 | TOTAL | +--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +AGENT ERROR | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +APPROVED | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | + + +| First Header | Second Header | +| ============= | ============= | +| Row 1 Cell 1 | Row 1 Cell 2 | +| Row 2 Cell 1 | Row 2 Cell 2 | + + +| First Header | Second Header | +| ------------- | ----------------- | +| **bold** | ![img](foo.jpg) | +| _italic_ | [link](bla.html) | +| `some code` | [google][1] | +| | normal | + + + [1]: www.google.com + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent nisi est, +ullamcorper euismod iaculis sed, tristique at neque. Nullam metus risus, +malesuada vitae imperdiet ac, tincidunt eget lacus. Proin ullamcorper +vulputate dictum. Vestibulum consequat ultricies nibh, sed tempus nisl mattis a. + +| First Header | Second Header | +| ------------- | ------------- | +| Row 1 Cell 1 | Row 1 Cell 2 | +| Row 2 Cell 1 | Row 2 Cell 2 | + +Phasellus ac porttitor quam. Integer cursus accumsan mauris nec interdum. +Etiam iaculis urna vitae risus facilisis faucibus eu quis risus. Sed aliquet +rutrum dictum. Vivamus pulvinar malesuada ultricies. Pellentesque in commodo +nibh. Maecenas justo erat, sodales vel bibendum a, dignissim in orci. Duis +blandit ornare mi non facilisis. Aliquam rutrum fringilla lacus in semper. +Sed vel pretium lorem. + + +| First Header | Second Header | +| ------------- | ------------- | + + +| First Header | Second Header | + + +### Automatic Links + +``` +https://ghost.org +``` + +https://ghost.org + +### Markdown Footnotes + +``` +The quick brown fox[^1] jumped over the lazy dog[^2]. + +[^1]: Foxes are red +[^2]: Dogs are usually not red +``` + +The quick brown fox[^1] jumped over the lazy dog[^2]. + + +### Syntax Highlighting + + ```language-javascript + [...] + ``` + +Combined with [Prism.js](http://prismjs.com/) in the Ghost theme: + +```language-javascript +// # Notifications API +// RESTful API for creating notifications +var Promise = require('bluebird'), + _ = require('lodash'), + canThis = require('../permissions').canThis, + errors = require('../errors'), + utils = require('./utils'), + + // Holds the persistent notifications + notificationsStore = [], + // Holds the last used id + notificationCounter = 0, + notifications; +``` + + +foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo + +_baz_bar_foo_ + +__baz_bar_foo__ + +___baz_bar_foo___ + +baz bar foo _baz_bar_foo foo bar baz_ and foo + +foo\_bar\_baz foo\_bar\_baz\_bar\_foo \_foo\_bar baz\_bar\_ baz\_foo + +`foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo` + + + foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo + + +```html +foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo +``` + +
foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo
+ +
foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo
+ +
foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo
+ + + +[foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo](http://myurl.com/foo_bar_baz_bar_foo) + +foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo + +foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo + +foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo +----- + +### foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo + +1. foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo +2. foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo + +> blockquote foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo + +* foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo +* foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo + +------- + +http://en.wikipedia.org/wiki/Tourism_in_Germany + +[an example] [wiki] + +Another [example][wiki] of a link + +[wiki]: http://en.wikipedia.org/wiki/Tourism_in_Germany + +

foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo

+ + + +foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo + +![foo_bar_baz foo_bar_baz_bar_foo _foo_bar baz_bar_ baz_foo](http://myurl.com/foo_bar_baz_bar_foo) + +http://myurl.com/foo_bar_baz_bar_foo + + + +_italics_. + +_italics_ . + + +escaped word\_with\_underscores + +escaped word\_\_with\_\_double underscores + +escaped word_\_with\__single italic underscore + +escaped word\*with*asterixs + +escaped word\*\*with\*\*asterixs + +escaped word**\*with\***bold asterixs + + +* Item 1 +* Item 2 + +1. Item 1 +2. Item 2 + +- Item 1 +- Item 2 + + +2015-10-04 + + +1. Hi, I am a thing + + ```sh + + $ git clone thing.git + + dfgdfg + ``` + +1. I am another thing! + + ```sh + + $ git clone other-thing.git + + foobar + ``` + + +> a blockquote +# followed by an heading + + +Test pre in a list + +- & < +- `& <` + - & < + - `& <` + - & < + - `& <` + - & < + - `& <` + + +Title 1 +------- + +
+ + +# Title 2 + + +
+
+ + +

+foo
+
+```javascript
+var s = "JavaScript syntax highlighting";
+alert(s);
+```
+
+bar
+
+ +this is a long paragraph + +this is another long paragraph + +
```javascript
+var s = "JavaScript syntax highlighting";
+alert(s);
+```
+
+```python
+s = "Python syntax highlighting"
+print s
+```
+
+ + +

+```javascript
+var s = "JavaScript syntax highlighting";
+alert(s);
+```
+
+```python
+s = "Python syntax highlighting"
+print s
+```
+
+```
+No language indicated, so no syntax highlighting.
+But let's throw in a tag.
+```
+
+ + +
```python
+var s;
+```
+
+ +this is a long paragraph + +

+```javascript
+var s;
+```
+
+ + +![sd-inline](https://raw.githubusercontent.com/showdownjs/logo/master/dist/logo.readme.png) [sd-ref][sd-logo] + +foo + +[sd-inline](https://raw.githubusercontent.com/showdownjs/logo/master/dist/logo.readme.png) ![sd-ref][sd-logo] + +foo + +![sd-ref][sd-logo] [sd-inline](https://raw.githubusercontent.com/showdownjs/logo/master/dist/logo.readme.png) + +foo + +[sd-ref][sd-logo] ![sd-inline](https://raw.githubusercontent.com/showdownjs/logo/master/dist/logo.readme.png) + +foo + +[![sd-ref][sd-logo]](http://www.google.com/) + +[sd-logo]: https://www.google.pt/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png + + +![sd-inline](https://raw.githubusercontent.com/showdownjs/logo/master/dist/logo.readme.png) ![sd-ref][sd-logo] + +foo + +![sd-ref][sd-logo] ![sd-inline](https://raw.githubusercontent.com/showdownjs/logo/master/dist/logo.readme.png) + +[sd-logo]: https://www.google.pt/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png + + +[sd-inline](https://raw.githubusercontent.com/showdownjs/logo/master/dist/logo.readme.png) [sd-ref][sd-logo] + +foo + +[sd-ref][sd-logo] [sd-inline](https://raw.githubusercontent.com/showdownjs/logo/master/dist/logo.readme.png) + +[sd-logo]: https://www.google.pt/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png + + +* list item 1 + + ``` + + child1 + + child2 + some text + + ``` + +* list item 2 + +``` + +child1 + +child2 +some text + +``` + + + * one + 1. two + +foo + + * one + 1. two + +foo + + * one + 1. two + +foo + + * one + 1. two + +foo + + * one + * two + +foo + + * one + * two + +foo + + * one + * two + +foo + + * one +* two + +foo + + * one + * two + + + * one long paragraph of +text + 1. two + +foo + + * one long paragraph of +text + 1. two + + +* one +1. two + +foo + +* one + 1. two + +foo + +* one + 1. two + +foo + +* one + 1. two + +foo + +* uli one +* uli two + +foo + +* uli one + * uli two + +foo + +* uli one + * uli two + +foo + +* uli one + * uli two + + +- - - a + +a + ++ - * - - + a + +a + +1. 2. 3. 4. 5. + +a + +1. 2. 3. 4. 5. a + + +- - - a + ++ - * - - + a + +1. 2. 3. 4. 5. + +1. 2. 3. 4. 5. a + + +- - +a + + +fooo + + +- - - aaaaa + + bbbbb + + +- - - - -- - - - - - - -- - - - - - - - - - - - - - - - - - - - abcd + + + --- + + - - - + + +plain text link http://test.com/this_has/one.html with underscores + +legit·word_with·1·underscore + +a word_with_2underscores (gets em) + + +this is a underscore_test ![my cat](http://myserver.com/my_kitty.jpg) + +another ![my cat](http://myserver.com/my_kitty.jpg) underscore_test bla + + +This is a first paragraph, +on multiple lines. + +This is a second paragraph. +There are spaces in between the two. + + +This is a first paragraph, +on multiple lines. + +This is a second paragraph +which has multiple lines too. + + +A first paragraph. + + + +A second paragraph after 3 CR (carriage return). + + +This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line. + +A few spaces and a new long long long long long long long long long long long long long long long long paragraph on 1 line. + + +This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line. + +1 tab to separate them and a new long long long long long long long long long long long long long long long long paragraph on 1 line. + + +This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line. + +A new long long long long long long long long long long long long long long long long paragraph on 1 line. + + +An ampersand & in the text flow is escaped as an html entity. + + +There is an [ampersand](http://validator.w3.org/check?uri=http://www.w3.org/&verbose=1) in the URI. + + +This is \*an asterisk which should stay as is. + + +This is * an asterisk which should stay as is. + + +\\ backslash +\` backtick +\* asterisk +\_ underscore +\{\} curly braces +\[\] square brackets +\(\) parentheses +\# hash mark +\+ plus sign +\- minus sign (hyphen) +\. dot +\! exclamation mark + + +> # heading level 1 +> +> paragraph + + +>A blockquote with a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long line. + +>and a second very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long line. + + +>This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph in a blockquote. + + +> A blockquote +> on multiple lines +> like this. + + +>A blockquote +>on multiple lines +>like this. + + +>A blockquote +>on multiple lines +>like this. +> +>But it has +>two paragraphs. + + +>A blockquote +>on multiple lines +>like this + + +> This is the first level of quoting. +> +> > This is nested blockquote. +> +> Back to the first level. + + +> This is the first level of quoting. +> +> > This is nested blockquote. + + +> This is the first level of quoting. +> > This is nested blockquote. +> Back to the first level. + + +> This is the first level of quoting. +> > This is nested blockquote. + + + 10 PRINT HELLO INFINITE + 20 GOTO 10 + + + 10 PRINT < > & + 20 GOTO 10 + + + 10 PRINT HELLO INFINITE + 20 GOTO 10 + + +as*te*risks + + +*single asterisks* + + +_single underscores_ + + +HTML entities are written using ampersand notation: © + + +These lines all end with end of line (EOL) sequences. + +Seriously, they really do. + +If you don't believe me: HEX EDIT! + + + +These lines all end with end of line (EOL) sequences. Seriously, they really do. If you don't believe me: HEX EDIT! + +These lines all end with end of line (EOL) sequences. + +Seriously, they really do. + +If you don't believe me: HEX EDIT! + + + +This is an H1 +============= + + +# This is an H1 # + + + # This is an H1 + + +# this is an h1 with two trailing spaces +A new paragraph. + + +# This is an H1 + + +This is an H2 +------------- + + +## This is an H2 ## + + +## This is an H2 + + +### This is an H3 ### + + +### This is an H3 + + +#### This is an H4 #### + + +#### This is an H4 + + +##### This is an H5 ##### + + +##### This is an H5 + + +###### This is an H6 ###### + + +###### This is an H6 + + +- - - + + +--- + + +*** + + +___ + + +------- + + +![HTML5][h5] + +[h5]: http://www.w3.org/html/logo/img/mark-word-icon.png "HTML5 for everyone" + + +![HTML5][h5] + +[h5]: http://www.w3.org/html/logo/img/mark-word-icon.png + + +![HTML5](http://www.w3.org/html/logo/img/mark-word-icon.png "HTML5 logo for everyone") + + +![HTML5](http://www.w3.org/html/logo/img/mark-word-icon.png) + + +We love ` and &` for everything + + +``We love `code` for everything`` + + +``We love `code` for everything`` + + +A first sentence +and a line break. + + +A first sentence +and a line break. + + +This is an automatic link + + +[W3C](http://www.w3.org/ "Discover w3c") + + +[W3C](http://www.w3.org/) + + +[World Wide Web Consortium][w3c] + +[w3c]: + + +[World Wide Web Consortium][] + +[World Wide Web Consortium]: http://www.w3.org/ + + +[w3c][] + +[w3c]: http://www.w3.org/ + + +[World Wide Web Consortium] [w3c] + +[w3c]: http://www.w3.org/ + + +[World Wide Web Consortium][w3c] + +[w3c]: http://www.w3.org/ + "Discover W3C" + + +[World Wide Web Consortium][w3c] + +[w3c]: http://www.w3.org/ (Discover w3c) + + +[World Wide Web Consortium][w3c] + +[w3c]: http://www.w3.org/ 'Discover w3c' + + +[World Wide Web Consortium][w3c] + +[w3c]: http://www.w3.org/ "Discover w3c" + + +[World Wide Web Consortium][w3c] + +[w3c]: http://www.w3.org/ + + +* a list containing a blockquote + + > this the blockquote in the list + + +* a list containing a block of code + + 10 PRINT HELLO INFINITE + 20 GOTO 10 + + +* This is a list item with two paragraphs. Lorem ipsum dolor + sit amet, consectetuer adipiscing elit. Aliquam hendrerit + mi posuere lectus. + + Vestibulum enim wisi, viverra nec, fringilla in, laoreet + vitae, risus. Donec sit amet nisl. Aliquam semper ipsum + sit amet velit. + +* Suspendisse id sem consectetuer libero luctus adipiscing. + + +* This is a list item with two paragraphs. Lorem ipsum dolor + sit amet, consectetuer adipiscing elit. Aliquam hendrerit + mi posuere lectus. + + Vestibulum enim wisi, viverra nec, fringilla in, laoreet + vitae, risus. Donec sit amet nisl. Aliquam semper ipsum + sit amet velit. + +* Suspendisse id sem consectetuer libero luctus adipiscing. + + +1\. ordered list escape + + +1. 1 + + - inner par list + +2. 2 + + +1. list item 1 +8. list item 2 +1. list item 3 + + +1. list item 1 +2. list item 2 +3. list item 3 + + +This is a paragraph +on multiple lines +with hard return. + + +This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph on 1 line. + + + This is a paragraph with a trailing and leading space. + + +This is a paragraph with 1 trailing tab. + + + This is a paragraph with 2 leading spaces. + + + This is a paragraph with 3 leading spaces. + + + This is a paragraph with 1 leading space. + + +This is a paragraph with a trailing space. + +as**te**risks + + +**double asterisks** + + +__double underscores__ + + +* list item 1 +* list item 2 +* list item 3 + + +- list item 1 +- list item 2 +- list item 3 + + + * list item 1 + * list item 2 + * list item 3 + + + * list item 1 + * list item 2 + * list item 3 + + + * list item 1 + * list item 2 + * list item 3 + + ++ list item 1 ++ list item 2 ++ list item 3 + + +* list item in paragraph + +* another list item in paragraph + + +* This a very long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long paragraph in a list. +* and yet another long long long long long long long long long long long long long long long long long long long long long long line. + + +* This is a list item + with the content on + multiline and indented. +* And this another list item + with the same principle. + +