About varocarbas.com

--

About me

--

Contact me

--

Visit customsolvers.com, another side of my work

--

Valid markup

--

Valid CSS

--

© 2015-2017 Alvaro Carballo Garcia

--

URL friendly

--

Optimised for 1920x1080 - Proudly mobile unfriendly

R&D projects RSS feed

All projects in full-screen mode

PDFs:

Project 10

Project 9

Project 8

FlexibleParser code analysis:

UnitParser

NumberParser

Tools:

Chromatic encryption

(v. 1.3)

Pages in customsolvers.com:

Upcoming additions

Failed projects

Active crawling bots:

Ranking type 2

(
)

FlexibleParser raw data:

Unit conversion (UnitParser)

Compound types (UnitParser)

Currently active or soon to be updated:

Domain ranking

FlexibleParser (DateParser)

NO NEW PROJECTS:
Project 10 is expected to be the last formal project of varocarbas.com. I will continue using this site as my main self-promotional R&D-focused online resource, but by relying on other more adequate formats like domain ranking.
Note that the last versions of all the successfully completed projects (5 to 10) will always be available.
PROJECT 7
Completed (47 days)
Completed (19 days)
Completed (14 days)
First contact with open .NET
Completed on 13-Feb-2016 (47 days) -- Updated on 19-Nov-2016

Project 7 in full-screenProject 7 in PDF

As already explained, I firstly came with the idea for this project after some interactions with the .NET community about decimal.Parse. ParseNumber is the method in charge of performing most of the string-analysis actions which are triggered when calling decimal.Parse/decimal.TryParse (or Parse/TryParse of any other numeric type). The main goal of this project is to come up with a more efficient version of ParseNumber (& related methods). Although most of my efforts have been focused on decimal (i.e., big proportion of the performance-comparison tests), I also considered other input situations (i.e., accounting for additional types in a few performance tests to confirm the decimal conclusions or when doing the final CoreRun.exe-based validation with ParseNumber_Validation.exe).

The whole optimisation process wasn't too easy; but setting up a reliable performance-comparison framework was much more difficult, as explained in the sections of the previous part (Preliminary ideas, Testing approaches & Definitive tests). I also found various issues whose effects on performance were proven less important than expected; all of them are included in the next section.

The pulled modifications were thoroughly tested under different conditions and confirmed to improve the performance of ParseNumber (and, consequently, of all the .NET numerical-type parsing methods). Additionally to getting lots of valuable insights into various issues (e.g., code optimisation of unsafe C# and performance measurements under extreme conditions), I also realised about some limitations in the current parsing methodology (what represented an additional confirmation of the need of the upcoming decimal.TryParseExact).