[roll] Roll fuchsia [log][rust] Stop using nom for decoding log records

Instead leverage zerocopy in more places and simplify the code.

Brings nice performance improvements in Archivist and log decoder
benchmarks.

Perfcompare at patchset #4:

X64: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8730711614618654833/+/u/compare_perf_test_results_without_and_with_CL/stdout

```
fuchsia.archivist: Logging/SharedBuffer/Fill/100                                        regressed         1.051-1.104    7827 +/- 32 ns           8433 +/- 174 ns
fuchsia.archivist: Logging/SharedBuffer/Fill/16K                                        regressed         1.053-1.085    1285082 +/- 15889 ns     1373796 +/- 3456 ns
fuchsia.archivist: Logging/SharedBuffer/Iterate/size=16K/writers=0/per_second=1         improved          0.814-0.826    3806458 +/- 18371 ns     3120808 +/- 7557 ns
fuchsia.archivist: Logging/SharedBuffer/Iterate/size=16K/writers=1/per_second=50        improved          0.818-0.826    3801755 +/- 11564 ns     3125460 +/- 6572 ns
fuchsia.archivist: Logging/SharedBuffer/Iterate/size=16K/writers=1/per_second=500       improved          0.819-0.833    3793066 +/- 16359 ns     3132753 +/- 14441 ns
fuchsia.archivist: Logging/SharedBuffer/Iterate/size=16K/writers=3/per_second=500       improved          0.817-0.832    3805945 +/- 19994 ns     3138453 +/- 12231 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Boolean                         improved          0.614-0.653    79.08 +/- 0.86 ns        50.1 +/- 1.0 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Floating                        improved          0.450-0.520    105.0 +/- 5.7 ns         50.75 +/- 0.94 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/SignedInt                       improved          0.453-0.506    106.1 +/- 4.1 ns         50.74 +/- 0.86 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Text/1024                       improved          0.862-0.899    121.1 +/- 1.3 ns         106.6 +/- 1.1 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Text/128                        improved          0.672-0.704    97.8 +/- 1.7 ns          67.20 +/- 0.42 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Text/16                         improved          0.678-0.696    92.82 +/- 0.82 ns        63.76 +/- 0.31 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Text/256                        improved          0.653-0.746    101.9 +/- 5.2 ns         71.0 +/- 1.1 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Text/32000                      improved          0.878-0.909    1321 +/- 18 ns           1180.0 +/- 4.3 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Text/512                        improved          0.791-0.857    107.3 +/- 1.0 ns         88.4 +/- 2.7 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/UnsignedInt                     improved          0.462-0.485    105.6 +/- 1.6 ns         49.96 +/- 0.46 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/ReadEvent/AllArguments                   improved          0.619-0.634    1451 +/- 10 ns           909.2 +/- 4.4 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/ReadEvent/MessageAsString                improved          0.612-0.680    790 +/- 10 ns            510 +/- 20 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/ReadEvent/MessageWithSomeArguments       improved          0.599-0.624    1060 +/- 18 ns           647.9 +/- 1.8 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/ReadEvent/NoArguments                    improved          0.582-0.590    785.4 +/- 4.0 ns         460.38 +/- 0.64 ns
```

VIM3: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8730711614618654817/+/u/compare_perf_test_results_without_and_with_CL/stdout

```
fuchsia.archivist: Logging/SharedBuffer/Iterate/size=16K/writers=1/per_second=500  improved          0.809-0.818    8712122 +/- 12274 ns    7084648 +/- 28196 ns
fuchsia.archivist: Logging/SharedBuffer/Iterate/size=16K/writers=3/per_second=500  improved          0.817-0.823    8761744 +/- 8902 ns     7185597 +/- 18674 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Boolean                    improved          0.562-0.582    193.9 +/- 1.1 ns        111.0 +/- 1.3 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Floating                   improved          0.436-0.444    253.5 +/- 1.5 ns        111.62 +/- 0.36 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/SignedInt                  improved          0.441-0.445    251.69 +/- 0.86 ns      111.482 +/- 0.046 ns
fuchsia.diagnostics_log_rust.decoding: Decoder/Argument/Text/512                   improved          0.765-0.773    288.3 +/- 1.2 ns        221.60 +/- 0.24 ns
```

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1160813
Original-Revision: 45abc86805fde8387dcdf94b24ad8fa446bd636b
GitOrigin-RevId: cbd688f9c71f39de1e24833b60af4da4bbbe9ef5
Change-Id: Ie2fb862dcb676f43832063be31f0a69adee20f07
1 file changed
tree: 9be102b96ee487c1e55789ddcc040f2d8ee0da60
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.