Comments (12)
No particularly long lines, all between about 80-150 characters.
from xi-mac.
I think the problem is that the highlighting protocol is currently very dumb and tries to send the entire text of the file as JSON to the syntect plugin synchronously. This hangs the core process and the plugin.
The plan is to fix this at some point by implementing this incremental highlighting and caching method.
from xi-mac.
This might be a good argument to not be running any plugins at startup. That was really more a proof-of-concept anyway, happy to pull for now.
from xi-mac.
If that's the case I wonder why it's the XiEditor
process that consumes all the resources, not xi-core
or xi-syntect-plugin
. At least that's what ActivityMonitor says.
from xi-mac.
Do these files contain any really long lines? This could be #20.
from xi-mac.
okay, this memory usage does seem to be linked to json updates initiated by syntect. This stuff is about to get touched as part of other work, I'm tempted to just move back to disabling all plugins by default but at the same time it isn't like xi-mac is a usable editor at this point anyway.
from xi-mac.
@troplin Still a little curious about the non-responsive UI, though, which I couldn't reproduce. What hardware are you running? Is it possible that Xi's memory usage is pushing you against system memory limits? If that isn't the case, could you check that this still happens when the file is on a local drive?
Is this run through Xcode or stand-alone?
Is this a release build or a debug build?
Is this (current) master/master?
from xi-mac.
My hardware:
- iMac Early 2009
- 2.93 GHz Core 2 Duo
- 4GB RAM
I have to say that my system behaves a bit strange from time to time. The OS has been updated many times without a clean install for a long time.
Im not sure if that's just the new OS on an old machine or if there's something wrong somewhere.
I'm running it standalone, current master, release build.
The effect is the same if the file is on a local drive.
And I still find it very strange, that the front end is affected much more than the back end and the plugin itself:
And yes, I know that xi-mac is not yet very usable, but then again, there are not that many good free editors for mac at all and even less that can handle really big files.
from xi-mac.
@troplin I'd be curious to hear what your experience is like now, performance-wise. We've just finished a bunch of work that should be a significant improvement.
from xi-mac.
I'd love to but I'm stuck on OS X El Capitan (10.11.6) and thus XCode 8.2.1.
xi-mac now to requires XCode 9.x so I cannot build it anymore.
from xi-mac.
(Needs some concrete resource usage numbers from various kinds of files)
from xi-mac.
I think this was mostly resolved in xi-editor/xi-editor#453. Would accept a new issue for any specific follow-up.
from xi-mac.
Related Issues (20)
- Look just like Xcode by default HOT 6
- autosave triggers HOT 11
- Xcode colorscheme HOT 3
- xi --wait does not return after application exit HOT 1
- update to swift 5 HOT 9
- Doesn't compile for Swift 5 HOT 13
- Change default find highlight color HOT 2
- package ID specification `xi-syntect-plugin` matched no packages
- build-rust-xcode.sh fails with Permission denied (os error 13) HOT 6
- Status Bar hiding last line HOT 3
- Scroll bars disappearing when switching from different application HOT 3
- Drag events cause file to be opened HOT 1
- Wrong top margin with statusbar -- first visible line is not rendered
- Crash when deleting (backspace) selection HOT 2
- Line numbers become bogus when scrolling HOT 1
- xcodebuild error (Xcode 11.3.1) HOT 14
- (Save) Dialog Overshoots Window in Splitwindow mode (macOS Catalina)
- Where is built .app? HOT 1
- No text is displayed at all
- no such module 'ArgumentParser' HOT 9
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 xi-mac.