Comments (8)
We could look at the the performance of http://www.nodegit.org/ source https://github.com/nodegit/nodegit
It uses libgit2 and lloks pretty active.
from githistoryvscode.
Yes I saw that too probably stick to your current way.
Native dependencies sounds like it might raise a few issues
Since reading stdout from a spawn seems slower in windows I think the best we can do is only get what we need. For example we could cut the stream (and the size of the html) down dramatically if we only get what we need to display the git log page.
If I limit the page size to 10 for example that makes a huge difference.
I think were back to an on demand loading list spawning git on demand.
from githistoryvscode.
It seems that running this command in git bash is much faster that under cmd on windows.
Anyone with knowledge of how the spawn internals work on windows?
I'm guessing spawning git would run without a shell?
I think exec is used for shell commands.
from githistoryvscode.
@mikes-gh , I did check that out when starting this project, but that's quite a huge (last time i checked) dependency.
Also its a native dependency, meaning we will need to release and update every time VS Code updates their node versions (result of updates to Atom). However its work a look once again.
I know theres a project that allows compile native modules so they work with multiple node versions (i.e. support for backwards compatibility), though not forward.
from githistoryvscode.
Another approach would be to try and see if we can somehow make use of what Visual Studio Code is using.
from githistoryvscode.
Here's the source,
It looks like VS Code too is spawning the git executable.
from githistoryvscode.
Agreed, time to shave off a few milli seconds here and there to speed this up, thought I'd default the setting to something like 20, some monitors are quite big, like the monster I have at work...
Might want to consider calculating the height and determining the number of items to be displayed (if possible).
I've always wanted to rewrite the front end component to use websockets (socket-io), this way it would be a lot more efficient (something I've successfully done in another extension).
from githistoryvscode.
Thanks for reporting this issue. Closing for now due to inactivity.
from githistoryvscode.
Related Issues (20)
- [BUG] Does not show changes if folder structure is different.
- Git Push Error
- Auto-refresh Git History tab when I make changes
- [ Feature request ] Context menu when right clicking in commit
- [ Feature request ] - New way to compare commits HOT 1
- [BUG] View History button is shown for non-git SCM
- Not polluting ctrl+p
- [BUG] My CSS is too powerful for the current syntax highlighter HOT 2
- " not a git repository (or any of the parent directories): .git](fatal: not a git repository (or any of the parent directories): .git) " 2023
- Dates do not honour regional settings HOT 2
- Feature Req: Showing tags a commit is included in
- [BUG] Unable to view History / change comparison
- Cannot read properties of undefined (reading 'exports') HOT 1
- History page, Single commit dot alignment
- [BUG] Relative paths inexplicably cause file history to fail in symlinked folder circumstances.
- [BUG] Incorrect highlight of search result when viewing file history
- [BUG] Line number mismatch in "show line history"
- [BUG] Previous/Next should be hidden when commit details panel is open
- Is it possible to add a "Simplified Chinese" language option? HOT 5
- [BUG] File History and Line History not working on repositories with multiple remotes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from githistoryvscode.