FORTRAN แบบเก่าต้องการให้โปรแกรมเมอร์ที่ต้องการให้เป็นส่วนหนึ่งของอาร์เรย์ที่มีอยู่ในฟังก์ชั่นที่จำเป็นในการส่งการอ้างอิงไปยังอาร์เรย์ทั้งหมดพร้อมกับค่าจำนวนเต็มตั้งแต่หนึ่งค่าขึ้นไปที่ระบุตัวห้อยเริ่มต้นและตัวห้อยสิ้นสุดหรือจำนวนรายการ . C ทำให้เป็นไปได้ที่จะทำให้สิ่งนี้ง่ายขึ้นในการส่งตัวชี้ไปยังจุดเริ่มต้นของส่วนที่สนใจพร้อมกับจำนวนองค์ประกอบ ในแง่ตรงนี้จะทำให้สิ่งต่าง ๆ เร็วขึ้น (ผ่านสองสิ่งมากกว่าสาม) อย่างไรก็ตามทางอ้อมอาจทำให้การทำงานช้าลงโดย จำกัด ประเภทของการเพิ่มประสิทธิภาพที่คอมไพเลอร์สามารถทำได้
พิจารณาฟังก์ชั่น:
void diff(float dest[], float src1[], float src2[], int n)
{
  for (int i=0; i<n; i++)
    dest[i] = src1[i] - src2[i];
}
ถ้าคอมไพเลอร์รู้ว่าพอยน์เตอร์แต่ละตัวจะระบุจุดเริ่มต้นของอาเรย์มันสามารถสร้างโค้ดที่จะทำหน้าที่ตามองค์ประกอบของอาเรย์ในแบบคู่ขนานหรือในลำดับใด ๆ เนื่องจากสำหรับ x! = y การดำเนินการบน dest [x ] จะไม่ส่งผลกระทบต่อ src1 [y] หรือ src2 [y] ตัวอย่างเช่นในบางระบบคอมไพเลอร์อาจได้รับประโยชน์จากการสร้างโค้ดที่เทียบเท่ากับ:
void dif(float dest[], float src1[], float src2[], int n)
{
  int i=0;
  float t1a,t1b,t2a,t2b,tsa,tsb;
  if (n > 2)
  {
    n-=4;
    t1a = src1[n+3]; t1b = src2[n+3]; t1b=src2[n+2]; t2b = src2[n+2];
    do
    {
      tsa = t1a-t2a;
      t1a = src1[n+1]; t2a = src2[n+1]; 
      tsb = t2b-t2b;
      dest[n+3] = tsa;
      t1b = src1[n]; t2b = src2[n]; 
      n-=2;
      dest[n+4] = tsb;
    } while(n >= 0);
    ... add some extra code to handle cleanup
  }
  else
    ... add some extra code to handle small values of n
}
โปรดทราบว่าทุกการดำเนินการที่โหลดหรือคำนวณค่าจะมีการดำเนินการอย่างน้อยหนึ่งครั้งระหว่างการดำเนินการกับการดำเนินการถัดไปที่ใช้ค่านั้น โปรเซสเซอร์บางตัวสามารถซ้อนการประมวลผลของการดำเนินการที่แตกต่างกันเมื่อตรงตามเงื่อนไขดังกล่าวซึ่งเป็นการปรับปรุงประสิทธิภาพ อย่างไรก็ตามโปรดทราบว่าเนื่องจากคอมไพเลอร์ C ไม่มีทางรู้ได้ว่าโค้ดจะไม่ถูกส่งผ่านพอยน์เตอร์ไปยังส่วนที่ทับซ้อนกันของอาร์เรย์ทั่วไปบางส่วนคอมไพเลอร์ C ไม่สามารถทำการแปลงข้างต้นได้ คอมไพเลอร์ของ FORTRAN ให้รหัสเทียบเท่า แต่สามารถและทำการเปลี่ยนแปลงดังกล่าวได้
ในขณะที่โปรแกรมเมอร์ C สามารถพยายามที่จะบรรลุผลการเปรียบเทียบโดยการเขียนโค้ดที่คลี่ลูปและทำการซ้อนทับการทำงานของการส่งผ่านที่อยู่ติดกันอย่างชัดเจนรหัสดังกล่าวสามารถลดประสิทธิภาพได้หากใช้ตัวแปรอัตโนมัติจำนวนมากที่คอมไพเลอร์ หน่วยความจำ เครื่องมือเพิ่มประสิทธิภาพของคอมไพเลอร์ FORTRAN น่าจะรู้มากกว่าโปรแกรมเมอร์เกี่ยวกับรูปแบบของการแทรกสอดที่จะให้ประสิทธิภาพที่ดีที่สุดในสถานการณ์ที่กำหนดและการตัดสินใจดังกล่าวมักจะดีที่สุดสำหรับคอมไพเลอร์ดังกล่าว ในขณะที่ C99 พยายามที่จะปรับปรุงสถานการณ์ของ C โดยการเพิ่มrestrictqualifier ซึ่งสามารถใช้ที่นี่ได้ถ้าdest[]เป็น array ที่แยกจากทั้งสองsrc1[]และsrc2[]หรือถ้าโปรแกรมเมอร์เพิ่ม loop แยกรุ่นของ loop เพื่อจัดการกับกรณีที่destถูกแยกจากกันsrc1และsrc2ที่ไหนsrc1[]และdestเท่ากันและsrc2เป็น disjoint ที่src2[]และdest[]เท่ากันและsrc1ถูก disjoint และที่ทั้งสามอาร์เรย์มีค่าเท่ากัน ในทางตรงกันข้าม FORTRAN สามารถจัดการกับทั้งสี่กรณีได้อย่างง่ายดายโดยใช้รหัสต้นฉบับเดียวกันและรหัสเครื่องเดียวกัน