Comments (6)
I'm guessing your config is loading some crates? Setting up sccache might save some time, but it won't make 1 as fast as 2. Using EVCXR_TMPDIR, as you were before should make 1 as fast as 2, but as you found in the other thread, has the downside that you can only have one copy of evcxr open at a time.
I don't think there's currently any ideal solution. The issue stems from there not really being a good way to share a target directory between multiple cargo workspaces.
from evcxr.
I tested the processes with both using EVCXR_TMPDIR, but the 2 is 10 times faster than 1. I'm not sure whether I described the processes clearly, I can make a gif to show the 1 and 2 if it is needed.
from evcxr.
What's your ~/.config/evcxr/init.evcxr
like? Also, your ~/.config/evcxr/prelude.evcxr
if you've got one? Mostly what I'm interested in is how many :dep
commands you have and in what file. If you've got more than 1 :dep
command in init.evcxr
, have you tried with evcxr
version 0.15.0, which was released earlier today? It included a change that would have improved startup performance for the case of having more than one :dep
command in init.evcxr
.
from evcxr.
I tested above with evcxr version 0.14.2(it is unpublished in that time, 3 days ago) in windows. The init.evcxr is empty, the prelude.rs is following.
I just know a new version has published, I'm testing the same processes with new version.
from evcxr.
Wow, that's quite a lot of crates. Thinking about it some more, my guess is that the difference in startup time could be rust-analyzer processing all those crates. Unfortunately there's currently no way to cache the analysis that rust-analyzer does. I'll have a look at adding some extra instrumentation to check what's taking time so that we can confirm if that's what's taking time.
from evcxr.
I test the following processes with using version 0.15.0:
(there is a test.ipynb
to test, which has the first cell :clear :load_config
)
- I start my computer(windows 11), then open vscode and open the test.ipynb file. Then I run the first cell, while recording the time of finishing running.
- I click the
restart kernel
in notebook, and waiting the vscode info (show up in the left bottom corner after I clicked the restart kernel button)Restarting kernel: Rust: Waiting for Jupyter Session to be idle
to finish(it takes a few seconds). Then I run the first cell, while recording the time of finishing running. - I run the first cell, while recording the time of finishing running.
The consuming time of the above four processes.
1 . 60 secs,
2 . 6 secs,
3 . 6 secs.
from evcxr.
Related Issues (20)
- linking with `cc` failed: exit code: 1 HOT 10
- Running on M1 with cargo install leads to "Trying to load an unsigned library" HOT 11
- RFC: Adding Support for Shell Command Execution HOT 4
- Native file rust cell support HOT 5
- Example from readme with reference to local variables do not work HOT 2
- how to trigger code auto completion HOT 2
- Can't use tch-rs in Jupyter Hub HOT 3
- Can't use tch-rs in Jupyter Hub (Part 2) HOT 3
- Can't use Burn (MNIST example) HOT 6
- Race condition between idle and iopub messages in `evcxr_jupyter`? HOT 4
- Invalid code generation when no tokio dependency is added HOT 2
- Invalid code generation when using the question mark operator directly after `.await` HOT 1
- Trying to include a local package gives a manifest error HOT 7
- Error: cannot open shared object file: No such file or directory. HOT 10
- How can I reuse a target directory from a workspace? HOT 2
- How to add :cache 500 to my ~/.config/evcxr/init.evcxr HOT 3
- shell command in evcxr jupyter HOT 1
- unresolved import `core::unicode` HOT 10
- evcxr works with atom/pulsar hydrogen HOT 2
- Errors not shown HOT 2
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 evcxr.