[tint] Implement some lexer optimizations Two specific optimizations are added in this CL: 1. Cache'ing the current line state instead of fetching it with every call to line(), since it only changes on construction and when advance_line() is called. 2. Changing the if-elif chain in try_punctiation in a switch-case, so that instead of iterating through all 30-ish cases the code can just jump straight to the correct case. (This cannot be trivially done for parse_keyword, since it works on full strings instead of single chars.) This improves runtime for the reference test, relative to baseline another 10% to 20%. Fixes: 563083232 Change-Id: I6b2b03e912f04739796a843500932d0ea977093e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/344375 Commit-Queue: dan sinclair <dsinclair@chromium.org> Auto-Submit: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: dan sinclair <dsinclair@chromium.org>
Dawn is an open-source and cross-platform implementation of the WebGPU standard. More precisely it implements webgpu.h that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h version that Dawn implements.webgpu.h.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.