Skip to content

Conversation

@hjanetzek
Copy link
Member

No description provided.

- simplify memory management
a Node is valid when its shared_memory_holder is not null
rarely need m_dependencies, wrap it in a unique_ptr to require less
space in 'node' - or use forward list?
- check on which level node destruction should be inlined.
  since nodes are hold in continuous node_buckets expanding
  this destructor in the loop seems to slow things down
squshed:
avoid fetches in regex matchers

cleanup

refactor PlainScalar matchers

save

move ScanScalarEnd matchers to ScanScalar

remove remaining dynamic regexps

fixup

cleanup

add Source::get() : char
# Conflicts:
#	src/stream.cpp
# Conflicts:
#	src/scanner.cpp
#	src/scanscalar.cpp
#	src/scantoken.cpp

# Conflicts:
#	src/scanner.cpp
#	src/scantoken.cpp
# Conflicts:
#	src/scanner.cpp
# Conflicts:
#	src/scanner.cpp
@hjanetzek hjanetzek force-pushed the turbo-yaml branch 2 times, most recently from 2d376ad to 415c66d Compare December 12, 2016 12:26
hjanetzek and others added 6 commits December 12, 2016 14:32
- use single forward_list, with in/out iterators
  push simply moves free tokens from begin to end in the common case.
  pop just increments the out iterator.

- return Token& from push, only assign string only when needed

- pre-allocate free tokens

- nicely pool allocated Token list
- avoid inline stuff that is rarely used
Copy link
Member

@tallytalwar tallytalwar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Waiting on travis.

@tallytalwar tallytalwar merged commit be501d9 into tangram Dec 12, 2016
@tallytalwar tallytalwar deleted the turbo-yaml branch December 12, 2016 17:32
@lygstate
Copy link

this would speed up yaml?

@lygstate
Copy link

would this upstream?

@hjanetzek
Copy link
Member Author

Yes, this branch is up to ten times faster for parsing yaml in our tests. Changes of this branch may go upstream when the author is interested.

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.

3 participants