Homec4science

Remove expensive, pointless typeachecking in custom fields

Authored by epriestley <git@epriestley.com> on Jul 31 2016, 18:25.

Description

Remove expensive, pointless typeachecking in custom fields

Summary:
Ref T11404. On my system, this improves performance by 10-15% for differential.revision.search.

PhutilTypeSpec provides high quality typechecking and is great for user-facing things that need good error messages.

However, it's also a bit slow, and pointless here (the API is internal and it only has one possible option).

I think I added this after writing checkMap just because I wanted to use it more often. My desire is sated after finding many reasonable ways to use it to give users high-quality error messages about things like configuration files.

Test Plan: Profiled differential.revision.search before and after change, saw wall time drop from ~220ms to ~195ms.

Reviewers: yelirekim, chad

Reviewed By: chad

Maniphest Tasks: T11404

Differential Revision: https://secure.phabricator.com/D16354

Details

Committed
epriestley <git@epriestley.com>Jul 31 2016, 20:25
Pushed
aubortJan 31 2017, 17:16
Parents
rPH8fd20e82fcc6: Improve Conduit performance of special edge-based custom Revision fields
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH64886b11d8d1: Remove expensive, pointless typeachecking in custom fields (authored by epriestley <git@epriestley.com>).Jul 31 2016, 20:25