Commit Graph

10 Commits (b7c0bcb61f0753a9d6dcc517207783a206e57e79)

Author SHA1 Message Date
Dom Dwyer 21757d39ef
chore: don't doc behind tokio_unstable flags
Unfortunately there's no good way to conditionally document:

    https://doc.rust-lang.org/beta/unstable-book/language-features/doc-cfg.html

Currently unstable.
2023-07-03 15:42:35 +02:00
Marco Neumann 0dde4f0703
fix: `tokio_unstable` for Linux x64 (#8048)
Apparently rustflag configs don't stack, so we need to re-specify the
whole list.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-06-22 11:09:11 +00:00
Marco Neumann 4d1c6f805c
refactor: clean up rustflags and build args (#8047)
- move `tokio_unstable` to cargo config, so all we can use it within
   our code (e.g. for #7982)
- disable incremental builds for prod docker builds. this was tried
  before but got lost at some point because build params weren't passed
  to docker correclty
- fix `CARGO_NET_GIT_FETCH_WITH_CLI` for docker builds (env wasn't
  passed through)
2023-06-22 09:58:46 +00:00
Marco Neumann 1d3d7d422b
chore: enable frame-pointer (#7471)
Not having frame pointers on x64 is a painful for profiling and debugging.
Sure we can use DWARF, but it is slow, memory-hungry (you easily need
gigabytes just for a simple benchmark), and often broken.

In constrat to 32bit x86, x64 has enough general purpose registers and
the processor likely has even more physical ones that it can access through
register renaming. One register more won't make the difference for
us.

Prior art:

- Go: https://github.com/golang/go/issues/15840
- RustC: https://github.com/rust-lang/rust/pull/107689 (not merged yet)
- Fedora tried: https://lwn.net/Articles/919940/

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-11 08:14:31 +00:00
Marco Neumann bdfab5fb64
chore: opt-in for sparse registry protocol (#7206)
Faster registry updates for our developers and the CI/CD pipeline.

See <https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html#cargos-sparse-protocol>.
2023-03-14 13:09:13 +00:00
Marco Neumann 04320aced1
refactor: replace `croaring` with `arrow` (#5910)
* refactor: replace `croaring` with `roaring`

With the read buffer gone, roaring bitmaps are only used to calculate
series sets and these calculations are pretty much possible with the
pure-Rust version. Also I don't deem that that performance-critical
(compared to the roaring bitmaps in the read buffer core).

This removes a bunch of dependencies, mostly because `bindgen` is gone.
This also removes our "croaring architecture detection" hack.

* refactor: replace manual roaring sets with arrow

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-10-20 10:45:41 +00:00
Raphael Taylor-Davies 5f9ade103f
chore: tweak rustc flags (#5293)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-08-04 09:12:21 +00:00
Marco Neumann 5f15d97dd1
chore: always pass `ROARING_ARCH` (#5203)
* chore: always pass `ROARING_ARCH`

Always pass the `ROARING_ARCH` that we would use for our prod builds.
Otherwise this can easily be missed during testing, profiling or build
system changes (e.g. should we ever move aways for our `Dockerfile`).

This feature was introduced with Rust/Cargo 1.56.

* docs: explain env passing

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2022-07-25 16:15:39 +00:00
Marco Neumann 54039e8ae5
chore: fix `perf` and friends (#5087) 2022-07-11 15:46:27 +00:00
Raphael Taylor-Davies 13b97cc31d
chore: use lld on linux (#1022)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-03-22 10:13:43 +00:00