onivim / oni

Oni: Modern Modal Editing - powered by Neovim
https://www.onivim.io
MIT License
11.35k stars 301 forks source link

Performance - Oni takes 246ms to make a new line #2412

Open hoschi opened 6 years ago

hoschi commented 6 years ago

Oni Version: 0.3.4 Neovim Version (Linux only):

NVIM v0.3.0-1230-g36b2e3f74
Build type: RelWithDebInfo
LuaJIT 2.0.5
Compilation: /usr/bin/cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wconversion -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -O2 -g -DMIN_LOG_LEVEL=3 -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fdiagnostics-color=auto -Wno-array-bounds -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -I/tmp/yaourt-tmp-hoschi/aur-neovim-git/src/neovim-git/build/config -I/tmp/yaourt-tmp-hoschi/aur-neovim-git/src/neovim-git/src -I/usr/include -I/tmp/yaourt-tmp-hoschi/aur-neovim-git/src/neovim-git/build/src/nvim/auto -I/tmp/yaourt-tmp-hoschi/aur-neovim-git/src/neovim-git/build/include
Übersetzt von hoschi@maxxgubbl
Features: +acl +iconv +jemalloc +tui
See ":help feature-compile"
          System-vimrc-Datei: "$VIM/sysinit.vim"
     Voreinstellung für $VIM: "/usr/share/nvim"
Run :checkhealth for more info

Operating System:Arch

Issue:

Sometime it takes "forever" to get a new line after pressing <enter> at the end of the line. Without

    oni.input.unbind("<enter>")
    oni.input.bind(["<tab>"], "contextMenu.select");

I don't even get one, I press enter and it just removes my comma in the example below.

Expected behavior: Slow as hell!

Actual behavior: Fast as heaven :grin:

Steps to reproduce:

CurrencyCard.propTypes = {
    currencyId: PropTypes.string.isRequired,
    first: PropTypes
};

type .array,<enter>, where "array" is a property of PropTypes and type it fast enough the completion popup doesn't come up. When the popup come up, it is still slow but a little bit faster.

Performance analysis with 246ms block selected which should not be there.

CrossR commented 6 years ago

Could this be related to https://github.com/onivim/oni/issues/2370?

It might also be worth updating to the latest release, just so we know that isn't the issue.

badosu commented 6 years ago

@hoschi Oni for Arch has been updated to 0.3.6, can you check if this still persists?

hoschi commented 6 years ago

@CrossR @badosu I tried 0.3.6 and master. Also suggestions from linked issue and disabled animation and type prediction. Problem still persists.

bryphe commented 6 years ago

Thanks for reporting the issue @hoschi (and testing on the latest version)!

A performance profile would be really helpful (like the one attached to #2370) - can help us narrow down where the bottleneck is 💯

In addition, which filetype are you seeing this? Is it typescript?

hoschi commented 6 years ago

@bryphe it is JavaScript and here is the profile :wink: Profile is with version 0.3.6, just say it if you want master instead.