1
我有下面的类:快速保存负荷大数据
public class HPChartGraphPoint
{
public int Keyword { get; set; }
public List<long> Points { get; set; }
public HPChartGraphPoint()
{
Points = new List<long>();
}
public string SerializeToString()
{
var sb = new StringBuilder();
sb.Append(Keyword);
sb.Append(":");
for (int i = 0; i < Points.Count; i++)
{
sb.Append(Points[i]);
sb.Append(":");
}
return sb.ToString();
}
public static HPChartGraphPoint DesirializeFromString(string str)
{
var splitter = str.Split(new[]{":"},StringSplitOptions.RemoveEmptyEntries)
.Select(x => int.Parse(x)).ToArray();
var retPoint = new HPChartGraphPoint();
retPoint.Keyword = splitter[0];
for (int i = 1; i < splitter.Length; i++)
{
retPoint.Points.Add(splitter[i]);
}
return retPoint;
}
}
我需要存储和加载数以百万计的元素集合列表。如何快速和高效地执行内存?
编辑:
这里是代码存储
using (var sw = new StreamWriter(filePath))
{
for (int i = 0; i < HPChartGraphPointCollection.Count; i++)
{
sw.WriteLine(HPChartGraphPointCollection[i].SerializeToString());
}
}
您是否测量过大型数据集上代码块的性能?执行时间是多少?哪个时间适合你? – sll
@sll我刚刚开始存储一小时前的数据或东西,它仍然在工作。输出文件大小> 20GB。所以...我想要做得更快。 – Neir0
你是从数据库存储/加载? – c0deNinja