dart-sdk/pkg/kernel
Jens Johansen cdad90dfb8 [frontend_server] frontend_server_flutter_suite
Generally the test loads a big dill thats 90+% the same content as the
previous load, then verifies it.
This CL loads smarter and verifies less.

Before this CL, locally, running
pkg/frontend_server/test/frontend_server_flutter.dart took
real    24m56.080s
user    48m42.422s
sys     1m2.360s

and the suite edition (using 4 shards in isolates) took
real    15m9.196s
user    53m41.118s
sys     1m30.045s

With this CL, locally running
pkg/frontend_server/test/frontend_server_flutter.dart takes
real    5m0.206s
user    9m23.933s
sys     0m20.984s

and the suite edition takes
real    3m24.243s
user    12m0.069s
sys     0m28.131s

On the try-bot the runtime seems to have gone from ~40 minutes
to ~20 minutes, the "compile flutter tests" step from ~30 minutes to
~10 minutes and the portion of time actually running the
dart-code that compiles, loads and verifies, from ~26 minutes
to ~7 minutes.

Change-Id: I6db225c33e1c0ee817f3880327e720446150ad7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/347282
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2024-01-26 14:28:40 +00:00
..
bin [cfe] Rename InlineClass to ExtensionTypeDeclaration 2023-08-01 09:04:38 +00:00
doc [cfe] Remove kernel-semantics.tex 2021-09-02 13:54:15 +00:00
lib [frontend_server] frontend_server_flutter_suite 2024-01-26 14:28:40 +00:00
test [CFE] More dart scope calculator stuff 2023-12-04 11:25:19 +00:00
tool [frontend_server] CFE team takes ownership of package:frontend_server 2023-12-19 10:38:28 +00:00
.gitignore
analysis_options.yaml Ignore TODO in pkg/kernel. 2023-11-29 13:54:08 +00:00
AUTHORS
binary.md [cfe] Add isImplicitCall to DynamicInvocation 2024-01-19 08:39:30 +00:00
codereview.settings
LICENSE Update LICENSE 2021-04-07 10:28:38 +00:00
OWNERS Let the infrastructure team bump the kernel language version. 2024-01-02 14:51:46 +00:00
PRESUBMIT.py [build] Python 3.12 compatibility. 2023-12-12 18:19:35 +00:00
problems.md Fix typos 2022-10-12 14:12:42 +00:00
pubspec.yaml [kernel] Add sealed classes GenericDeclaration and GenericFunction 2023-09-08 08:32:25 +00:00
README.md Remove outdated information from pkg/kernel/README.md 2018-10-09 11:09:27 +00:00

Dart Kernel

Dart Kernel is a small high-level language derived from Dart. It is designed for use as an intermediate format for whole-program analysis and transformations, and to be consumed by codegen and execution backends.

The kernel language has an in-memory representation in Dart and can be serialized as binary or text.

Both the kernel language and its implementations are unstable and are under development.

This package contains the Dart part of the implementation and contains:

  • A transformable IR for the kernel language
  • Serialization of kernel code

Note: The APIs in this package are in an early state; developers should be careful about depending on this package. In particular, there is no semver contract for release versions of this package. Please depend directly on individual versions.

See ast.dart for the in-memory IR, or binary.md for a description of the binary format. For now, the textual format is very ad-hoc and cannot be parsed back in.