{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/50052","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/50052/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/50052/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/50052/events","html_url":"https://github.com/rust-lang/rust/pull/50052","id":315451677,"node_id":"MDExOlB1bGxSZXF1ZXN0MTgyNDU3MzY0","number":50052,"title":"Avoid allocating when parsing \\u{...} literals.","user":{"login":"nnethercote","id":1940286,"node_id":"MDQ6VXNlcjE5NDAyODY=","avatar_url":"https://avatars1.githubusercontent.com/u/1940286?v=4","gravatar_id":"","url":"https://api.github.com/users/nnethercote","html_url":"https://github.com/nnethercote","followers_url":"https://api.github.com/users/nnethercote/followers","following_url":"https://api.github.com/users/nnethercote/following{/other_user}","gists_url":"https://api.github.com/users/nnethercote/gists{/gist_id}","starred_url":"https://api.github.com/users/nnethercote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nnethercote/subscriptions","organizations_url":"https://api.github.com/users/nnethercote/orgs","repos_url":"https://api.github.com/users/nnethercote/repos","events_url":"https://api.github.com/users/nnethercote/events{/privacy}","received_events_url":"https://api.github.com/users/nnethercote/received_events","type":"User","site_admin":false},"labels":[{"id":583437191,"node_id":"MDU6TGFiZWw1ODM0MzcxOTE=","url":"https://api.github.com/repos/rust-lang/rust/labels/S-waiting-on-bors","name":"S-waiting-on-bors","color":"d3dddd","default":false}],"state":"closed","locked":false,"assignee":{"login":"Mark-Simulacrum","id":5047365,"node_id":"MDQ6VXNlcjUwNDczNjU=","avatar_url":"https://avatars0.githubusercontent.com/u/5047365?v=4","gravatar_id":"","url":"https://api.github.com/users/Mark-Simulacrum","html_url":"https://github.com/Mark-Simulacrum","followers_url":"https://api.github.com/users/Mark-Simulacrum/followers","following_url":"https://api.github.com/users/Mark-Simulacrum/following{/other_user}","gists_url":"https://api.github.com/users/Mark-Simulacrum/gists{/gist_id}","starred_url":"https://api.github.com/users/Mark-Simulacrum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mark-Simulacrum/subscriptions","organizations_url":"https://api.github.com/users/Mark-Simulacrum/orgs","repos_url":"https://api.github.com/users/Mark-Simulacrum/repos","events_url":"https://api.github.com/users/Mark-Simulacrum/events{/privacy}","received_events_url":"https://api.github.com/users/Mark-Simulacrum/received_events","type":"User","site_admin":false},"assignees":[{"login":"Mark-Simulacrum","id":5047365,"node_id":"MDQ6VXNlcjUwNDczNjU=","avatar_url":"https://avatars0.githubusercontent.com/u/5047365?v=4","gravatar_id":"","url":"https://api.github.com/users/Mark-Simulacrum","html_url":"https://github.com/Mark-Simulacrum","followers_url":"https://api.github.com/users/Mark-Simulacrum/followers","following_url":"https://api.github.com/users/Mark-Simulacrum/following{/other_user}","gists_url":"https://api.github.com/users/Mark-Simulacrum/gists{/gist_id}","starred_url":"https://api.github.com/users/Mark-Simulacrum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mark-Simulacrum/subscriptions","organizations_url":"https://api.github.com/users/Mark-Simulacrum/orgs","repos_url":"https://api.github.com/users/Mark-Simulacrum/repos","events_url":"https://api.github.com/users/Mark-Simulacrum/events{/privacy}","received_events_url":"https://api.github.com/users/Mark-Simulacrum/received_events","type":"User","site_admin":false}],"milestone":null,"comments":17,"created_at":"2018-04-18T12:07:04Z","updated_at":"2018-10-29T21:48:59Z","closed_at":"2018-04-20T12:53:06Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/50052","html_url":"https://github.com/rust-lang/rust/pull/50052","diff_url":"https://github.com/rust-lang/rust/pull/50052.diff","patch_url":"https://github.com/rust-lang/rust/pull/50052.patch"},"body":"`char_lit` uses an allocation in order to ignore '_' chars in \\u{...}\r\nliterals. This patch changes it to not do that by processing the chars\r\nmore directly.\r\n\r\nThis improves various rustc-perf benchmark measurements by up to 6%,\r\nparticularly regex, futures, clap, coercions, hyper, and encoding.\r\n\r\nrustc-perf results, on a stage 2 build with jemalloc disabled:\r\n\r\n<details>\r\n\r\n```\r\nregex-check\r\n\tavg: -5.4%\tmin: -6.5%\tmax: -2.7%\r\nfutures-check\r\n\tavg: -3.5%\tmin: -5.3%\tmax: -1.7%\r\nregex-opt\r\n\tavg: -2.0%\tmin: -5.1%\tmax: -0.2%\r\nregex\r\n\tavg: -2.3%\tmin: -5.0%\tmax: -0.6%\r\nfutures-opt\r\n\tavg: -3.0%\tmin: -4.8%\tmax: -1.1%\r\nfutures\r\n\tavg: -3.1%\tmin: -4.8%\tmax: -1.3%\r\nclap-rs-check\r\n\tavg: -1.8%\tmin: -3.5%\tmax: -0.9%\r\ncoercions-check\r\n\tavg: -2.0%\tmin: -3.3%\tmax: -1.0%\r\nhyper-check\r\n\tavg: -2.2%\tmin: -3.1%\tmax: -1.3%\r\nhyper\r\n\tavg: -1.3%\tmin: -2.4%\tmax: -0.3%\r\nhyper-opt\r\n\tavg: -0.9%\tmin: -2.3%\tmax: -0.1%\r\ncoercions\r\n\tavg: -1.1%\tmin: -2.2%\tmax: -0.4%\r\nencoding-check\r\n\tavg: -1.7%\tmin: -2.2%\tmax: -0.9%\r\nclap-rs-opt\r\n\tavg: -0.7%\tmin: -2.2%\tmax: 0.0%\r\ncoercions-opt\r\n\tavg: -1.2%\tmin: -2.1%\tmax: -0.3%\r\nclap-rs\r\n\tavg: -0.8%\tmin: -1.9%\tmax: -0.4%\r\nencoding-opt\r\n\tavg: -1.0%\tmin: -1.9%\tmax: -0.3%\r\nencoding\r\n\tavg: -1.1%\tmin: -1.9%\tmax: -0.4%\r\npiston-image-check\r\n\tavg: -0.7%\tmin: -1.3%\tmax: -0.3%\r\ninflate-opt\r\n\tavg: -0.3%\tmin: -0.9%\tmax: -0.0%\r\npiston-image\r\n\tavg: -0.3%\tmin: -0.8%\tmax: -0.1%\r\npiston-image-opt\r\n\tavg: -0.3%\tmin: -0.7%\tmax: -0.1%\r\nsyn-check\r\n\tavg: -0.3%\tmin: -0.6%\tmax: -0.1%\r\ndeep-vector\r\n\tavg: 0.1%\tmin: -0.1%\tmax: 0.5%\r\nsyn-opt\r\n\tavg: -0.1%\tmin: -0.4%\tmax: 0.0%\r\nhtml5ever\r\n\tavg: -0.2%\tmin: -0.4%\tmax: -0.0%\r\ndeep-vector-check\r\n\tavg: 0.0%\tmin: -0.3%\tmax: 0.3%\r\nsyn\r\n\tavg: -0.2%\tmin: -0.3%\tmax: -0.1%\r\nhtml5ever-check\r\n\tavg: -0.3%\tmin: -0.3%\tmax: -0.2%\r\nissue-46449-check\r\n\tavg: -0.1%\tmin: -0.2%\tmax: 0.2%\r\nhtml5ever-opt\r\n\tavg: -0.0%\tmin: -0.2%\tmax: 0.1%\r\ndeep-vector-opt\r\n\tavg: -0.0%\tmin: -0.2%\tmax: 0.1%\r\nissue-46449-opt\r\n\tavg: -0.0%\tmin: -0.2%\tmax: 0.1%\r\nunify-linearly-check\r\n\tavg: -0.0%\tmin: -0.2%\tmax: 0.1%\r\nhelloworld-check\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.2%\r\nparser-check\r\n\tavg: -0.0%\tmin: -0.2%\tmax: 0.0%\r\ninflate\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.1%\r\ntokio-webpush-simple-check\r\n\tavg: -0.1%\tmin: -0.1%\tmax: -0.0%\r\nregression-31157-check\r\n\tavg: 0.0%\tmin: -0.1%\tmax: 0.1%\r\nissue-46449\r\n\tavg: 0.0%\tmin: -0.1%\tmax: 0.1%\r\ntuple-stress-opt\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.1%\r\ntuple-stress-check\r\n\tavg: -0.0%\tmin: -0.1%\tmax: 0.1%\r\ntuple-stress\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.1%\r\ndeeply-nested-check\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.1%\r\nregression-31157\r\n\tavg: -0.0%\tmin: -0.1%\tmax: 0.1%\r\ndeeply-nested-opt\r\n\tavg: -0.0%\tmin: -0.1%\tmax: 0.1%\r\nparser-opt\r\n\tavg: -0.0%\tmin: -0.1%\tmax: 0.0%\r\nparser\r\n\tavg: 0.1%\tmin: 0.0%\tmax: 0.1%\r\ntokio-webpush-simple\r\n\tavg: -0.0%\tmin: -0.1%\tmax: 0.1%\r\nregression-31157-opt\r\n\tavg: -0.0%\tmin: -0.1%\tmax: 0.1%\r\nhelloworld-opt\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.1%\r\nunify-linearly-opt\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.1%\r\nunused-warnings-check\r\n\tavg: 0.0%\tmin: 0.0%\tmax: 0.1%\r\ntokio-webpush-simple-opt\r\n\tavg: -0.0%\tmin: -0.1%\tmax: 0.0%\r\nhelloworld\r\n\tavg: -0.0%\tmin: -0.0%\tmax: 0.1%\r\nunused-warnings\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.0%\r\ndeeply-nested\r\n\tavg: -0.0%\tmin: -0.0%\tmax: -0.0%\r\nunused-warnings-opt\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.0%\r\nunify-linearly\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.0%\r\ninflate-check\r\n\tavg: 0.0%\tmin: -0.0%\tmax: 0.0%\r\n```\r\n\r\n</details>"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/434093653","html_url":"https://github.com/rust-lang/rust/pull/50052#issuecomment-434093653","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/50052","id":434093653,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNDA5MzY1Mw==","user":{"login":"nnethercote","id":1940286,"node_id":"MDQ6VXNlcjE5NDAyODY=","avatar_url":"https://avatars1.githubusercontent.com/u/1940286?v=4","gravatar_id":"","url":"https://api.github.com/users/nnethercote","html_url":"https://github.com/nnethercote","followers_url":"https://api.github.com/users/nnethercote/followers","following_url":"https://api.github.com/users/nnethercote/following{/other_user}","gists_url":"https://api.github.com/users/nnethercote/gists{/gist_id}","starred_url":"https://api.github.com/users/nnethercote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nnethercote/subscriptions","organizations_url":"https://api.github.com/users/nnethercote/orgs","repos_url":"https://api.github.com/users/nnethercote/repos","events_url":"https://api.github.com/users/nnethercote/events{/privacy}","received_events_url":"https://api.github.com/users/nnethercote/received_events","type":"User","site_admin":false},"created_at":"2018-10-29T21:48:59Z","updated_at":"2018-10-29T21:48:59Z","author_association":"CONTRIBUTOR","body":"> Actually,`integer_lit` is a bit harder, so I'd prefer to do that in a follow-up.\r\n\r\nI finally did `integer_lit` (and `float_lit`) in #55384."}}
{"actor":{"display_login":"nnethercote"}}