Hi,
In arm we can see doInsertRecords is called after insertRecords function but in x86 insertRecords is directly calling _insertRecords function why?
I have seen this through perf data.
ARM -->
10.26%--mongo::RecordStore::insertRecords(mongo::OperationContext*, std::vector<mongo::Record, std::allocator<mongo::Record> >*, std::vector<mongo::Timestamp, std::allocator<mongo::Timestamp> > const&)
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | --10.19%--mongo::WiredTigerRecordStore::doInsertRecords(mongo::OperationContext*, std::vector<mongo::Record, std::allocator<mongo::Record> >*, std::vector<mongo::Timestamp, std::allocator<mongo::Timestamp> > const&)
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | --10.09%--mongo::WiredTigerRecordStore::_insertRecords(mongo::OperationContext*, mongo::Record*, mongo::Timestamp const*, unsigned long)
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |--4.25%--mongo::wiredTigerCursorInsert(mongo::OperationContext*, __wt_cursor*)
| |
x86 -->
| | | | | | | | | | | | | | |
8.34%--mongo::WiredTigerRecordStore::insertRecords(mongo::OperationContext*, std::vector<mongo::Record, std::allocator<mongo::Record> >*, std::vector<mongo::Timestamp, std::allocator<mongo::Timestamp> > const&)
| | | | | | | | | | | | | |
| | | | | | | | | | | | --8.09%--mongo::WiredTigerRecordStore::_insertRecords(mongo::OperationContext*, mongo::Record*, mongo::Timestamp const*, unsigned long)
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |--3.72%--mongo::WiredTigerCursor::WiredTigerCursor(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, bool, mongo::OperationContext*)
| | | | | | | | | | | | | |