关于设计和使用结果,我有一个简短的问题。我已经阅读了有关的优秀文章,它实际上符合我的需要,因为我需要访问DB中的数据,有些数据可能是不可用的(因此创建一个错误)。
假设我有以下域
type Main = A * B
type B =
{ B1 of float
B2 of string } // or any type, just took 2 simple ones)
如果不使用结果,则可以轻松地访问Main的所有内容:Main:
let a = main |> fst
let b1 = (snd B).B1
但是,假设我想使用像这样的函数来创建一个Main
val createM
最近,我决定优化我正在做的一些文件读取,因为正如每个人都说的那样,将大量数据读取到缓冲区,然后处理它比使用大量小读取更快。我的代码现在当然快多了,但在做了一些分析之后,似乎memcpy占用了很多时间。
我代码的要点是...
ifstream file("some huge file");
char buffer[0x1000000];
for (yada yada) {
int size = some arbitrary size usually around a megabyte;
file.read(buffer, size);
//Do stuff