2017-08-25 06:46:16 +01:00
|
|
|
*.pyc
|
|
|
|
*.so
|
2018-07-17 03:42:32 +01:00
|
|
|
/.coverage
|
|
|
|
/.mypy_cache
|
2017-08-25 06:46:16 +01:00
|
|
|
/build
|
|
|
|
/coverage.info
|
2020-04-28 01:07:15 +01:00
|
|
|
/cscope.*
|
Rewrite drgn core in C
The current mixed Python/C implementation works well, but it has a
couple of important limitations:
- It's too slow for some common use cases, like iterating over large
data structures.
- It can't be reused in utilities written in other languages.
This replaces the internals with a new library written in C, libdrgn. It
includes Python bindings with mostly the same public interface as
before, with some important improvements:
- Types are now represented by a single Type class rather than the messy
polymorphism in the Python implementation.
- Qualifiers are a bitmask instead of a set of strings.
- Bit fields are not considered a separate type.
- The lvalue/rvalue terminology is replaced with reference/value.
- Structure, union, and array values are better supported.
- Function objects are supported.
- Program distinguishes between lookups of variables, constants, and
functions.
The C rewrite is about 6x as fast as the original Python when using the
Python bindings, and about 8x when using the C API directly.
Currently, the exposed API in C is fairly conservative. In the future,
the memory reader, type index, and object index APIs will probably be
exposed for more flexibility.
2019-03-22 23:27:46 +00:00
|
|
|
/dist
|
2019-04-04 09:27:23 +01:00
|
|
|
/docs/_build
|
2021-10-29 21:19:32 +01:00
|
|
|
/drgn-*.tar.gz
|
2018-07-17 03:42:32 +01:00
|
|
|
/drgn.egg-info
|
2020-10-20 10:27:22 +01:00
|
|
|
/drgn/internal/version.py
|
2018-07-17 03:42:32 +01:00
|
|
|
/htmlcov
|
2021-10-22 23:46:08 +01:00
|
|
|
/python-drgn-*.src.rpm
|
|
|
|
/python-drgn.spec
|
Rewrite drgn core in C
The current mixed Python/C implementation works well, but it has a
couple of important limitations:
- It's too slow for some common use cases, like iterating over large
data structures.
- It can't be reused in utilities written in other languages.
This replaces the internals with a new library written in C, libdrgn. It
includes Python bindings with mostly the same public interface as
before, with some important improvements:
- Types are now represented by a single Type class rather than the messy
polymorphism in the Python implementation.
- Qualifiers are a bitmask instead of a set of strings.
- Bit fields are not considered a separate type.
- The lvalue/rvalue terminology is replaced with reference/value.
- Structure, union, and array values are better supported.
- Function objects are supported.
- Program distinguishes between lookups of variables, constants, and
functions.
The C rewrite is about 6x as fast as the original Python when using the
Python bindings, and about 8x when using the C API directly.
Currently, the exposed API in C is fairly conservative. In the future,
the memory reader, type index, and object index APIs will probably be
exposed for more flexibility.
2019-03-22 23:27:46 +00:00
|
|
|
__pycache__
|