Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sharing Pod 6 caches #1952

Closed
JJ opened this issue Apr 22, 2018 · 5 comments
Closed

Sharing Pod 6 caches #1952

JJ opened this issue Apr 22, 2018 · 5 comments
Assignees
Labels
big Issue consisting of many subissues wishlist "nice to have" issues; might require a lot of work or a big change or be low priority

Comments

@JJ
Copy link
Contributor

JJ commented Apr 22, 2018

The problem

Several utility programs build a cache of Pod 6 documents, only they do so in different ways.

  • htmlify puts it in a global variable, $*DR
  • pod-valid.t just ditches of the file as soon as it's checked.
  • pod2onepage actually builds and puts it in a .precomp data store, used as a cache. That is why when you change just one page it says (cached)
  • p6doc creates one index.data file, which is not used by anyone else.

Baseline is: many programs, some of them run in sequence, load and build Perl 6 objects out of Pod 6 files only to ditch it later. We should make them use the same objects, precomputed if they are available.

Suggestions

Could we maybe take a look at all this and create a single cache for docs that could speed up at least local testing? Would be part of #1823, but not the whole lot, of course...

@JJ JJ added JJ TPF Grant big Issue consisting of many subissues labels Apr 22, 2018
@JJ JJ removed the JJ TPF Grant label May 14, 2018
@coke coke self-assigned this May 31, 2018
@JJ JJ added the wishlist "nice to have" issues; might require a lot of work or a big change or be low priority label Jun 7, 2018
coke added a commit that referenced this issue Jun 21, 2018
Instead of generating pod files each time for each test that needs
it, generate a cache as we go, that uses the timestamp to insure
we don't regen them if not needed.

This temporarily removes the concurrency from some files.

Related to #1952
@coke
Copy link
Collaborator

coke commented Mar 13, 2019

What's left to do on this ticket? Pod::Cache is covering things from a testing standpoint.

@JJ
Copy link
Contributor Author

JJ commented Mar 13, 2019

Hum, not really. @finanalyst has been working on a Pod::Cached that would actually compile the Pod just once.

@coke
Copy link
Collaborator

coke commented Mar 13, 2019

Can you please clarify how Pod::Cache is insufficient? and link to the Pod::Cached work?

@JJ
Copy link
Contributor Author

JJ commented Mar 13, 2019 via email

@antoniogamiz
Copy link
Contributor

@coke Here is the code of Pod::cached => https://github.com/finanalyst/pod-cached

@JJ JJ assigned antoniogamiz and unassigned coke Jul 26, 2019
@JJ JJ closed this as completed in e9f3a9d Sep 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
big Issue consisting of many subissues wishlist "nice to have" issues; might require a lot of work or a big change or be low priority
Projects
None yet
Development

No branches or pull requests

4 participants
@JJ @coke @antoniogamiz and others