slint/internal/compiler
Milian Wolff 0f6c3a4fd7 Use SmolStr in more places of the compiler infrastructure
This removes a lot of allocations and speeds up the compiler step
a bit. Sadly, this patch is very invasive as it touches a lot of
files. That said, each individual hunk is pretty trivial.

For a non-trivial real-world example, the impact is significant,
we get rid of ~29% of all allocations and improve the runtime by
about 4.8% (measured until the viewer loop would start).

Before:
```
Benchmark 1: ./target/release/slint-viewer ../slint-perf/app.slint
  Time (mean ± σ):     664.2 ms ±   6.7 ms    [User: 589.2 ms, System: 74.0 ms]
  Range (min … max):   659.0 ms … 682.4 ms    10 runs

        allocations:            4886888
        temporary allocations:  857508
```

After:
```
Benchmark 1: ./target/release/slint-viewer ../slint-perf/app.slint
  Time (mean ± σ):     639.5 ms ±  17.8 ms    [User: 556.9 ms, System: 76.2 ms]
  Range (min … max):   621.4 ms … 666.5 ms    10 runs

        allocations:            3544318
        temporary allocations:  495685
```
2024-10-17 18:04:58 +02:00
..
generator Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
LICENSES Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
llr Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
lookup Replace compiler dependency on css-color-parser crate 2024-07-29 13:13:53 +02:00
parser Fix invalid node generated while parsing invalid @tr (#6560) 2024-10-15 10:23:56 +02:00
parser-test-macro API review of the slint interpreter Compiler api 2024-07-05 17:20:08 +02:00
passes Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
tests Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
widgets Changelog: Add accessible-selectable and accessible-selected properties 2024-10-16 15:38:46 +02:00
build.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
builtin_macros.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
builtins.slint Implement ScrollBarPolicy property for ScrollView (#6442) 2024-10-08 17:02:17 +02:00
Cargo.toml Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
diagnostics.rs compiler: Remove version info from SourceFile again 2024-08-21 16:55:13 +02:00
embedded_resources.rs Add support for a font-metrics property to Text/TextInput. (#6452) 2024-10-05 17:00:46 +02:00
expression_tree.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
fileaccess.rs Widget style: simplify -light/-dark handling 2024-08-20 16:55:15 +02:00
generator.rs C++: Make it possible to split up the C++ code generated for a .slint file 2024-08-20 15:53:24 +02:00
langtype.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
layout.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
lexer.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
lib.rs compiler: Add a ListResources option for resource embedding 2024-10-14 11:31:34 +02:00
literals.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
llr.rs Optimization: improve expression inlining 2024-08-23 17:17:15 +02:00
load_builtins.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
lookup.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
namedreference.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
object_tree.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
parser.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
passes.rs TextInput: use selection colors from palette (#6381) 2024-09-30 10:56:22 +00:00
pathutils.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
README.md Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
typeloader.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
typeregister.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00

The Slint Compiler Library

NOTE: This library is an internal crate of the Slint project. This crate should not be used directly by applications using Slint. You should use the slint crate instead.

WARNING: This crate does not follow the semver convention for versioning and can only be used with version = "=x.y.z" in Cargo.toml.