Skip to content

Implement Tasty Pickling Independent of the Compiler #7659

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

Closed
wants to merge 8 commits into from

Conversation

bishabosha
Copy link
Member

@bishabosha bishabosha commented Dec 2, 2019

based on #7616

Draft because currently this uses dotty syntax - which would need to be fixed if tasty-core must cross-compile with scala 2, however hopefully we can benchmark the changes.

I also intend that more things can be abstracted behind the Tasty interface to make its footprint smaller, but for now as few changes as possible were made to the original code

@bishabosha bishabosha requested a review from smarter December 2, 2019 12:31
@bishabosha
Copy link
Member Author

test performance please

@dottybot
Copy link
Member

dottybot commented Dec 2, 2019

performance test scheduled: 3 job(s) in queue, 1 running.

@dottybot
Copy link
Member

dottybot commented Dec 2, 2019

Performance test finished successfully:

Visit http://dotty-bench.epfl.ch/7659/ to see the changes.

Benchmarks is based on merging with master (3cc436a)

@bishabosha
Copy link
Member Author

test performance please

@dottybot
Copy link
Member

dottybot commented Dec 2, 2019

performance test scheduled: 2 job(s) in queue, 1 running.

@dottybot
Copy link
Member

dottybot commented Dec 2, 2019

Performance test finished successfully:

Visit http://dotty-bench.epfl.ch/7659/ to see the changes.

Benchmarks is based on merging with master (3cc436a)

@bishabosha
Copy link
Member Author

so the benchmark graph suggests that this technique had no impact on performance. However the interface is too rigid

@bishabosha
Copy link
Member Author

I am closing this due to all the changes to TASTy that would need updating.

Takeaways:

  • pickling is not super important to make generic: consumers of tasty are more widespread
  • There should be a low level api for byte manipulation, which specific implementations can tailor to their needs.
  • Instead of making a very rigid API to enforce a structure of trees, there should be a standard implementation that other implementations verify themselves against

@bishabosha bishabosha closed this Feb 6, 2020
@bishabosha bishabosha deleted the tasty_interface branch September 10, 2021 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants