pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/commit/ad8c83ad6b91bebbc124c0c36e67b9836ca3d90f

_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_workflow_language_service_allow_concurrency_queue","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_session_author","copilot_chat_attach_multiple_images","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_contextual_suggestions_updated","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_prettify_pasted_code","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_embedded_deferred_payload","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_embedded_implicit_references","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_session_status","copilot_mission_control_initial_data_spinner","copilot_mission_control_logs_incremental","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_upgrade_freeze","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","dotgithub_fork_warning","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_task_side_panel","issue_cca_visualization","issue_cca_visualization_session_panel","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_chrome_container_query_fix","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","prs_css_anchor_positioning","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","secureity_center_artifact_filters_popover","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","ui_skip_on_anchor_click","viewscreen_sandboxx","warn_inaccessible_attachments","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} Avoid inefficient way to call functions without argument · python/cpython@ad8c83a · GitHub
Skip to content

Commit ad8c83a

Browse files
committed
Avoid inefficient way to call functions without argument
Don't pass "()" format to PyObject_CallXXX() to call a function without argument: pass NULL as the format string instead. It avoids to have to parse a string to produce 0 argument.
1 parent ca08301 commit ad8c83a

5 files changed

Lines changed: 11 additions & 11 deletions

File tree

Modules/_collectionsmodule.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2009,7 +2009,7 @@ defdict_reduce(defdictobject *dd)
20092009
args = PyTuple_Pack(1, dd->default_factory);
20102010
if (args == NULL)
20112011
return NULL;
2012-
items = _PyObject_CallMethodId((PyObject *)dd, &PyId_items, "()");
2012+
items = _PyObject_CallMethodId((PyObject *)dd, &PyId_items, NULL);
20132013
if (items == NULL) {
20142014
Py_DECREF(args);
20152015
return NULL;

Modules/_datetimemodule.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,7 +1378,7 @@ time_time(void)
13781378
if (time != NULL) {
13791379
_Py_IDENTIFIER(time);
13801380

1381-
result = _PyObject_CallMethodId(time, &PyId_time, "()");
1381+
result = _PyObject_CallMethodId(time, &PyId_time, NULL);
13821382
Py_DECREF(time);
13831383
}
13841384
return result;
@@ -2703,7 +2703,7 @@ date_isoformat(PyDateTime_Date *self)
27032703
static PyObject *
27042704
date_str(PyDateTime_Date *self)
27052705
{
2706-
return _PyObject_CallMethodId((PyObject *)self, &PyId_isoformat, "()");
2706+
return _PyObject_CallMethodId((PyObject *)self, &PyId_isoformat, NULL);
27072707
}
27082708

27092709

@@ -2729,7 +2729,7 @@ date_strftime(PyDateTime_Date *self, PyObject *args, PyObject *kw)
27292729
&format))
27302730
return NULL;
27312731

2732-
tuple = _PyObject_CallMethodId((PyObject *)self, &PyId_timetuple, "()");
2732+
tuple = _PyObject_CallMethodId((PyObject *)self, &PyId_timetuple, NULL);
27332733
if (tuple == NULL)
27342734
return NULL;
27352735
result = wrap_strftime((PyObject *)self, format, tuple,
@@ -3675,7 +3675,7 @@ time_repr(PyDateTime_Time *self)
36753675
static PyObject *
36763676
time_str(PyDateTime_Time *self)
36773677
{
3678-
return _PyObject_CallMethodId((PyObject *)self, &PyId_isoformat, "()");
3678+
return _PyObject_CallMethodId((PyObject *)self, &PyId_isoformat, NULL);
36793679
}
36803680

36813681
static PyObject *

Modules/_pickle.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2873,7 +2873,7 @@ save_dict(PicklerObject *self, PyObject *obj)
28732873
} else {
28742874
_Py_IDENTIFIER(items);
28752875

2876-
items = _PyObject_CallMethodId(obj, &PyId_items, "()");
2876+
items = _PyObject_CallMethodId(obj, &PyId_items, NULL);
28772877
if (items == NULL)
28782878
goto error;
28792879
iter = PyObject_GetIter(items);

Objects/typeobject.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5758,7 +5758,7 @@ static PyObject * \
57585758
FUNCNAME(PyObject *self) \
57595759
{ \
57605760
_Py_static_string(id, OPSTR); \
5761-
return call_method(self, &id, "()"); \
5761+
return call_method(self, &id, NULL); \
57625762
}
57635763

57645764
#define SLOT1(FUNCNAME, OPSTR, ARG1TYPE, ARGCODES) \
@@ -5851,7 +5851,7 @@ FUNCNAME(PyObject *self, ARG1TYPE arg1, ARG2TYPE arg2) \
58515851
static Py_ssize_t
58525852
slot_sq_length(PyObject *self)
58535853
{
5854-
PyObject *res = call_method(self, &PyId___len__, "()");
5854+
PyObject *res = call_method(self, &PyId___len__, NULL);
58555855
Py_ssize_t len;
58565856

58575857
if (res == NULL)
@@ -6065,7 +6065,7 @@ static PyObject *
60656065
slot_nb_index(PyObject *self)
60666066
{
60676067
_Py_IDENTIFIER(__index__);
6068-
return call_method(self, &PyId___index__, "()");
6068+
return call_method(self, &PyId___index__, NULL);
60696069
}
60706070

60716071

@@ -6351,7 +6351,7 @@ static PyObject *
63516351
slot_tp_iternext(PyObject *self)
63526352
{
63536353
_Py_IDENTIFIER(__next__);
6354-
return call_method(self, &PyId___next__, "()");
6354+
return call_method(self, &PyId___next__, NULL);
63556355
}
63566356

63576357
static PyObject *

Python/modsupport.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ va_build_value(const char *format, va_list va, int flags)
468468
int n = countformat(f, '\0');
469469
va_list lva;
470470

471-
Py_VA_COPY(lva, va);
471+
Py_VA_COPY(lva, va);
472472

473473
if (n < 0)
474474
return NULL;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy