profile
viewpoint
Jakub Beránek Kobzol IT4Innovations, VSB-TUO Olomouc, Czech Republic https://kobzol.github.io/

intellij-rust/intellij-rust 4498

Rust plugin for the IntelliJ Platform

It4innovations/hyperqueue 180

Scheduler for sub-node tasks for HPC systems with batch scheduling

cetra3/tmq 133

Rust ZeroMQ bindings for Tokio

It4innovations/rsds 88

Dask scheduler written in Rust

geordi/upr-course 32

UPR course at VSB

It4innovations/HyperLoom 14

Platform for defining and executing scientific pipelines in distributed environments

geordi/skj-course 11

SKJ Course

covid19cz/erouska-homepage 10

eRouška website

covid19cz/erouska-firebase 7

Firebase serverless backend for Bluetooth tracing

It4innovations/snailwatch 7

Continous performance monitoring service (https://snailwatch.readthedocs.io/en/latest).

delete branch Kobzol/bors

delete branch : load-repo-robust

delete time in 8 minutes

push eventrust-lang/bors

Jakub Beránek

commit sha e389a1647b8ad1e266358a7c235ea4fc8eeb83b4

Do not abort repository loading when a repo cannot be loaded

view details

push time in 8 minutes

PR merged rust-lang/bors

Do not abort repository loading when a repo cannot be loaded

While it's not bad to have a loud error, we shouldn't stop refreshing repositories when one of them fails to load.

+27 -19

0 comment

1 changed file

Kobzol

pr closed time in 8 minutes

PR opened rust-lang/bors

Add CI workflow for testing building of the Docker image
+13 -0

0 comment

1 changed file

pr created time in 9 minutes

PR opened rust-lang/bors

Build binary in the Docker with debug symbols

This should help producing better backtraces in production.

+1 -1

0 comment

1 changed file

pr created time in 10 minutes

create barnchKobzol/bors

branch : docker-debug

created branch time in 10 minutes

create barnchKobzol/bors

branch : ci-docker-build

created branch time in 12 minutes

PR opened rust-lang/bors

Do not abort repository loading when a repo cannot be loaded

While it's not bad to have a loud error, we shouldn't stop refreshing repositories when one of them fails to load.

+27 -19

0 comment

1 changed file

pr created time in 36 minutes

create barnchKobzol/bors

branch : load-repo-robust

created branch time in 36 minutes

push eventKobzol/rust

Jakub Beránek

commit sha 3d50aee2ca26e6b23601dca1e19399c547205e42

Fix passing of LLD threads flag

view details

push time in an hour

pull request commentrust-lang/rustc-perf

Add NES emulation runtime benchmark

Great! I have wanted to include some kind of interpreter in the suite, an emulator should do nicely.

I wanted to avoid the git dependency, but then I noticed that we already have a few of them in compile benchmarks, so it's probably not such a big deal.

I wonder if in the benchmark loop, the framebuffer has to be written out? Couldn't we just benchmark the emulation of instructions itself?

koute

comment created time in an hour

push eventKobzol/ZPG-project

Firestone82

commit sha d70500c21321f7d58f4247f596943fa4d88d46b6

Fixed typo

view details

Jakub Beránek

commit sha 073c6dfec69ec62559a913cc90eaab53f066a09e

Merge pull request #1 from Firestone82/patch-1 Fixed typo

view details

push time in 4 hours

PR merged Kobzol/ZPG-project

Fixed typo

Found you an typo trying to "yoink" your code. 👀

+2 -2

1 comment

1 changed file

Firestone82

pr closed time in 4 hours

PullRequestReviewEvent

pull request commentKobzol/ZPG-project

Fixed typo

:D Thanks.

Btw, I don't think that this codebase should be taken as a source of inspiration :)

Firestone82

comment created time in 4 hours

push eventKobzol/kobzol.github.io

Jakub Beránek

commit sha edde594b5f36b97ec58525b2494955ecf37a846f

Add Reddit link

view details

push time in 8 hours

pull request commentrust-lang/rust

bootstrap: copy self-contained linking components to `stage0-sysroot`

I think that it should be done unconditionally. We should copy the things required by the snapshot compiler to stage0-sysroot, so that it can Do its thing™. Especially if it will eventually use rust-lld by default, because in that case rust-lld needs to be there, so that rustup link stage0 ... continues to work.

rust.lld = true specifies whether lld should appear in stage1/2/N compiler's sysroot, which is an orthogonal decision, IMO.

lqd

comment created time in a day

PR closed rust-lang/rust

bootstrap: do not invoke global `lld` binary T-bootstrap S-waiting-on-author

https://github.com/rust-lang/rust/pull/102101 has introduced a check for passing some thread flags to lld. However, it was invoking a (globally available) binary called lld, which I'm pretty sure we never want to do in bootstrap. If you enable use-lld and don't have a lld binary available, this will crash the build.

This PR fixes that by invoking the lld coming from the snapshot compiler instead.

+9 -4

10 comments

3 changed files

Kobzol

pr closed time in a day

pull request commentrust-lang/rust

bootstrap: do not invoke global `lld` binary

Closing in favour of https://github.com/rust-lang/rust/pull/116278.

Kobzol

comment created time in a day

PR opened rust-lang/rust

Generalize LLD usage in bootstrap

The current usage of using LLD (rust.use-lld = true) in bootstrap is a bit messy. What it claimed:

Indicates whether LLD will be used to link Rust crates during bootstrap on supported platforms. The LLD from the bootstrap distribution will be used and not the LLD compiled during the bootstrap.

What it did:

  1. On MSVC, it did indeed use the snapshot compiler's rust-lld, but at the same time it was invoking a global lld binary (since https://github.com/rust-lang/rust/pull/102101), therefore it wouldn't work if lld wasn't available.
  2. On other targets, it was just straight up using a global lld linker. If it wasn't available, it would fail.

This PR (hopefully) cleans up handling of LLD in bootstrap. It introduces a new enum called LldMode, which explicitly distinguishes between No LLD, external LLD and self-contained LLD. Since it's non-trivial to provide a custom path to LLD, if an external lld is used, the linker binary has to be named exactly lld and it has to be available in PATH.

One slightly annoying thing is that bootstrap supports using a different linker and linker flags for the host compilation, which means that the rustc and rustdoc shims had to be also modified, and the LLD dispatching logic is basically duplicated in bootstrap and in the shim binaries. With MCP510, it should become a bit easier.

To keep backwards compatibility somewhat, I kept the original use-lld flag and mapped the true value to external, which is how it behaved before on Linux and other non-MSVC targets.

After https://github.com/rust-lang/rust/pull/116276, we could remove the manual lld flag passing and switch some of it to MCP510 flags (-Clinker-flavor and -Clink-self-contained).

Best reviewed commit by commit.

CC @petrochenkov

+256 -77

0 comment

14 changed files

pr created time in a day

push eventKobzol/rust

Jakub Beránek

commit sha 75d5a96ebeb2ef0ff3a8488c505cea2d2991438d

Generalize usage of LLD in bootstrap Allow choosing between self-contained and externally provided LLD.

view details

Jakub Beránek

commit sha 13e5771cdb53a91164128c9600fa2e7f8908ad82

Generalize LLD usage in rustdoc

view details

Jakub Beránek

commit sha 4cb5a25649f776c4ad94093ad4f1eed2ce1ce610

Update `config.example.toml`

view details

push time in a day

create barnchKobzol/rust

branch : bootstrap-lld-mode

created branch time in a day

delete branch mrlvsb/kelvin

delete branch : do-not-ignore-whitespace

delete time in a day

push eventmrlvsb/kelvin

Jakub Beránek

commit sha 5b5ff7605d5678b62e0a4f0e66fb629238ea5da6

Do not ignore whitespace when checking tests

view details

push time in a day

PR merged mrlvsb/kelvin

Do not ignore whitespace when checking tests

It is causing problems when the program output… contains whitespace :)

