Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For Issue #13, add
to_list
method toSortedDict
and some test cases for it. It takes one optional argumentn_levels
as an input parameter.The method will return a list of (key, value) tuples with the length specified in the input argument. If no argument is passed or the argument is larger than the length of self->data, return items with a length of
self->data
.Performance Result
I also updated
perf/performance_test.py
to benchmark read performance (get depth of 10 for different dict types).to_list
gives about 2x~2.5x improvement over.index
of the current implementation, and large improvement overto_dict
(when data length is large).Here are some benchmark log: