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

Speed up identifier splitting #33

Closed
epage opened this issue Jul 14, 2019 · 0 comments · Fixed by #60
Closed

Speed up identifier splitting #33

epage opened this issue Jul 14, 2019 · 0 comments · Fixed by #60
Labels
enhancement Improve the expected good first issue Help wanted!
Milestone

Comments

@epage
Copy link
Collaborator

epage commented Jul 14, 2019

split_ident allocates into a Vec rather than lazily returning values as an iterator.

@epage epage added enhancement Improve the expected good first issue Help wanted! labels Jul 14, 2019
@epage epage added this to the 0.1 milestone Jul 14, 2019
@epage epage modified the milestones: 0.1, 0.2 Oct 25, 2019
epage referenced this issue in epage/typos Oct 25, 2019
Before
```
test process_code         ... bench:      25,627 ns/iter (+/- 2,062)
test process_corpus       ... bench:  20,192,253 ns/iter (+/- 603,029)
test process_empty        ... bench:       7,418 ns/iter (+/- 707)
test process_no_tokens    ... bench:       8,788 ns/iter (+/- 1,065)
test process_sherlock     ... bench:      30,420 ns/iter (+/- 2,699)
test process_single_token ... bench:       9,426 ns/iter (+/- 811)
test symbol_split_lowercase_long  ... bench:       2,763 ns/iter (+/- 246)
test symbol_split_lowercase_short ... bench:         110 ns/iter (+/- 12)
test symbol_split_mixed_long      ... bench:       7,373 ns/iter (+/- 1,111)
test symbol_split_mixed_short     ... bench:         357 ns/iter (+/- 86)
```

After
```
test process_code         ... bench:      20,973 ns/iter (+/- 1,717)
test process_corpus       ... bench:  15,826,059 ns/iter (+/- 1,016,628)
test process_empty        ... bench:       7,364 ns/iter (+/- 616)
test process_no_tokens    ... bench:       8,858 ns/iter (+/- 632)
test process_sherlock     ... bench:      24,707 ns/iter (+/- 3,482)
test process_single_token ... bench:       9,339 ns/iter (+/- 706)
test symbol_split_lowercase_long  ... bench:       2,727 ns/iter (+/- 151)
test symbol_split_lowercase_short ... bench:          46 ns/iter (+/- 2)
test symbol_split_mixed_long      ... bench:       5,753 ns/iter (+/- 441)
test symbol_split_mixed_short     ... bench:          76 ns/iter (+/- 3)
```

Fixes #33
@epage epage closed this as completed in #60 Oct 25, 2019
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement Improve the expected good first issue Help wanted!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant