Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add stats for upper bound on number of registers #130

Closed
wants to merge 1 commit into from

Conversation

iritkatriel
Copy link
Contributor

@iritkatriel iritkatriel commented Nov 4, 2022

Results of ./python.exe scripts/count_opcodes.py --registers ./packages/*:

Total: 
 75 errors; 
 9,946 files;
 235,684 code objects;
 3,669,436 lines;
 6,278,819 total registers for all code objects;
 361 #code objects with > 255 registers;
 235,323 #code objects with <= 255 registers;
 1,509,350 total size of co_consts;
 189,300 number of co_consts

(full results in a comment below).

@iritkatriel
Copy link
Contributor Author

iritkatriel commented Nov 4, 2022

./packages/Flask-2.2.2.tar.gz: 79 files; 1,724 code objects; 18,052 lines; 34,601 total registers for all code objects; 1 #code objects with > 255 registers; 1,723 #code objects with <= 255 registers; 8,835 total size of co_consts; 1,349 number of co_consts
./packages/Jinja2-3.1.2.tar.gz: 60 files; 1,971 code objects; 22,297 lines; 46,985 total registers for all code objects; 3 #code objects with > 255 registers; 1,968 #code objects with <= 255 registers; 11,713 total size of co_consts; 1,690 number of co_consts
./packages/MarkupSafe-2.1.1.tar.gz: 9 files; 100 code objects; 801 lines; 1,818 total registers for all code objects; 100 #code objects with <= 255 registers; 463 total size of co_consts; 76 number of co_consts
./packages/Pillow-9.3.0.tar.gz: 280 files; 4,144 code objects; 63,513 lines; 112,486 total registers for all code objects; 9 #code objects with > 255 registers; 4,135 #code objects with <= 255 registers; 29,717 total size of co_consts; 3,697 number of co_consts
./packages/PyJWT-2.6.0.tar.gz: 25 files; 418 code objects; 5,527 lines; 11,618 total registers for all code objects; 418 #code objects with <= 255 registers; 2,530 total size of co_consts; 377 number of co_consts
./packages/PyYAML-6.0b1.tar.gz: 44 files; 747 code objects; 9,121 lines; 18,282 total registers for all code objects; 747 #code objects with <= 255 registers; 3,670 total size of co_consts; 571 number of co_consts
./packages/SQLAlchemy-2.0.0b2.tar.gz: 634 files; 38,486 code objects; 525,760 lines; 971,486 total registers for all code objects; 61 #code objects with > 255 registers; 38,425 #code objects with <= 255 registers; 218,592 total size of co_consts; 28,448 number of co_consts
./packages/Werkzeug-2.2.2.tar.gz: 128 files; 2,698 code objects; 34,859 lines; 65,249 total registers for all code objects; 1 #code objects with > 255 registers; 2,697 #code objects with <= 255 registers; 17,237 total size of co_consts; 2,197 number of co_consts
./packages/aiobotocore-2.4.0.tar.gz: 29 files; 374 code objects; 5,288 lines; 9,540 total registers for all code objects; 374 #code objects with <= 255 registers; 1,844 total size of co_consts; 309 number of co_consts
./packages/aiohttp-4.0.0a1.tar.gz: 130 files; 4,838 code objects; 52,526 lines; 120,639 total registers for all code objects; 8 #code objects with > 255 registers; 4,830 #code objects with <= 255 registers; 25,147 total size of co_consts; 3,619 number of co_consts
./packages/aiosignal-1.2.0a0.tar.gz: 5 files; 28 code objects; 618 lines; 669 total registers for all code objects; 28 #code objects with <= 255 registers; 190 total size of co_consts; 23 number of co_consts
./packages/asn1crypto-1.5.1.tar.gz: 24 files; 1,009 code objects; 16,818 lines; 23,158 total registers for all code objects; 3 #code objects with > 255 registers; 1,006 #code objects with <= 255 registers; 7,466 total size of co_consts; 950 number of co_consts
./packages/async-timeout-4.0.2.tar.gz: 3 files; 68 code objects; 613 lines; 1,328 total registers for all code objects; 68 #code objects with <= 255 registers; 254 total size of co_consts; 47 number of co_consts
./packages/attrs-22.1.0.tar.gz: 49 files; 1,543 code objects; 15,923 lines; 31,179 total registers for all code objects; 1,543 #code objects with <= 255 registers; 7,795 total size of co_consts; 1,337 number of co_consts
./packages/awscli-1.9.9.tar.gz: 133 files; 1,979 code objects; 25,753 lines; 47,411 total registers for all code objects; 2 #code objects with > 255 registers; 1,977 #code objects with <= 255 registers; 10,490 total size of co_consts; 1,639 number of co_consts
./packages/azure-storage-blob-2.1.0.tar.gz: 17 files; 286 code objects; 10,550 lines; 11,786 total registers for all code objects; 286 #code objects with <= 255 registers; 1,965 total size of co_consts; 237 number of co_consts
./packages/beautifulsoup4-4.9.3.tar.gz: 9 errors; 16 files; 606 code objects; 7,150 lines; 13,393 total registers for all code objects; 1 #code objects with > 255 registers; 605 #code objects with <= 255 registers; 3,654 total size of co_consts; 546 number of co_consts
./packages/boto3-1.9.99.tar.gz: 38 files; 495 code objects; 7,218 lines; 11,130 total registers for all code objects; 495 #code objects with <= 255 registers; 2,125 total size of co_consts; 415 number of co_consts
./packages/botocore-1.9.9.tar.gz: 253 files; 5,362 code objects; 68,939 lines; 127,687 total registers for all code objects; 5 #code objects with > 255 registers; 5,357 #code objects with <= 255 registers; 31,419 total size of co_consts; 4,511 number of co_consts
./packages/cachetools-5.2.0.tar.gz: 18 files; 327 code objects; 2,646 lines; 6,001 total registers for all code objects; 327 #code objects with <= 255 registers; 1,153 total size of co_consts; 205 number of co_consts
./packages/certifi-2022.9.24.tar.gz: 4 files; 11 code objects; 192 lines; 258 total registers for all code objects; 11 #code objects with <= 255 registers; 90 total size of co_consts; 8 number of co_consts
./packages/cffi-1.9.1.tar.gz: 12 errors; 102 files; 2,538 code objects; 29,292 lines; 66,736 total registers for all code objects; 5 #code objects with > 255 registers; 2,533 #code objects with <= 255 registers; 17,625 total size of co_consts; 2,135 number of co_consts
./packages/chardet-5.0.0.tar.gz: 48 files; 247 code objects; 41,413 lines; 11,751 total registers for all code objects; 8 #code objects with > 255 registers; 239 #code objects with <= 255 registers; 7,908 total size of co_consts; 213 number of co_consts
./packages/charset-normalizer-3.0.0rc1.tar.gz: 26 files; 238 code objects; 5,453 lines; 6,293 total registers for all code objects; 1 #code objects with > 255 registers; 237 #code objects with <= 255 registers; 2,199 total size of co_consts; 194 number of co_consts
./packages/click-8.1.3.tar.gz: 63 files; 1,477 code objects; 16,971 lines; 34,044 total registers for all code objects; 1,477 #code objects with <= 255 registers; 8,703 total size of co_consts; 1,117 number of co_consts
./packages/colorama-0.4.6rc1.tar.gz: 23 files; 210 code objects; 1,914 lines; 4,406 total registers for all code objects; 210 #code objects with <= 255 registers; 919 total size of co_consts; 153 number of co_consts
./packages/cryptography-38.0.3.tar.gz: 234 files; 4,878 code objects; 66,038 lines; 124,859 total registers for all code objects; 2 #code objects with > 255 registers; 4,876 #code objects with <= 255 registers; 22,980 total size of co_consts; 3,332 number of co_consts
./packages/decorator-5.1.1.tar.gz: 5 files; 232 code objects; 2,892 lines; 3,591 total registers for all code objects; 232 #code objects with <= 255 registers; 781 total size of co_consts; 158 number of co_consts
./packages/docutils-0.9.1.tar.gz: 33 errors; 226 files; 1,509 code objects; 43,753 lines; 42,420 total registers for all code objects; 4 #code objects with > 255 registers; 1,505 #code objects with <= 255 registers; 17,815 total size of co_consts; 1,402 number of co_consts
./packages/et_xmlfile-1.1.0.tar.gz: 3 files; 15 code objects; 168 lines; 315 total registers for all code objects; 15 #code objects with <= 255 registers; 73 total size of co_consts; 12 number of co_consts
./packages/filelock-3.8.0.tar.gz: 11 files; 81 code objects; 989 lines; 1,878 total registers for all code objects; 81 #code objects with <= 255 registers; 484 total size of co_consts; 64 number of co_consts
./packages/frozenlist-1.3.1.tar.gz: 5 files; 68 code objects; 714 lines; 1,217 total registers for all code objects; 68 #code objects with <= 255 registers; 230 total size of co_consts; 31 number of co_consts
./packages/fsspec-2022.8.2.tar.gz: 87 files; 1,845 code objects; 24,528 lines; 48,280 total registers for all code objects; 1,845 #code objects with <= 255 registers; 10,546 total size of co_consts; 1,446 number of co_consts
./packages/future-0.9.0.tar.gz: 97 files; 1,729 code objects; 30,137 lines; 43,783 total registers for all code objects; 5 #code objects with > 255 registers; 1,724 #code objects with <= 255 registers; 14,181 total size of co_consts; 1,376 number of co_consts
./packages/google-api-core-2.9.0.tar.gz: 85 files; 1,318 code objects; 20,300 lines; 31,946 total registers for all code objects; 1,318 #code objects with <= 255 registers; 6,791 total size of co_consts; 1,081 number of co_consts
./packages/google-auth-2.9.1.tar.gz: 102 files; 1,671 code objects; 31,552 lines; 48,255 total registers for all code objects; 1 #code objects with > 255 registers; 1,670 #code objects with <= 255 registers; 9,650 total size of co_consts; 1,394 number of co_consts
./packages/google-cloud-bigquery-3.3.5.tar.gz: 124 files; 4,239 code objects; 68,146 lines; 124,463 total registers for all code objects; 3 #code objects with > 255 registers; 4,236 #code objects with <= 255 registers; 30,815 total size of co_consts; 3,598 number of co_consts
./packages/google-cloud-core-2.3.2.tar.gz: 19 files; 372 code objects; 4,577 lines; 9,333 total registers for all code objects; 372 #code objects with <= 255 registers; 2,005 total size of co_consts; 323 number of co_consts
./packages/google-cloud-storage-2.5.0.tar.gz: 51 files; 2,127 code objects; 38,418 lines; 65,541 total registers for all code objects; 3 #code objects with > 255 registers; 2,124 #code objects with <= 255 registers; 13,667 total size of co_consts; 1,776 number of co_consts
./packages/google-resumable-media-2.4.0.tar.gz: 35 files; 681 code objects; 13,902 lines; 19,851 total registers for all code objects; 681 #code objects with <= 255 registers; 3,685 total size of co_consts; 584 number of co_consts
./packages/googleapis-common-protos-1.6.0b9.tar.gz: 58 files; 146 code objects; 7,531 lines; 6,635 total registers for all code objects; 1 #code objects with > 255 registers; 145 #code objects with <= 255 registers; 3,635 total size of co_consts; 146 number of co_consts
./packages/greenlet-2.0.0rc5.tar.gz: 21 files; 421 code objects; 4,040 lines; 7,581 total registers for all code objects; 421 #code objects with <= 255 registers; 1,544 total size of co_consts; 301 number of co_consts
./packages/grpcio-1.9.1.tar.gz: 20 errors; 88 files; 1,605 code objects; 21,855 lines; 34,240 total registers for all code objects; 1,605 #code objects with <= 255 registers; 6,732 total size of co_consts; 1,171 number of co_consts
./packages/grpcio-status-1.50.0rc1.tar.gz: 6 files; 16 code objects; 303 lines; 316 total registers for all code objects; 16 #code objects with <= 255 registers; 92 total size of co_consts; 14 number of co_consts
./packages/idna-3.4.tar.gz: 17 files; 188 code objects; 12,054 lines; 3,868 total registers for all code objects; 1 #code objects with > 255 registers; 187 #code objects with <= 255 registers; 1,858 total size of co_consts; 182 number of co_consts
./packages/importlib_metadata-5.0.0.tar.gz: 25 files; 371 code objects; 2,732 lines; 6,227 total registers for all code objects; 371 #code objects with <= 255 registers; 1,354 total size of co_consts; 300 number of co_consts
./packages/importlib_resources-5.9.0.tar.gz: 29 files; 355 code objects; 2,126 lines; 5,919 total registers for all code objects; 355 #code objects with <= 255 registers; 1,165 total size of co_consts; 260 number of co_consts
./packages/isodate-0.6.1.tar.gz: 18 files; 164 code objects; 2,875 lines; 4,137 total registers for all code objects; 164 #code objects with <= 255 registers; 1,141 total size of co_consts; 148 number of co_consts
./packages/itsdangerous-2.1.2.tar.gz: 16 files; 156 code objects; 1,604 lines; 3,822 total registers for all code objects; 156 #code objects with <= 255 registers; 881 total size of co_consts; 141 number of co_consts
./packages/jmespath-1.0.1.tar.gz: 13 files; 284 code objects; 2,299 lines; 6,032 total registers for all code objects; 284 #code objects with <= 255 registers; 1,302 total size of co_consts; 214 number of co_consts
./packages/jsonschema-4.9.1.tar.gz: 28 files; 719 code objects; 9,195 lines; 17,348 total registers for all code objects; 719 #code objects with <= 255 registers; 4,149 total size of co_consts; 599 number of co_consts
./packages/lxml-4.9.1.tar.gz: 93 files; 3,403 code objects; 39,033 lines; 84,331 total registers for all code objects; 3 #code objects with > 255 registers; 3,400 #code objects with <= 255 registers; 18,117 total size of co_consts; 2,713 number of co_consts
./packages/multidict-6.0.2.tar.gz: 20 files; 406 code objects; 3,436 lines; 8,108 total registers for all code objects; 406 #code objects with <= 255 registers; 1,653 total size of co_consts; 254 number of co_consts
./packages/numpy-1.9.3.tar.gz: 1 errors; 351 files; 9,178 code objects; 166,716 lines; 242,302 total registers for all code objects; 16 #code objects with > 255 registers; 9,162 #code objects with <= 255 registers; 60,197 total size of co_consts; 7,583 number of co_consts
./packages/oauthlib-3.2.2.tar.gz: 139 files; 1,357 code objects; 20,801 lines; 33,863 total registers for all code objects; 1,357 #code objects with <= 255 registers; 7,944 total size of co_consts; 1,190 number of co_consts
./packages/openpyxl-3.2.0b1.tar.gz: 191 files; 2,227 code objects; 29,883 lines; 58,784 total registers for all code objects; 1 #code objects with > 255 registers; 2,226 #code objects with <= 255 registers; 11,305 total size of co_consts; 1,626 number of co_consts
./packages/packaging-21.3.tar.gz: 23 files; 720 code objects; 7,294 lines; 14,226 total registers for all code objects; 720 #code objects with <= 255 registers; 3,327 total size of co_consts; 472 number of co_consts
./packages/pandas-1.5.1.tar.gz: 1,361 files; 33,430 code objects; 560,850 lines; 1,012,117 total registers for all code objects; 63 #code objects with > 255 registers; 33,367 #code objects with <= 255 registers; 263,078 total size of co_consts; 27,826 number of co_consts
./packages/pip-9.0.3.tar.gz: 271 files; 5,593 code objects; 92,921 lines; 136,637 total registers for all code objects; 10 #code objects with > 255 registers; 5,583 #code objects with <= 255 registers; 33,202 total size of co_consts; 4,270 number of co_consts
./packages/platformdirs-2.5.2.tar.gz: 15 files; 146 code objects; 1,552 lines; 3,114 total registers for all code objects; 146 #code objects with <= 255 registers; 868 total size of co_consts; 143 number of co_consts
./packages/pluggy-1.0.0.dev0.tar.gz: 27 files; 476 code objects; 3,009 lines; 7,639 total registers for all code objects; 476 #code objects with <= 255 registers; 1,781 total size of co_consts; 348 number of co_consts
./packages/protobuf-4.21.9.tar.gz: 48 files; 979 code objects; 16,621 lines; 23,525 total registers for all code objects; 1 #code objects with > 255 registers; 978 #code objects with <= 255 registers; 4,535 total size of co_consts; 744 number of co_consts
./packages/psutil-5.9.3.tar.gz: 70 files; 2,042 code objects; 28,002 lines; 53,358 total registers for all code objects; 6 #code objects with > 255 registers; 2,036 #code objects with <= 255 registers; 11,277 total size of co_consts; 1,643 number of co_consts
./packages/psycopg2-binary-2.9.5.tar.gz: 53 files; 1,643 code objects; 18,743 lines; 38,826 total registers for all code objects; 1 #code objects with > 255 registers; 1,642 #code objects with <= 255 registers; 8,824 total size of co_consts; 1,302 number of co_consts
./packages/py-1.9.0.tar.gz: 75 files; 1,865 code objects; 15,278 lines; 40,126 total registers for all code objects; 1,865 #code objects with <= 255 registers; 8,965 total size of co_consts; 1,537 number of co_consts
./packages/pyOpenSSL-22.1.0.tar.gz: 18 files; 1,057 code objects; 16,025 lines; 25,742 total registers for all code objects; 2 #code objects with > 255 registers; 1,055 #code objects with <= 255 registers; 4,682 total size of co_consts; 930 number of co_consts
./packages/pyarrow-9.0.0.tar.gz: 98 files; 3,875 code objects; 64,242 lines; 118,034 total registers for all code objects; 11 #code objects with > 255 registers; 3,864 #code objects with <= 255 registers; 27,567 total size of co_consts; 3,207 number of co_consts
./packages/pyasn1-0.5.0rc2.tar.gz: 72 files; 2,469 code objects; 21,570 lines; 47,853 total registers for all code objects; 2,469 #code objects with <= 255 registers; 10,381 total size of co_consts; 1,847 number of co_consts
./packages/pyasn1_modules-0.3.0rc1.tar.gz: 272 files; 2,598 code objects; 40,453 lines; 60,154 total registers for all code objects; 13 #code objects with > 255 registers; 2,585 #code objects with <= 255 registers; 18,118 total size of co_consts; 2,476 number of co_consts
./packages/pycparser-2.21.tar.gz: 38 files; 1,061 code objects; 15,754 lines; 25,169 total registers for all code objects; 4 #code objects with > 255 registers; 1,057 #code objects with <= 255 registers; 6,433 total size of co_consts; 784 number of co_consts
./packages/pydantic-1.9.2.tar.gz: 76 files; 4,329 code objects; 36,069 lines; 89,473 total registers for all code objects; 13 #code objects with > 255 registers; 4,316 #code objects with <= 255 registers; 27,997 total size of co_consts; 3,795 number of co_consts
./packages/pyparsing-3.0.9.tar.gz: 122 files; 2,675 code objects; 48,932 lines; 69,021 total registers for all code objects; 6 #code objects with > 255 registers; 2,669 #code objects with <= 255 registers; 16,155 total size of co_consts; 1,934 number of co_consts
./packages/pyrsistent-0.9.4.tar.gz: 3 files; 375 code objects; 3,167 lines; 6,800 total registers for all code objects; 375 #code objects with <= 255 registers; 908 total size of co_consts; 194 number of co_consts
./packages/pytest-7.2.0.tar.gz: 250 files; 6,401 code objects; 84,202 lines; 154,211 total registers for all code objects; 5 #code objects with > 255 registers; 6,396 #code objects with <= 255 registers; 39,519 total size of co_consts; 5,508 number of co_consts
./packages/python-dateutil-2.8.2.tar.gz: 39 files; 1,627 code objects; 18,833 lines; 46,462 total registers for all code objects; 4 #code objects with > 255 registers; 1,623 #code objects with <= 255 registers; 9,415 total size of co_consts; 1,053 number of co_consts
./packages/pytz-2022.6.tar.gz: 10 files; 236 code objects; 3,876 lines; 5,165 total registers for all code objects; 236 #code objects with <= 255 registers; 1,139 total size of co_consts; 170 number of co_consts
./packages/requests-2.9.2.tar.gz: 81 files; 835 code objects; 17,531 lines; 18,988 total registers for all code objects; 835 #code objects with <= 255 registers; 4,335 total size of co_consts; 709 number of co_consts
./packages/requests-oauthlib-1.3.1.tar.gz: 23 files; 197 code objects; 3,122 lines; 5,251 total registers for all code objects; 197 #code objects with <= 255 registers; 1,316 total size of co_consts; 178 number of co_consts
./packages/requests-toolbelt-0.9.1.tar.gz: 62 files; 585 code objects; 6,742 lines; 12,506 total registers for all code objects; 585 #code objects with <= 255 registers; 2,850 total size of co_consts; 496 number of co_consts
./packages/rsa-4.9.tar.gz: 15 files; 133 code objects; 2,844 lines; 3,824 total registers for all code objects; 133 #code objects with <= 255 registers; 923 total size of co_consts; 125 number of co_consts
./packages/s3fs-2022.8.2.tar.gz: 13 files; 392 code objects; 7,569 lines; 11,625 total registers for all code objects; 1 #code objects with > 255 registers; 391 #code objects with <= 255 registers; 3,016 total size of co_consts; 344 number of co_consts
./packages/s3transfer-0.6.0.tar.gz: 50 files; 1,842 code objects; 19,614 lines; 40,180 total registers for all code objects; 1,842 #code objects with <= 255 registers; 7,390 total size of co_consts; 1,323 number of co_consts
./packages/scikit-learn-1.1.3.tar.gz: 842 files; 12,227 code objects; 334,987 lines; 435,632 total registers for all code objects; 36 #code objects with > 255 registers; 12,191 #code objects with <= 255 registers; 107,087 total size of co_consts; 10,587 number of co_consts
./packages/scipy-1.9.3.tar.gz: 978 files; 24,220 code objects; 428,670 lines; 715,119 total registers for all code objects; 30 #code objects with > 255 registers; 24,190 #code objects with <= 255 registers; 161,992 total size of co_consts; 19,396 number of co_consts
./packages/setuptools-9.1.tar.gz: 83 files; 1,588 code objects; 18,959 lines; 38,245 total registers for all code objects; 1 #code objects with > 255 registers; 1,587 #code objects with <= 255 registers; 7,832 total size of co_consts; 1,280 number of co_consts
./packages/six-1.9.0.tar.gz: 4 files; 227 code objects; 1,945 lines; 3,975 total registers for all code objects; 1 #code objects with > 255 registers; 226 #code objects with <= 255 registers; 1,120 total size of co_consts; 163 number of co_consts
./packages/soupsieve-2.3.2.post1.tar.gz: 96 files; 797 code objects; 11,569 lines; 17,918 total registers for all code objects; 797 #code objects with <= 255 registers; 5,152 total size of co_consts; 774 number of co_consts
./packages/tabulate-0.9.0.tar.gz: 11 files; 463 code objects; 7,643 lines; 11,702 total registers for all code objects; 2 #code objects with > 255 registers; 461 #code objects with <= 255 registers; 3,607 total size of co_consts; 404 number of co_consts
./packages/tomli-2.0.1.tar.gz: 4 files; 50 code objects; 819 lines; 1,564 total registers for all code objects; 50 #code objects with <= 255 registers; 436 total size of co_consts; 45 number of co_consts
./packages/tqdm-4.9.0.tar.gz: 23 files; 292 code objects; 5,158 lines; 7,759 total registers for all code objects; 292 #code objects with <= 255 registers; 1,968 total size of co_consts; 237 number of co_consts
./packages/typing_extensions-4.4.0.tar.gz: 2 files; 876 code objects; 5,701 lines; 14,362 total registers for all code objects; 2 #code objects with > 255 registers; 874 #code objects with <= 255 registers; 3,238 total size of co_consts; 600 number of co_consts
./packages/urllib3-1.9.1.tar.gz: 55 files; 706 code objects; 9,602 lines; 17,598 total registers for all code objects; 706 #code objects with <= 255 registers; 4,272 total size of co_consts; 627 number of co_consts
./packages/virtualenv-20.9.0.tar.gz: 148 files; 1,479 code objects; 12,600 lines; 35,707 total registers for all code objects; 1,479 #code objects with <= 255 registers; 6,984 total size of co_consts; 1,165 number of co_consts
./packages/websocket-client-1.4.2.tar.gz: 26 files; 337 code objects; 4,582 lines; 8,003 total registers for all code objects; 337 #code objects with <= 255 registers; 1,955 total size of co_consts; 284 number of co_consts
./packages/wheel-0.9.7.tar.gz: 23 files; 208 code objects; 2,347 lines; 5,449 total registers for all code objects; 208 #code objects with <= 255 registers; 1,194 total size of co_consts; 175 number of co_consts
./packages/wrapt-1.9.0.tar.gz: 6 files; 194 code objects; 1,756 lines; 3,211 total registers for all code objects; 194 #code objects with <= 255 registers; 446 total size of co_consts; 67 number of co_consts
./packages/yarl-1.8.1.tar.gz: 18 files; 663 code objects; 5,619 lines; 11,388 total registers for all code objects; 1 #code objects with > 255 registers; 662 #code objects with <= 255 registers; 3,222 total size of co_consts; 588 number of co_consts
./packages/zipp-3.9.1.tar.gz: 5 files; 91 code objects; 860 lines; 1,982 total registers for all code objects; 91 #code objects with <= 255 registers; 369 total size of co_consts; 68 number of co_consts
Total: 75 errors; 9,946 files; 235,684 code objects; 3,669,436 lines; 6,278,819 total registers for all code objects; 361 #code objects with > 255 registers; 235,323 #code objects with <= 255 registers; 1,509,350 total size of co_consts; 189,300 number of co_consts

Copy link
Contributor

@gvanrossum gvanrossum left a comment

Choose a reason for hiding this comment

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

Glad this old script is still useful!

len(co.co_cellvars) +
len(co.co_consts) +
len(co.co_freevars) +
len(co.co_names) +
Copy link
Contributor

Choose a reason for hiding this comment

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

I don’t see why names should go in registers. The name itself is not data to be loaded, it is a parameter to the instruction ( e.g. LOAD_ATTR).

same for co_varnames.

And isn’t co_lnlocals the sum of three others?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We don't need to merge this PR, it was just to get an idea. There were very few functions with >255 registers even with all this over-counting, so it's not going to be an issue if we need the occasional EXTENDED_ARGS.

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.

2 participants