Skip to content
New issue

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

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

Already on GitHub? # to your account

2925-Integrate-latest-version-of-Hiedra #2926

Conversation

tinchodias
Copy link
Contributor

Last weeks I have invested time in Hiedra (source at: https://github.com/tinchodias/hiedra), that is already in Pharo since 6.0 but needed some extra love.

  • Adds support for FastTable, and it's optimized for it (keeps support for Spec's TreePresenter).
  • Better tests: more coverage and more understandable.
  • Added examples of use.
  • Improved comments in methods and classes.
  • More understandable code.

API changed so this commit includes the upgrade of the only user: Epicea.

…com/tinchodias/hiedra), that is already in Pharo since 6.0 but needed some extra love.

* Adds support for FastTable, and it's optimized for it (keeps support for Spec's TreePresenter).
* Better tests: more coverage and more understandable.
* Added examples of use.
* Improved comments in methods and classes.
* More understandable code.

API changed so this commit includes the upgrade of the only user: Epicea.
tinchodias added a commit to tinchodias/iceberg that referenced this pull request Mar 20, 2019
I adds a delay when the window is opened because it is not asynchronous. But I think the information it adds makes it worth. 
In small branches it was a few milliseconds in my laptop, and the worst case I tested is 500ms slowdown with the dev-1.0 branch of the iceberg repository (>2800 commits).
The rendering part is not significant in performance because it uses a kind of pagination. For example, if a fasttable is opened and only the top 20 rows are visible, only one "page" of 30 rows are rendered and cached initially. When user scrolls the table, more pages of 30 rows are rendered on demand.
What could be optimized yet is the graph model: when the fasttable is opened, Hiedra currently iterates over all the commits and parents to create the model. But I don't plan to work in this optimization for the moment... so please test it.

IMPORTANT: It works in latest Pharo 8 + PR #2926 (pharo-project/pharo#2926).
@Ducasse Ducasse merged commit 2b2ed61 into pharo-project:Pharo8.0 Mar 20, 2019
@Ducasse
Copy link
Member

Ducasse commented Mar 20, 2019

Thanks a LOT martin

@tinchodias tinchodias deleted the 2925-Integrate-latest-version-of-Hiedra branch March 20, 2019 13:35
@tinchodias tinchodias restored the 2925-Integrate-latest-version-of-Hiedra branch March 29, 2019 14:37
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants