CodeConnect / AliveFeedback

Issue and feature tracker for Alive
23 stars 0 forks source link

Nice product, but too slow for real-time feed-back #84

Closed epsitec closed 8 years ago

epsitec commented 8 years ago

I've been using Wallaby.js for months now to get feed-back while editing JavaScript in the atom editor. And I've become accustomed to its very snappy updates, which makes for a real-time experience. Visual updates (red/green indicators in the margin, updated preview for the values directly in the editor) take about 200-300ms. And this makes the whole experience really great.

I was very excited to try out Alive in Visual Studio, hoping for a similar performance on my C# code. It is probably not fair to compare Alive to Wallaby.js, but I found Alive to be slow, really. It is way faster than the traditional edit, compile, debug loop, but not as snappy as what I had become used to.

Very nice feature of Alive: having the possibility to step through a loop by sliding a cursor. That's a really interesting idea. Maybe not always very practical to go from one step to the next one (you should probably consider adding +/- buttons).

UlyssesWu commented 8 years ago

About the loop issue: I also think adding +/- buttons is a good idea, or maybe a textbox for user to input the step count. When the loop amount is huge, a slight drag will lead to 10+ loops...

For me, I'm basically satisfied with the speed of Alive. (Maybe I don't type very fast :laughing: ) But of course -- the faster, the better.

JoshVarty commented 8 years ago

Thanks for the feedback, there is always more we can do to improve speed, but it will take time. One of the unfortunate realities of building such a tool for a compiled language is there there is a lot of overhead spent compiling (and emitting) the code.

We have some ideas on how to continue improving speed, but they involve some very heavy lifting and complex IL rewriting. We'll keep your feedback in mind as we map out our plan for the coming months. :)

epsitec commented 8 years ago

I can only imagine the complexity of what you are trying to accomplish. The current implementation on top of Roslyn is amazing and you deserve congratulations for all the work you have already done.

AmadeusW commented 8 years ago

@epsitec we've improved the way we execute your code on subsequent runs, which makes Alive faster. @UlyssesWu we've added -/+ buttons

We are now testing these changes and will release an update within a week!