<commit_before>
#include <nstd/Console.h>
#include <nstd/Time.h>

void testMapStd(int iterations);
void_t testMapNStd(int iterations);
void testHashMapStd(int iterations);
void_t testHashMapNStd(int iterations);


const int mapTestIterations = 1000000;

int_t main(int_t argc, char_t* argv[])
{
  for (int i = 0; i < 3; ++i)
  {
    {
      Console::printf(_T("testMapStd...  "));
      timestamp_t startTime = Time::microTicks();
      testMapStd(mapTestIterations);
      timestamp_t duration = Time::microTicks() - startTime;
      Console::printf(_T("%lld microseconds\n"), duration);
    }

    {
      Console::printf(_T("testMapNStd... "));
      timestamp_t startTime = Time::microTicks();
      testMapNStd(mapTestIterations);
      timestamp_t duration = Time::microTicks() - startTime;
      Console::printf(_T("%lld microseconds\n"), duration);
    }
    {
      Console::printf(_T("testHashMapStd...  "));
      timestamp_t startTime = Time::microTicks();
      testHashMapStd(mapTestIterations);
      timestamp_t duration = Time::microTicks() - startTime;
      Console::printf(_T("%lld microseconds\n"), duration);
    }

    {
      Console::printf(_T("testHashMapNStd... "));
      timestamp_t startTime = Time::microTicks();
      testHashMapNStd(mapTestIterations);
      timestamp_t duration = Time::microTicks() - startTime;
      Console::printf(_T("%lld microseconds\n"), duration);
    }
  }

  return 0;
}<commit_msg>Add simple string performance test<commit_after>
#include <nstd/Console.h>
#include <nstd/Time.h>

void testMapStd(int iterations);
void_t testMapNStd(int iterations);
void testHashMapStd(int iterations);
void_t testHashMapNStd(int iterations);
void testStringStd(int iterations);
void_t testStringNStd(int iterations);


const int mapTestIterations = 1000000;

int_t main(int_t argc, char_t* argv[])
{
  for (int i = 0; i < 3; ++i)
  {
    {
      Console::printf(_T("testMapStd...  "));
      timestamp_t startTime = Time::microTicks();
      testMapStd(mapTestIterations);
      timestamp_t duration = Time::microTicks() - startTime;
      Console::printf(_T("%lld microseconds\n"), duration);
    }

    {
      Console::printf(_T("testMapNStd... "));
      timestamp_t startTime = Time::microTicks();
      testMapNStd(mapTestIterations);
      timestamp_t duration = Time::microTicks() - startTime;
      Console::printf(_T("%lld microseconds\n"), duration);
    }
    {
      Console::printf(_T("testHashMapStd...  "));
      timestamp_t startTime = Time::microTicks();
      testHashMapStd(mapTestIterations);
      timestamp_t duration = Time::microTicks() - startTime;
      Console::printf(_T("%lld microseconds\n"), duration);
    }

    {
      Console::printf(_T("testHashMapNStd... "));
      timestamp_t startTime = Time::microTicks();
      testHashMapNStd(mapTestIterations);
      timestamp_t duration = Time::microTicks() - startTime;
      Console::printf(_T("%lld microseconds\n"), duration);
    }
    {
      Console::printf(_T("testStringStd...  "));
      timestamp_t startTime = Time::microTicks();
      testStringStd(mapTestIterations);
      timestamp_t duration = Time::microTicks() - startTime;
      Console::printf(_T("%lld microseconds\n"), duration);
    }

    {
      Console::printf(_T("testStringNStd... "));
      timestamp_t startTime = Time::microTicks();
      testStringNStd(mapTestIterations);
      timestamp_t duration = Time::microTicks() - startTime;
      Console::printf(_T("%lld microseconds\n"), duration);
    }
  }

  return 0;
}
{'fraction_non_alphanumeric': 0.14682539682539683, 'fraction_numerical': 0.005668934240362812, 'mean_word_length': 3.7242302543507364, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1664766', 'n_tokens_mistral': 1156, 'n_tokens_neox': 1102, 'n_words': 200}