nushell: Rendering with `tabled` seems about 10x slower than before

Describe the bug

After merging https://github.com/nushell/nushell/pull/5969 I’m seeing about 10x performance drop.

How to reproduce

> 1..100000
...
 99997    99998
 99998    99999
 99999   100000

> $env.CMD_DURATION_MS
3795

On my machine, before the PR, it takes about 350 ms. After the PR it takes 3.7 s.

Expected behavior

Ideally, the performance difference wouldn’t be so big. Rendering this big data is not useful but it can happen by accident and then you need to wait.

Screenshots

No response

Configuration

key value
version 0.65.1
branch
commit_hash d1687df0678ec55241031860e6f7132dec3f2503
build_os linux-x86_64
build_target x86_64-unknown-linux-gnu
rust_version rustc 1.62.0 (a8314ef7d 2022-06-27)
rust_channel stable-x86_64-unknown-linux-gnu
cargo_version cargo 1.62.0 (a748cf5a3 2022-06-08)
pkg_version 0.65.1
build_time 2022-07-06 23:11:48 +03:00
build_rust_channel release
features database, dataframe, default, trash, which, zip
installed_plugins gstat

Additional context

I’m using the light table mode and Alacritty terminal.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 29 (17 by maintainers)

Most upvoted comments

@zhiburt benchmarks update with nu-table above.

@zhiburt I tried https://github.com/nushell/nushell/pull/6049 and it takes like 430 ms! That’s definitely more than good enough.

Overall it’s good right?

overall it’s AWESOME! whatever was going on with table_mode light in WSL is fixed apparently.

PS: wouldn’t It be interesting to see the same test against original nu_table?

I was thinking the same thing. I just need to figure out what commit to go back to. Any ideas?

You can test it.

Ok, i’ll just make a new table under the one above.

i guess the y-axis is time and the x-axis is

yes

how did you generate this graph?

I’ve already told you once. it’s not me all the credit to criterion https://github.com/bheisler/criterion.rs

The benches you can find here https://github.com/zhiburt/tabled/blob/comparision-libs-bench/benches/benchmark.rs