dotnet / dotnet/machinelearning

Perf: Optimization for DoubleParser (VTune)

Open
#3,007 0 comments 0 reactions 0 assignees View on GitHub
area-Core Priority:2 tenet-performance
Dominant language
C#
Stars
9.4k
Forks
2k
Avg merge
2d 20h
Merged PRs (30d)
11

Description

Benchmarking using VTune has found several bottlenecks in parsing Doubles from string in text reader
Perhaps we should consider optimizing this method:
For example, for training a FM it takes almost 37% of all clock cycles:

Function | Module | CPU Time
-- | -- | --
Microsoft::ML::Internal::Utilities::DoubleParser::TryParseCore | Microsoft.ML.Core.dll | 27.390s
CalculateGradientAndUpdateNative | factorizationmachinenative.dll | 22.609s
HelperImpl::FetchNextField | Microsoft.ML.Data.dll | 13.826s
CalculateIntermediateVariablesNative | factorizationmachinenative.dll | 12.201s
Microsoft::ML::Internal::Utilities::DoubleParser::TryParse | Microsoft.ML.Core.dll | 9.666s

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.