Comments (4)
That's right, cache="async"
means to cache the column (make it non-dynamic), but do the caching asynchronously (in other threads). This is meant for long-running operations so that they're only done once and don't freeze up the interface. z'
should reset the cache manually if you want the results to change.
from visidata.
thanks @saulpw . i didn't know about z'
.
though it feels like caching on
and async on
could be orthogonal. that is, in this case i want cache off
and async on
. that is, asynchrony isn't a cache strategy it is an execution strategy.
from visidata.
Well, that wouldn't work how you want either, because VisiData recalculates its cells on every draw cycle. For a quick demonstration of this, try =random()
. It settles down after a second or so, but then will restart on every command, including movement. If we allowed "cache off and async on" as you suggest, it would spawn dozens of threads for each command.
Of course, we could have it recalc only when the sheet is modified. But the sheet is also considered modified more often than you would think--for instance, when you hide a column. So by default we assume calculations are not expensive, and if they are expensive, then they are expensive enough to be cached until the user triggers a cache reset.
from visidata.
because VisiData recalculates its cells on every draw cycle.
i noticed that the first time i derived a new column with a function that made a REST call over the wire. yikes!
but i memoized the function and that worked well. that was before i saw the cache Column option.
maybe i can get the behavior i am looking for by triggering a resetCache
on some cues.
from visidata.
Related Issues (20)
- [playback] choking on column name HOT 5
- visidata thinks ODS spreadsheets have 16K columns, 1M rows, uses all my memory and crashes HOT 6
- Trying to open quick reference (`gCtrl-h`) throws `NameError: name 'TextSheet' is not defined` HOT 1
- [loader] for linters: pylint, ruff, and more HOT 1
- [website] wikipedia example - wrong table HOT 4
- Dubious test failure on Python 3.12.4: edit-type, describe, describe-error HOT 2
- [question] vdsql duckdb in memory
- Guides: do guides support markdown tables? If so, which? HOT 6
- csv rows with a leading `#` HOT 1
- Guides: URL not working
- [question] Guides: How much to include? HOT 1
- pipx install seems to not install markdown filetype HOT 2
- [json numbers] Provide more configurability for json numbers HOT 3
- [save] nulls derived from other columns save as "str(None)" "float(None)" etc
- Mapping Ctrl-Semicolon and similar? HOT 3
- Double Quotation Character not working on Windows HOT 1
- About config display option and regex filters
- [] Feature request: Horizontal guide lines in plots HOT 10
- Menu rendering glitches on macOS HOT 4
- Add friendly view of PyTables structured HDF5 files
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 visidata.