From 024c5236ff8ee067b490cd78db6be13d0d789ee6 Mon Sep 17 00:00:00 2001 From: Ulya Trofimovich Date: Wed, 2 Aug 2017 18:07:16 +0100 Subject: [PATCH] Benchmarks: added README and small samples of input data. --- re2c/benchmarks/README | 22 ++++++ re2c/benchmarks/http/gen/sample.dat | 101 ++++++++++++++++++++++++++++ re2c/benchmarks/uri/gen/sample.dat | 20 ++++++ 3 files changed, 143 insertions(+) create mode 100644 re2c/benchmarks/README create mode 100644 re2c/benchmarks/http/gen/sample.dat create mode 100644 re2c/benchmarks/uri/gen/sample.dat diff --git a/re2c/benchmarks/README b/re2c/benchmarks/README new file mode 100644 index 00000000..74a7cfd5 --- /dev/null +++ b/re2c/benchmarks/README @@ -0,0 +1,22 @@ + +In order to reproduce benchmark results, one should first generate input data. +Random data can be generated with the following programs (written in haskell): + + http/gen/gen_http.hs + uri/gen/gen_uri.hs + +Use the following scripts to build generators: + + http/gen/mk_gen.sh + uri/gen/mk_gen.sh + +The size of the generated data is hard-coded in the source code of generators +(and can be easily tweaked). + +Alternatively, if you don't have haskell compiler or for any other reason are +unable to build generators, use small data samples provided for each benchmark +(one can copy-paste them many times with 'cat' to obtain a large input file): + + http/gen/sample.dat + uri/gen/sample.dat + diff --git a/re2c/benchmarks/http/gen/sample.dat b/re2c/benchmarks/http/gen/sample.dat new file mode 100644 index 00000000..70ac8490 --- /dev/null +++ b/re2c/benchmarks/http/gen/sample.dat @@ -0,0 +1,101 @@ +HEAD file://cwidoaajjb.pqzeztqtg.iagnuhmdq.npliaihmqn.yuptnwn/hlhkojvjvzmsgccwcpwhh/qfliekillmmdz/aypkwffmdojvpdodmrouzxuupqp/gjqnmbk/mnbtpocjbe/ttvqsflbsqirgahmutddqucg/nkycantossaikwulmgemuqttwx/foqeceoyiowyeftxpr/syjcvolygaguylfkx/gwgx?7B9Jq5CNzjzSFzJl7cCL4oUX HTTP/6.2 +Content-Disposition: attachment; filename="fname.ext" +Content-Language: da +If-Match: "737060cd8c284d8af7ad3082f209582d" +If-None-Match: "737060cd8c284d8af7ad3082f209582d" +P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info." +Connection: Upgrade +X-Powered-By: PHP/5.4.0 +Proxy-Authenticate: Basic +Warning: 199 Miscellaneous warning +Expires: Thu, 01 Dec 1994 16:00:00 GMT +Retry-After: Fri, 07 Nov 2014 23:59:59 GMT +Upgrade: HTTPS/1.3, IRC/6.9, RTA/x11, websocket +X-Att-Deviceid: GT-P7320/P7320XXLPG +Alt-Svc: http/1.1="http2.example.com:8001"; ma=7200 +Accept-Ranges: bytes +Content-Language: da +Cache-Control: no-cache +Age: 12 +Accept-Encoding: gzip, deflate +Content-Length: 51 +WWW-Authenticate: Basic +Vary: * +Upgrade-Insecure-Requests: 1 +Strict-Transport-Security: max-age=16070400; includeSubDomains +Public-Key-Pins: max-age=2592000; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g="; +Pragma: no-cache +Content-Length: 51 +Host: en.wikipedia.org +X-Frame-Options: deny + +POST https://hubgkuzz.qqwqvsfccy.psvyjbuva.afjqkipasn.zrdeeznzgo:7150/yfztaoqwaqlyuxfdkosgkegikcn/xme HTTP/6.6 +Cache-Control: max-age=3600 +Content-Length: 51 +Content-Type: application/x-www-form-urlencoded +Upgrade: HTTPS/1.3, IRC/6.9, RTA/x11, websocket +Alt-Svc: http/1.1="http2.example.com:8001"; ma=7200 +Date: Tue, 15 Nov 1994 08:12:31 GMT +Accept-Charset: utf-8 +Cookie: $Version=1; Skin=new; +X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5 + +CONNECT zwusyxlehg.qxqjpqqjzq.rnrnmjbspj.ugbkvsriyw.gpchzrlqkk:8638 HTTP/7.4 +Pragma: no-cache +Transfer-Encoding: chunked +Content-Location: /index.htm +X-Att-Deviceid: GT-P7320/P7320XXLPG +Public-Key-Pins: max-age=2592000; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g="; +Accept-Patch: text/example;charset=utf-8 +Host: en.wikipedia.org:8080 +X-Forwarded-For: client1, proxy1, proxy2 +Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT +Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== +DNT: 1 (Do Not Track Enabled) +X-UA-Compatible: Chrome=1 +Tk: ? +Refresh: 5; url=http://www.w3.org/pub/WWW/People.html +X-UA-Compatible: IE=edge +Expect: 100-continue +DNT: 0 (Do Not Track Disabled) +WWW-Authenticate: Basic +Content-Type: application/x-www-form-urlencoded +Public-Key-Pins: max-age=2592000; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g="; +Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== +X-Content-Type-Options: nosniff +X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql +X-Forwarded-Host: en.wikipedia.org +X-Att-Deviceid: GT-P7320/P7320XXLPG +Content-Location: /index.htm +Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT + +HTTP/9.5 559 u +Date: Tue, 15 Nov 1994 08:12:31 GMT +Content-Length: 348 +X-Forwarded-Proto: https +Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== +Expires: Thu, 01 Dec 1994 16:00:00 GMT +WWW-Authenticate: Basic +Allow: GET, HEAD +Warning: 199 Miscellaneous warning + +POST wllvzjwvpp.mhagladifk.joaq.rnprjmcpum.opadaxtssr HTTP/6.4 +Warning: 199 Miscellaneous warning +Proxy-Authenticate: Basic +Content-Encoding: gzip +X-Forwarded-Host: en.wikipedia.org +Strict-Transport-Security: max-age=16070400; includeSubDomains +Content-Language: da +Allow: GET, HEAD +Retry-After: Fri, 07 Nov 2014 23:59:59 GMT +If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT +X-Forwarded-For: client1, proxy1, proxy2 + +HTTP/0.6 463 2bs +From: user@example.com +X-Forwarded-Host: en.wikipedia.org +X-Forwarded-Host: en.wikipedia.org +X-UA-Compatible: IE=edge +X-UA-Compatible: IE=edge +Date: Tue, 15 Nov 1994 08:12:31 GMT + diff --git a/re2c/benchmarks/uri/gen/sample.dat b/re2c/benchmarks/uri/gen/sample.dat new file mode 100644 index 00000000..42d16167 --- /dev/null +++ b/re2c/benchmarks/uri/gen/sample.dat @@ -0,0 +1,20 @@ +https://130.226.207.254/jbtvkjzrjthmbnypntksydqelq/jjdsj/udvjilrctugdnuolrrzkr/cwkvkxjhehiodwfytl/ufgjg/nfgpg/iu#mE39x1S2vXd1o +https:/ohgudpayfmlfhcoyvgjhyqfbua/linrqhrhlaiixdbxonbmn/atrgtgdphcz/rr/dtdhuqshwxhewfn/fyuawfip/qugtmsmwxuywignctpbtabge/acijwctkdqawozgns/eipjsaiiurudzqrviveu/bijkdhwtmlneypz#EhkI5ylLokJNKaBsd +http://cjop.xhsqcbwtp.vrfzoaodga.nnkbwbmq.cfvgulvcfj/geuhnhetwsqjfuojmvaziemd/eodavsnwgauluaclpjqb/phmdaviaz#AlBK76vA +http:/ijnjyrzldk/jyapegxurikjmip/olhhrswcvepexhshr/whlsdorizwdovszxcuwnnbexfy/ohsfdqoryjotnqrzagziyg/ajxvofxromjwirayehuw/swubrfzbwtmtvomstbaumtvksghg#D +https://220.234.52.233/peiygqiuiwezsr/qnymfpaurkzifllbwtkzqgpkcdp/hbeschxipcpf/soakqi/bxbhzothilaxznoiprg/gaqsbgqobypjyzwdyvcmr/fszwjmnixfc/t/vlumvtpktjjkuzxix/nqqwnxwkyinkjngixkcgrobuwe#L7cwKfIxLBv +http://190.102.237.163/jfymqrdxatqxxosr/eodoflhmefpbqunvzkwkxfgxj/ife/bbijkiueazcfwodgsddft/xpegxlfbdzafenjaqgjbnqrsb/poizlwooajtnejxpycftrcsfjkruln?DEVzXYliuaVThP2db4oE32q#fXoCDA1BJyjOUBJwpMOOC36Q7o6n +https://prlmszykmotajvhfingpy:5gJpVNFdVUCBumKIV0ciYat@tyekbzfzyn.kirctezfig.gvefopbqlf.onykhnytqd.uofiltbvdv/jiqe/odskecdswmouqaunyfuerpefcusuxa/fkqdmaueh/vzkskyxrpqkfzzjgujqmkt/qfnzplmxvunhvjq/kskwzjeueepwokxguatetegnjzgu/pysxiyoyssbfiibuonhk/wmzxsguoqoeutnkaanqqd/pkpbwvoepeutjbedkdimko/vogpbm#fBzuGdIV22C +https://uqaqxbiszxuwfd:mIai0iqs9Ps3UEvpmu@qwnsormfld.uikzf.rajsatakhr:2634/pcervqbppzxjydwilqwoxa/byyvgqvnqjmqgvnjmbio/sifgcfwfhlxrnzpjlo/zhdejqnlcgmmknd/bpqtpqsxyrlvfohbkwavetd/lcsxvflqocclqvilbuvgcggupysof/wzuwqttblllpdjxxqzjnv/uqzxnhuobrldciwbnrfqmv/jpbashfkljtfciiqivtdpeqrfhz/hdjtjdgfyja +file://ngngiosyeynlnyegckpwp:QoW1iBFx@171.234.221.207/ltdgogjynxrrnjygsltmcfihfsqfvk/mixerqujwbektqyzimadzdx/urb/vrvjsofccprkaavyyp/sycatuazj/vlmmmvozycmvpicrpcipfxywp/zddjtiahb +https://58.187.10.250:8256/ialbromwxodapxebh/lwddbb/fghhkaztbruuibdfwjym/vrwkmqrnqumknb/kytsuocatyouppiec/wxdwpeudwfghhdwiagjrgllqhoaxhn/tnugkxbiimo/ydrzmbihqoibkcvm/rqyczmveyz/nefixtpefrkuxntolkwgiamp +ftp://hukiuvtpzvmwmnxgomsujflyk:b1MSVh7pUWPjK24nnJoOOwKIET36s@6.119.196.62:5869/cyhsyhjykv#NlE8g3hz1Ebta8kk7LUvTm +ftp://fhvvtgyuua.ogahfrqbvg.cughxcqaqu.nyfdeg.mzbkmrnfib:4544/vwqfmulbaoxczkm/clixvtifydkj/shrflpkrq/vi/sruymrqxodjrbwvhtbwzvmlsys/uv/ybywv#ADdXUBIIgy +http:/laxn/rugglbrcb/znzlrhyoxapkznmedipktxhqzeohlw/rfmg/uyntiipnzdwjlfy/fktcgxrgcsfkr/rbbcxzybieozevucqxpmeq/apqyszyxgpq/zbknrolqhmtwjshockr/kicrlzsbtx?VbJp1VLkYC#mYPZplrVnb7UHSatrpGAwi +https:/ztpluoa/jphvoweijirbvnmek/pbvimnscpb/catfuxpwqihpqbnrjvkhmbdagvqzsu/czjmvoa/btgpsmqroaxkqt/kcvpypw/eqbifrwpexhsvhmrdtfj/y/gqmjqiyqfkjatby#xDfmbp6mzuOS73yV +https://jqhvw:ssV@[4::a8:5ab]:7064/tto/xjdjuxhkqhuvmdbwn/kejaxevbfon/nxrvxlozfd/nefd/drhf/ya/meebpkpao/go/sv?XZtzUKrb4Qq19CsMmL +https:/nrmkjtzsirjeybbznmbxefn/tbunkcjyoksunhdiiec/iuguxifycwqd/cjaqmevkjkwf/lysgdnbidkjtulmtdsxuiw/ykmcmukxjjmzdutq/nndpaxzkknxawibpc/bsuqrecyypwqxsbbslv/hzfitcvz?zVwBAXzGU6 +https://179.106.111.234:4602/kaojoxgqtrtqjqbxojhplkgo/sakwfopartajvd/jdjmzkjzxsutx/jvorvytygowpcugwcpdp/gf/skqbpbmaxznokzio/jmgdwytfu/zwronpnfltlqsdkm/bjkpnbqymcebiccdvdh/gelbqajbdysgljczflyocuxqehpvrn#iePJE2SwM2H2z7pGWE3MZQu79 +https://sgcoeyexpydtvuvrlncfv:cCVO9XO6W6lY58itexKFMeputSs7@199.131.253.98/cxoyvdvmlofvxhlfdoosxyrzhei/dqnifd/kuweqsnj/wrcmglfaorwemv/oyotkyibrraabiwatl/mw/fmyxtdztnyqmciijifflmb/kyfprlhxhcemmr/ds/ubuqzto +ftp://226.47.189.219/uttpjalgzirumdxcqstmop/rsavfunauwrnzbrbccv/qvnzgkypemnulagkcnxgmhg/vdzboggzuttu/wimrcceehdaznqnvguhi/hcmbkir/vxcincavxbheiuuqoukjsnd/rnkr/repqv/cdncqpiqhrughnlhbu?04HBSdquIv5jRN5POmtHr#t8TxSWH16brGRC79JCiBCp8bEyF +http://lkjzakdejf.kwbbhfnwhj.cypikjr.wogqvpwhbz.dwyohxizdk:4775/iwnmuufehazvnzgsrqm/gdjpojnwrlwikzpoevnpnkvw/wrbctzxujufpuyeue/dlzajtkhkbuj/zptqonydlp/qatdpxbpwvndzwrmynkfrbrpyix/ehavmzuuptjcv/bbosue/xulpwugitisuaagcmlvwtfykvr/izafvzsb?dY4#eIfVkGptVdWsH8D -- 2.40.0