Performance difference of separate DataWeave update function calls vs. nested update function calls

Viewed 27

What is the performance difference between these two DataWeave expressions?

In this example there are three update operators. The destination branch case statement interferes with the child .*flight.destination.longitude and .*flight.destination.latitude case statements.

First is three separate update operators chained together using infix notation:

reservationsXml 
update {
    case flight at .reservations.*reservation.*flight -> flight - "flightCode"  
}
update {
    . . . 
    //case dest at .reservations.*reservation.*flight.*destination -> dest
}
update {
    case long at .reservations.*reservation.*flight.destination.longitude -> 
        long as Number as String {format: "###.000"} 
    case lat at .reservations.*reservation.*flight.*destination.latitude ->        
        lat as Number as String {format: "###.000"} 
}
update {
    case dest at .reservations.*reservation.*flight.*destination -> dest - "ICAO"
}

vs. putting the second and third update operators inside the previous case statement.

update {
    case flight at .reservations.*reservation.*flight -> ( flight - "flightCode" )  
    update {
        case dest at .*destination -> 
            (dest - "ICAO")
            update {
                case long at .longitude -> 
                    long as Number as String {format: "###.000"} 
                case lat at .latitude -> 
                    lat as Number as String {format: "###.000"} 
            }
    }
}
0 Answers
Related