strager

Results 237 issues of strager

Parsing jQuery on my MacBook Pro: * Web demo in Firefox: ~95 ms per parse * -O0 CLI build: ~70 ms per parse * -O2 CLI build: ~14 ms per...

for hire
performance

https://github.com/quick-lint/quick-lint-js/runs/7457332759?check_suite_focus=true quick-lint-js: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Some of our benchmarks read support files. We fail compilation with Emscripten because our `read_file` code and similar functions are disabled. Implement `read_file`, etc. for Emscripten so people can run...

On my M1, Node.js v18.0.0 and older crash when running `test_trace_stream_reader` tests in `test/test-trace-stream-reader.cpp`: ``` $ ninja quick-lint-js-test && node --experimental-wasm-simd test/quick-lint-js-test.js --gtest_filter=test_trace_stream_reader.empty_trace_has_no_events ninja: no work to do. Running main()...

Block comment parsing uses a SIMD register. It iterates over each `true` in the register: https://github.com/quick-lint/quick-lint-js/blob/bd583a1b34bfa557c99477551af68525d8e77cc2/src/quick-lint-js/fe/lex.cpp#L1942-L1945 We can adapt Kernighan's popcount algorithm to speed up this up: https://www.techiedelight.com/brian-kernighans-algorithm-count-set-bits-integer/

for hire
performance

The following export statements are illegal in TypeScript. We should report a nice diagnostic. ```typescript export default namespace ns {} // error export default enum e {} // error export...

for hire

```typescript export import A = B; // legal TypeScript; illegal JavaScript export import fs from "fs"; // illegal ```

for hire

The following should report an error: ```typescript namespace ns { export class B {} } new A(); // use before decl import A = ns.B; ```

for hire

```typescript namespace ns { class C {} export {C} // illegal } ```

for hire

Let's try GitLab's CI solution. Benefits over GitHub Actions: * Improved security for our macOS M1 worker * Dedicated hardware for x86_64 Linux, macOS, and Windows workers, possibly improving performance...