+3 -3

0 comment

1 changed file

Kobzol

pr closed time in a day

pull request commentrust-lang/rust

[Experiment] Rewrite exhaustiveness in one pass

This is the cachegrind diff:

604,061,067  ???:rustc_mir_build::thir::pattern::usefulness::is_useful::{closure#0}
 -1,551,859  ???:<rustc_parse::parser::Parser>::bump
  1,441,085  ???:<rustc_parse::parser::Parser>::parse_block_common
  1,061,248  ???:<rustc_query_system::ich::hcx::StableHashingContext as rustc_span::HashStableContext>::def_path_hash
   -893,206  ???:rustc_ast::visit::walk_enum_def::<rustc_lint::early::EarlyContextAndPass<rustc_lint::BuiltinCombinedEarlyLintPass>>
    806,224  ???:<rustc_lint::early::EarlyContextAndPass<rustc_lint::BuiltinCombinedEarlyLintPass> as rustc_ast::visit::Visitor>::visit_variant
    795,623  ???:<rustc_ast::ptr::P<rustc_ast::ast::Expr> as core::clone::Clone>::clone
   -742,328  ???:<rustc_ast::ast::Expr as core::clone::Clone>::clone
    657,211  ???:<rustc_lint::early::EarlyContextAndPass<rustc_lint::BuiltinCombinedEarlyLintPass> as rustc_ast::visit::Visitor>::visit_variant_data

600M more instructions in is_useful.

Nadrieril

comment created time in a day

PR opened mrlvsb/kelvin

Do not ignore whitespace when checking tests

It is causing problems when the program output… contains whitespace :)

+3 -3

0 comment

1 changed file

pr created time in a day

create barnchmrlvsb/kelvin

branch : do-not-ignore-whitespace

created branch time in a day

pull request commentrust-lang/rust

Build `rustc` with a single CGU on x64 Linux

Ok. I'll requeue this into bors once that happens.

Kobzol

comment created time in a day

issue openedrust-lang/surveys

Add question about cargo usage

  • Do you use Cargo?
  • Do you use some other build system?
  • Do you combine Cargo and some other build system?
    • Which system drives the compilation?

created time in a day

more