forked from xxq250/Nasal-Interpreter
🐛 fix generation bug in json module
This commit is contained in:
+18
-8
@@ -1,4 +1,5 @@
|
||||
use std.json;
|
||||
use module.libjson;
|
||||
use std.process_bar;
|
||||
|
||||
var ss = json.stringify({
|
||||
@@ -18,6 +19,7 @@ var ss = json.stringify({
|
||||
|
||||
println(ss, "\n");
|
||||
println(json.parse(ss), "\n");
|
||||
println(libjson.parse(ss), "\n");
|
||||
|
||||
var ss = json.stringify([{
|
||||
vec:[0,1,2,3],
|
||||
@@ -35,8 +37,9 @@ var ss = json.stringify([{
|
||||
|
||||
println(ss, "\n");
|
||||
println(json.parse(ss), "\n");
|
||||
println(libjson.parse(ss), "\n");
|
||||
|
||||
func {
|
||||
var test_json = func(json) {
|
||||
var bar = process_bar.high_resolution_bar(30);
|
||||
var tmp = [
|
||||
{t0:nil},
|
||||
@@ -50,18 +53,25 @@ func {
|
||||
];
|
||||
|
||||
srand();
|
||||
foreach(var h; tmp) {
|
||||
var name = keys(h)[0];
|
||||
h[name] = [];
|
||||
foreach(var hash; tmp) {
|
||||
var name = keys(hash)[0];
|
||||
hash[name] = [];
|
||||
print("\e[1000D", bar.bar(0));
|
||||
for(var i = 0; i<500; i+=1) {
|
||||
append(h[name], {id:i, content:int(rand()*1e7)});
|
||||
append(hash[name], {id:i, content:int(rand()*1e7)});
|
||||
print("\e[1000D", bar.bar((i+1)/500));
|
||||
}
|
||||
print("\e[1000D", bar.bar(1), " executing...\n");
|
||||
}
|
||||
print("\e[1000D", "\e["~str(size(tmp))~"A");
|
||||
foreach(var h; json.parse(json.stringify(tmp))) {
|
||||
println("\e[1000D", bar.bar(1), " parse done ", keys(h)[0], " ", size(h[keys(h)[0]]));
|
||||
foreach(var hash; json.parse(json.stringify(tmp))) {
|
||||
println("\e[1000D", bar.bar(1), " parse done ", keys(hash)[0], " ", size(hash[keys(hash)[0]]));
|
||||
}
|
||||
}();
|
||||
};
|
||||
|
||||
var stamp = maketimestamp();
|
||||
test_json(libjson);
|
||||
println("time usage: ", stamp.elapsedUSec()/1000, " ms");
|
||||
stamp.stamp();
|
||||
test_json(json);
|
||||
println("time usage: ", stamp.elapsedUSec()/1000, " ms");
|
||||
|
||||
Reference in New Issue
Block a user