Nathaniel Smith added the comment:
High-level questions:
- How do you anticipate the integers naming domains will be allocated? Is it
like port numbers, and you'll maintain a registry somewhere ("domains 0-100 are
reserved for the interpreter, pycuda has reserved 100-110, ...")?
- You have it configurable at run-time whether the domain gets included in the
trace key, and if this is set to false (the default) then all the different
domains just get collapsed together. How is some downstream user like pycuda
expected to get sensible behavior out of this? Is the idea that pycuda should
be guarding all trace/untrace calls with if (use_domain) { ... }, or...?
(I guess it could be sensible to support disabling domain stuff -- though if I
were writing it I probably wouldn't bother just because it increases the number
of configurations that need to be tested etc. -- but if you're doing this then
IMO it should discard all trace/untrace calls that refer to non-default
domains, i.e. domain=False shouldn't mean "discard domain information", it
should mean "trace only the heap domain".)
- Is all this messing about with possibly-unaligned pointers etc. really easier
than having one-hashtable-per-domain? You could easily get away with a linearly
scanned array, even...
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue26588>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com