slint/internal/compiler
Milian Wolff 89bc023819 Optimize: Filter/map rowan nodes instead of doing multiple lookups
Instead of doing potentially multiple calls in the chained calls,
each of which would allocate in rowan, we now only call the iterator
function once and then leverage `find_map`. This is arguably even
more readable and it removes ~300k allocations and speeds up parsing.

Before:
```
  Time (mean ± σ):     930.7 ms ±  15.1 ms    [User: 678.7 ms, System: 165.5 ms]
  Range (min … max):   906.4 ms … 956.3 ms    10 runs

    allocations: 2339130

```

After:
```
  Time (mean ± σ):     914.6 ms ±  22.7 ms    [User: 649.6 ms, System: 174.5 ms]
  Range (min … max):   874.8 ms … 946.3 ms    10 runs

    allocations: 2017915

```
2024-10-28 09:40:58 +01:00
..
generator Also wrap langtype::Type::Struct in an Rc 2024-10-28 09:39:54 +01:00
LICENSES Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
llr Intern some more common types 2024-10-28 09:39:54 +01:00
lookup Replace compiler dependency on css-color-parser crate 2024-07-29 13:13:53 +02:00
parser Fix parsing of unfinished import statement 2024-10-22 09:35:46 +02:00
parser-test-macro API review of the slint interpreter Compiler api 2024-07-05 17:20:08 +02:00
passes Optimize: Filter/map rowan nodes instead of doing multiple lookups 2024-10-28 09:40:58 +01:00
tests Wrap langtype::Type::{Callback,Function} data in an Rc 2024-10-28 09:39:54 +01:00
widgets Added rejected to TextInput (#6649) 2024-10-25 17:24:47 +02:00
build.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
builtin_macros.rs Also wrap langtype::Type::Struct in an Rc 2024-10-28 09:39:54 +01:00
builtins.slint Added rejected to TextInput (#6649) 2024-10-25 17:24:47 +02:00
Cargo.toml Fix order of glyphs in BitmapFont's glyphs when using SDFs 2024-10-23 19:36:51 +02:00
diagnostics.rs compiler: Remove version info from SourceFile again 2024-08-21 16:55:13 +02:00
embedded_resources.rs Signed DistanceField font rendering in swrenderer 2024-10-23 09:12:30 +02:00
expression_tree.rs Intern some more common types 2024-10-28 09:39:54 +01:00
fileaccess.rs Widget style: simplify -light/-dark handling 2024-08-20 16:55:15 +02:00
generator.rs Also wrap langtype::Type::Struct in an Rc 2024-10-28 09:39:54 +01:00
langtype.rs Also use Rc for langtype::Type::Array 2024-10-28 09:39:54 +01:00
layout.rs Intern some more common types 2024-10-28 09:39:54 +01:00
lexer.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
lib.rs Speed up SDF generation 2024-10-23 09:12:30 +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 Wrap langtype::Type::{Callback,Function} data in an Rc 2024-10-28 09:39:54 +01:00
lookup.rs Refactor typeregister's BUILTIN_ENUMS => BUILTIN.enums 2024-10-28 09:39:54 +01:00
namedreference.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
object_tree.rs Intern some more common types 2024-10-28 09:39:54 +01: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 Use SmolStr for parts of pathutils to remove temporary allocations 2024-10-17 18:04:58 +02:00
README.md Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
typeloader.rs PopupWindow: added close-policy property (#6614) 2024-10-24 09:27:39 +00:00
typeregister.rs Intern some more common types 2024-10-28 09:39:54 +01: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.