There's some new field api caching done with Drupal 7.22. In order to fully benefit from it, contrib modules need to update their code a little.

Here's the issue:
[#1915646]

Here's the types of code we need to update:

Iterate on all fields of an entity or a bundle
A. The typical code pattern for this in earlier Drupal 7 releases was :

<?php
// Get all field definitions in advance to save individual function calls to field_info_field().
$fields = field_info_fields();
foreach (
field_info_instances($entity_type, $bundle) as $field_name => $instance) {
 
$field = $fields[$field_name];
 
// Do something with the $field and $instance
}
?>

B. The memory-efficient way after Drupal 7.22 :

<?php
foreach (field_info_instances($entity_type, $bundle) as $field_name => $instance) {
 
$field = field_info_field($field_name);
 
// Do something with the $field and $instance
}
?>

Iterate on all instances of a text field across all entity types and bundles
A. The typical code pattern for this in earlier Drupal 7 releases was :

<?php
foreach (field_info_instances() as $field_name => $instance) {
 
$field = $fields[$field_name];
  if (
$field['type'] == 'text') {
   
// Do something with the $field and $instance
 
}
}
?>

B. The memory-efficient way after Drupal 7.22 :

<?php
foreach (field_info_field_map() as $field_name => $data) {
  if (
$data['type'] == 'text') {
   
$field = $fields[$field_name];
    foreach (
$data['bundles'] as $entity_type => $bundles) {
      foreach (
$bundles as $bundle) {
       
$instance = field_info_instance($entity_type, $field_name, $bundle);
       
// Do something with the $field and $instance
     
}
    }
  }
}
?>

NOTE: field_info_field_map() was added in Drupal 7.22, so contributed D7 modules should only use it within a check on the VERSION constant. Need to test to see if you can use it via

<?php
if (VERSION >= '7.22') {
 
// snippet B.
}
else {
 
// snippet A.
}
?>

There's some places in message which might be able to benefit from a re-factor. I'll let the experts decided, but posting this issue to bring up the potential improvements.