Оптимизация сериализации RoaringBitmap

Поместите этот код в статический класс > public static class ClassName{ }

public static DateTime ToDateTime(this string datetime, char dateSpliter = '-', char timeSpliter = ':', char millisecondSpliter = ',')
{
   try
   {
      datetime = datetime.Trim();
      datetime = datetime.Replace("  ", " ");
      string[] body = datetime.Split(' ');
      string[] date = body[0].Split(dateSpliter);
      int year = date[0].ToInt();
      int month = date[1].ToInt();
      int day = date[2].ToInt();
      int hour = 0, minute = 0, second = 0, millisecond = 0;
      if (body.Length == 2)
      {
         string[] tpart = body[1].Split(millisecondSpliter);
         string[] time = tpart[0].Split(timeSpliter);
         hour = time[0].ToInt();
         minute = time[1].ToInt();
         if (time.Length == 3) second = time[2].ToInt();
         if (tpart.Length == 2) millisecond = tpart[1].ToInt();
      }
      return new DateTime(year, month, day, hour, minute, second, millisecond);
   }
   catch
   {
      return new DateTime();
   }
}

Таким образом, вы можете использовать

string datetime = "2009-05-08 14:40:52,531";
DateTime dt0 = datetime.TToDateTime();

DateTime dt1 = "2009-05-08 14:40:52,531".ToDateTime();
DateTime dt5 = "2009-05-08".ToDateTime();
DateTime dt2 = "2009/05/08 14:40:52".ToDateTime('/');
DateTime dt3 = "2009/05/08 14.40".ToDateTime('/', '.');
DateTime dt4 = "2009-05-08 14:40-531".ToDateTime('-', ':', '-');
0
задан sattu 13 July 2018 в 20:10
поделиться

1 ответ

Кажется, что вы используете около 11 бит на целочисленное значение, что намного лучше, чем то, что вы бы сделали с Set<Int> или даже с массивом int s.

Что делает вы думаете, что ваш конкретный набор должен выиграть от сжатия запуска? Имеются ли у ваших данных много серий последовательных значений?

1
ответ дан Daniel Lemire 17 August 2018 в 12:10
поделиться
  • 1
    Нет, данные не имеют много последовательных целочисленных значений. – sattu 16 July 2018 в 13:51
  • 2
    @sattu, который объяснил бы, почему оптимизация запуска не дает никакой пользы. – Daniel Lemire 17 July 2018 в 15:43
Другие вопросы по тегам:

Похожие вопросы: