         var maxY:Number = 0;     
         var firstColInView:int = -1;
         var lastColInView:int = -1;
+
+        // columnWidth can be expensive to compute
+        var cw:Number = (variableColumnWidth) ? 0 : columnWidth;
+                
         
         for (var index:int = 0; index < count; index++)
         {

            layoutItem.setActualPosition(x, y);
            var dy:Number = layoutItem.actualSize.y;
            if (!variableColumnWidth)
                layoutItem.setActualSize(columnWidth, dy);

            // Update maxX,Y, first,lastVisibleIndex, and x
            var dx:Number = layoutItem.actualSize.x;

    private function fixedColumnWidthMeasure(layoutTarget:GroupBase):void
    {
        var cols:uint = layoutTarget.numLayoutItems;
        var visibleCols:uint = (requestedColumnCount == -1) ? cols : requestedColumnCount;

        var cw:Number = columnWidth; // can be expensive to compute
        var contentWidth:Number = (cols * cw) + ((cols > 1) ? (gap * (cols - 1)) : 0);
        var visibleWidth:Number = (visibleCols * cw) + ((visibleCols > 1) ? (gap * (visibleCols - 1)) : 0);
        
        var rowHeight:Number = layoutTarget.explicitHeight;
        var minRowHeight:Number = rowHeight;
