regenerate some data sets (except automerge), putting the contents in modules

This commit is contained in:
2024-05-25 13:51:02 +01:00
parent b96539d348
commit e9339908ef
9 changed files with 179678 additions and 178219 deletions

9
.gitignore vendored
View File

@@ -8,11 +8,4 @@
/examples.du
/examples.ud
/svelte.txt
/svelte23.txt
/rust.txt
/rust23.txt
/seph.txt
/seph23.txt
/automerge.txt
/automerge23.txt
/out

File diff suppressed because one or more lines are too long

Binary file not shown.

81254
rust.sml

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

276549
seph.sml

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

View File

@@ -27,33 +27,36 @@ fun runTxnsTime arr =
end
fun compareTxns arr =
Vector.foldli (fn (idx, (pos, delNum, insStr), (rope, gapBuffer)) =>
let
val strSize = String.size insStr
Vector.foldli
(fn (idx, (pos, delNum, insStr), (rope, gapBuffer)) =>
let
val strSize = String.size insStr
val rope = if strSize > 0 then TinyRope.insert (pos, insStr, rope) else
rope
val gapBuffer = if strSize > 0 then GapBuffer.insert (pos, insStr,
gapBuffer) else gapBuffer
val rope =
if strSize > 0 then TinyRope.insert (pos, insStr, rope) else rope
val gapBuffer =
if strSize > 0 then GapBuffer.insert (pos, insStr, gapBuffer)
else gapBuffer
val ropeString = TinyRope.toString rope
val gapBufferString = GapBuffer.toString gapBuffer
in
if ropeString = gapBufferString then
(rope, gapBuffer)
else
let
val _ = print ("difference detected at txn number: " ^ (Int.toString idx) ^ "\n")
val _ = print "rope string: \n"
val _ = print (ropeString ^ "\n")
val _ = print "gap string: \n"
val _ = print (gapBufferString ^ "\n")
val _ = raise Empty
in
(rope, gapBuffer)
end
end
) (TinyRope.empty, GapBuffer.empty) arr
val ropeString = TinyRope.toString rope
val gapBufferString = GapBuffer.toString gapBuffer
in
if ropeString = gapBufferString then
(rope, gapBuffer)
else
let
val _ = print
("difference detected at txn number: " ^ (Int.toString idx)
^ "\n")
val _ = print "rope string: \n"
val _ = print (ropeString ^ "\n")
val _ = print "gap string: \n"
val _ = print (gapBufferString ^ "\n")
val _ = raise Empty
in
(rope, gapBuffer)
end
end) (TinyRope.empty, GapBuffer.empty) arr
fun runToString rope = GapBuffer.toString rope
@@ -77,26 +80,21 @@ fun write (fileName, rope) =
()
end
fun loop () = loop()
fun loop () = loop ()
fun main () =
let
(* Timing benchmarks. *)
val _ = runTxnsTime SvelteComponent.txns
val _ = runTxnsTime rust_arr
val _ = runTxnsTime seph_arr
val _ = runTxnsTime automerge_arr
val svelte = runTxnsTime SvelteComponent.txns
val rust = runTxnsTime RustCode.txns
val seph = runTxnsTime SephBlog.txns
val automerge = runTxnsTime automerge_arr
(* Tests for correctness; will fail if incorrect. *)
val svelte = runTxns SvelteComponent.txns
val rust = runTxns rust_arr
val seph = runTxns seph_arr
val automerge = runTxns automerge_arr
(* Tests for insertion correctness (compare against rope). *)
(** Tests for insertion correctness (compare against rope). **)
val _ = compareTxns SvelteComponent.txns
val _ = compareTxns rust_arr
val _ = compareTxns seph_arr
val _ = compareTxns RustCode.txns
val _ = compareTxns SephBlog.txns
val _ = compareTxns automerge_arr
(* Tests for line metadata. *)
@@ -107,10 +105,10 @@ fun main () =
val _ = Rope.verifyLines automerge
*)
val _ = write ("svelte_gap.txt", svelte)
val _ = write ("rust23_gap.txt", rust)
val _ = write ("seph23_gap.txt", seph)
val _ = write ("automerge_gap.txt", automerge)
val _ = write ("out/svelte_gap.txt", svelte)
val _ = write ("out/rust23_gap.txt", rust)
val _ = write ("out/seph23_gap.txt", seph)
val _ = write ("out/automerge_gap.txt", automerge)
in
loop ()
end