Skip to content

Instantly share code, notes, and snippets.

@bstaletic
Last active January 18, 2019 20:33
Show Gist options
  • Save bstaletic/8668526909e277f154e4e91b1a57dee3 to your computer and use it in GitHub Desktop.
Save bstaletic/8668526909e277f154e4e91b1a57dee3 to your computer and use it in GitHub Desktop.
regex benchmark
====================================================================================================================
CTRE
====================================================================================================================
Short lines
--------------------------------------------------------------------------------------------------------------------
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/1 13942 ns 13880 ns 50167
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/16 90985 ns 90820 ns 7750
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/256 1276019 ns 1274500 ns 549
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/4096 20341581 ns 20320151 ns 34
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/65536 321841967 ns 321586870 ns 2
IdentifierUtilsFixture_BigO 4911.13 N 4907.24 N
IdentifierUtilsFixture_RMS 0 % 0 %
Long lines
--------------------------------------------------------------------------------------------------------------------
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/1 88342 ns 88197 ns 7867
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/16 1297349 ns 1295468 ns 543
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/256 20752320 ns 20719943 ns 33
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/4096 350300122 ns 349882432 ns 2
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/65536 5743985729 ns 5737235877 ns 1
IdentifierUtilsFixture_BigO 87637.90 N 87534.91 N
IdentifierUtilsFixture_RMS 0 % 0 %
====================================================================================================================
Boost.Regex
====================================================================================================================
Short lines
--------------------------------------------------------------------------------------------------------------------
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/1 23702 ns 23618 ns 29604
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/16 108858 ns 108667 ns 6338
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/256 1445293 ns 1443252 ns 486
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/4096 22589763 ns 22565264 ns 31
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/65536 362160208 ns 361865247 ns 2
IdentifierUtilsFixture_BigO 5526.09 N 5521.58 N
IdentifierUtilsFixture_RMS 0 % 0 %
Long lines
--------------------------------------------------------------------------------------------------------------------
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/1 73004 ns 72854 ns 9670
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/16 895896 ns 894672 ns 778
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/256 14666153 ns 14629217 ns 47
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/4096 282067009 ns 281669573 ns 2
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/65536 4663058150 ns 4657280357 ns 1
IdentifierUtilsFixture_BigO 71143.50 N 71055.31 N
IdentifierUtilsFixture_RMS 0 % 0 %
====================================================================================================================
STL regex - libstdc++
====================================================================================================================
Short lines
--------------------------------------------------------------------------------------------------------------------
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/1 135937 ns 135739 ns 5125
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/16 232129 ns 231810 ns 3015
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/256 1762082 ns 1759585 ns 396
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/4096 25258575 ns 25234544 ns 27
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/65536 401476906 ns 401172637 ns 2
IdentifierUtilsFixture_BigO 6126.22 N 6121.57 N
IdentifierUtilsFixture_RMS 0 % 0 %
Long lines
--------------------------------------------------------------------------------------------------------------------
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/1 753302 ns 751658 ns 938
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/16 9852462 ns 9833216 ns 70
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/256 156024430 ns 155767979 ns 4
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/4096 2539534556 ns 2535986486 ns 1
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/65536 41221614769 ns 41160112959 ns 1
IdentifierUtilsFixture_BigO 628956.65 N 628018.49 N
IdentifierUtilsFixture_RMS 0 % 0 %
====================================================================================================================
STL regex - libc++
====================================================================================================================
Short lines
--------------------------------------------------------------------------------------------------------------------
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/1 20834 ns 20752 ns 33642
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/16 106089 ns 105890 ns 6617
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/256 1281281 ns 1279508 ns 549
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/4096 19933587 ns 19910024 ns 35
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/65536 346176370 ns 345852910 ns 2
IdentifierUtilsFixture_BigO 5280.61 N 5275.67 N
IdentifierUtilsFixture_RMS 1 % 1 %
Long lines
--------------------------------------------------------------------------------------------------------------------
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/1 1458683 ns 1456907 ns 474
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/16 23130418 ns 23100299 ns 30
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/256 370799861 ns 370403222 ns 2
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/4096 6016051095 ns 6009459822 ns 1
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/65536 97955409256 ns 97843940694 ns 1
IdentifierUtilsFixture_BigO 1494579.37 N 1492878.86 N
IdentifierUtilsFixture_RMS 0 % 0 %
====================================================================================================================
STL regex - MSVC
====================================================================================================================
Short lines
--------------------------------------------------------------------------------------------------------------------
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/1 105734 ns 104632 ns 8960
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/16 698225 ns 697545 ns 896
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/256 10041017 ns 10009766 ns 64
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/4096 160869075 ns 156250000 ns 4
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/65536 1983912200 ns 1984375000 ns 1
IdentifierUtilsFixture_BigO 30307.26 N 30309.91 N
IdentifierUtilsFixture_RMS 4 % 3 %
Long lines
--------------------------------------------------------------------------------------------------------------------
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/1 1007996 ns 1000977 ns 640
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/16 11612571 ns 11363636 ns 55
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/256 198693333 ns 203125000 ns 3
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/4096 4306228000 ns 4296875000 ns 1
IdentifierUtilsFixture/ExtractIdentifiersFromTagsFileBench/65536 70659207500 ns 70343750000 ns 1
IdentifierUtilsFixture_BigO 1078064.86 N 1073261.54 N
IdentifierUtilsFixture_RMS 0 % 0 %

Short lines tags file:

    for ( int i = 0; i < state.range( 0 ); ++i ) {
      std::string candidate = "";
      int letter = i;
      for ( int pos = 0; pos < 5; letter /= 26, ++pos ) {
        candidate = std::string( 1, letter % 26 + 'a' ) + candidate;
      }
      tag_file_contents += candidate + "\t/foo\tlanguage:C++\n";
    }

Long lines tags file

    for ( int i = 0; i < state.range( 0 ); ++i ) {
      std::string candidate = "";
      int letter = i;
      for ( int pos = 0; pos < 5; letter /= 26, ++pos ) {
        candidate = std::string( 1, letter % 26 + 'a' ) + candidate;
      }
      tag_file_contents += candidate + "asdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasd\t/foo\tasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdlanguage:C++\n";
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment