-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 05-Jan-2020 01:22 +0100, Prabir Shrestha wrote:

> -1 for }. That is the most absurd syntax I have seen in any
> language that only uses it for closing.
> 
> So I went and re-read the poll
> https://github.com/vim/vim/issues/3573. And here is what I can
> think of reading it again in Jan 2020.
> 
> Can we get more info on what does make vim-script faster mean?
> 
> Screen Shot 2020-01-04 at 3.53.13 PM.png
> 
> Screen Shot 2020-01-04 at 4.04.27 PM.png
> 
> Screen Shot 2020-01-04 at 4.05.36 PM.png
> 
> 
> 
> Second comment there says about syntax highlighting. So making
> vimscript faster here won't help much because 
> [tree-sitter](https://tree-sitter.github.io/tree-sitter/) will be
> lot faster than vimscript, which means syntax highlighting in
> neovim will also be more accurate and faster then vim.
> 
> 
> Instead of picking up non real world examples to demonstrate perf
> gains can we pick some proper goals.
> 
> Here are some of the examples I can think of:
> 
> * Faster fuzzy finder. Currently there is 0 plugins that is fast in
> pure vimscript. I would like to see an example of FuzzyFinder in
> vim9 that is fast as https://github.com/liuchengxu/vim-clap and
> https://github.com/junegunn/fzf.vim. Few requirements here:
> Searching large number of nested directories and files,
> highlighting matches. Some of these I elaborated in this comment
> https://github.com/vim/vim/issues/3573#issuecomment-433730939.
> 
> * vim9 syntax highlighting vs neovim tree-sitter syntax
> highlighting. We should count speed as well as accuracy.
> 
> * Fuzzy search for auto complete popup menu.
> 
> 
> I still think WASM is the way to go and not vimscript 9. This way I
> can code in what ever language suits me and just ship the bytecode.
> 
> 
> For example: will vimscript 9 support generics/async,await/pattern 
> matching/threading or greenthreads/immutability? This list will
> keep going on. Making it fast is just one issue it solves. A
> language gets attractive not just for perf but many other features
> that come around it.
> 
> 
> Here is a new WASM runtime since I last mentioned which claims to
> be 15x faster then other c wasm runtimes.
> https://github.com/wasm3/wasm3.
> 
> 
> As a plugin author I can then code in any languages I want that
> suits the needed. For example a python dev might write in python, a
> JS dev might right in Javascript or Typescript if they need typing.
> And they can still write in go/rust/zig or even c if they need
> performance. And most languages these days already support
> compiling to WASM.

I agree; most performance issues I encounter are in syntax
highlighting with large, often deeply nested structures (like big XML
or JSON files). Poor Vimscript performance hardly is an issue for the
kind of plugins that I write; and it's always been possible to use a
language binding and reimplement the core parts, or call out to an
external program (now even easier with the jobs feature). If WASM is
the future (and you present enticing arguments here), deprecating the
many existing language bindings in favor of WASM as the single
go-forward integration would indeed contribute to a simplified code
base, avoid fragmented plugin requirements, and therefore reduce
compatibility issues in the diverse user base.

Still, if Bram has ideas about eliminating some inefficiencies of
Vimscript, so that Vimscript writers can easily opt-in (ideally, in a
backwards-compatible way and without rewriting entire functions or
plugins), why not? Vim, with its great backwards compatibility and
platform support, has been a pleasure to use and extend for many many
years; I'll happily let Bram indulge in such pet projects (and the
accompanying bike shedding about syntax details :-) if that's what
keeps him happy and committed to the project!

- -- regards, ingo
- -- 
  -- Ingo Karkat --  /^-- /^-- /^-- /^-- /^-- http://ingo-karkat.de/ --
  --      https://www.vim.org/account/profile.php?user_id=9713       --
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJeEa+8AAoJEA7ziXlAzQ/vX3wH/35PUWts94SNz8IGT2PCG24V
Cs7x14Zj4774qjL6ZWi+rn/7pdzUAzTqapsBoLdBz8qZM3bjV/J0ydwg8D8xSYzo
tCS3LwHL6wGOYpYmg8KuB7+joAkn5TCfOH69f5aXwAje6fL0g91aigYGRmR35Bze
IX0sQwfLesH/zArL1qk7G8pqjrRmmSpG63zyABOeYaTPbKB6rwJ/Dy9vsRdjDAEM
Y/vzqnC6aGHCjGhD/kVzlBaFZTV4YD2TxDdHSXRd+47j5LRr0J4QKLYJj91wgzCE
je5vZn1OTETlAUXzI9+B1u12/XVYEFba4PFQr5EfAY81cZXoF0aWhJ6rwPj1Xj8=
=nFRe
-----END PGP SIGNATURE-----

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/719ee6c3-76e9-0cb8-58a3-abcb46ada807%40ingo-karkat.de.

Reply via email to