fix crash bug
This commit is contained in:
@@ -239,6 +239,8 @@ Java_com_uns_maincar_cpp_1interface_ColoredQRDecoder_GetSpecColorQR(JNIEnv *env,
|
||||
{
|
||||
cv::Mat next = global_colored_qr_decoder.GetCodeByColor(
|
||||
(uns::QRCode::Color) color).GetBinaryImage();
|
||||
if (next.empty())
|
||||
return nullptr;
|
||||
jobject bmp = GenerateBitmap(env, next.cols, next.rows);
|
||||
MatToBitmap(env, next, bmp);
|
||||
return bmp;
|
||||
|
||||
@@ -31,6 +31,8 @@ import android.widget.Toast;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.uns.maincar.R;
|
||||
import com.uns.maincar.communication.CommandDecoder;
|
||||
import com.uns.maincar.communication.CommandEncoder;
|
||||
@@ -58,8 +60,11 @@ import com.uns.maincar.tools.TextFilter;
|
||||
import com.uns.maincar.tools.camera.CameraOperator;
|
||||
import com.uns.maincar.tools.camera.CameraSearcher;
|
||||
|
||||
import org.tensorflow.lite.examples.detection.tflite.Classifier;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class MainActivity extends AppCompatActivity
|
||||
@@ -208,8 +213,10 @@ public class MainActivity extends AppCompatActivity
|
||||
case Commands.RECEIVE_TEXT_OCR:
|
||||
OCRRecognizeText();
|
||||
break;
|
||||
//收到车型识别指令,开始识别车型,回传识别成功的数据
|
||||
case Commands.RECEIVE_VEHICLE:
|
||||
dtc_client.Send(RecognizeVehicle());
|
||||
break;
|
||||
//收到未知指令,回传异常指令,表示无法解析当前指令
|
||||
default:
|
||||
CommandEncoder error = new CommandEncoder();
|
||||
@@ -300,8 +307,12 @@ public class MainActivity extends AppCompatActivity
|
||||
if (!success)
|
||||
success = ColoredQRDecoder.BeginQRDecode(currImage, true);
|
||||
if (!success)
|
||||
{
|
||||
ToastLog("QR Decoder: Init Failure.", false, true);
|
||||
return encoder.GenerateCommand(Commands.QR_FAILED, (byte) 0, (byte) 0, (byte) 0);
|
||||
}
|
||||
String result = ColoredQRDecoder.DecodeSpecColorQR(target_color);
|
||||
ToastLog("QR Decoder Result: " + result, false, true);
|
||||
if (Objects.equals(result, ERR_COLOR_INVALIDATE) || Objects.equals(result, ERR_IMAGE_GENERATOR_FAILED) || Objects.equals(result, ERR_DECODE_FAILED))
|
||||
return encoder.GenerateCommand(Commands.QR_FAILED, (byte) 0, (byte) 0, (byte) 0);
|
||||
else
|
||||
@@ -432,10 +443,61 @@ public class MainActivity extends AppCompatActivity
|
||||
return encoder.GenerateCommand();
|
||||
}*/
|
||||
//交通标志改用开源AI模型识别
|
||||
Gson json = new Gson();
|
||||
String result = TS_Detector.processImage(currImage);
|
||||
ToastLog("Traffic Sign: " + result, false, true);
|
||||
try
|
||||
{
|
||||
List<Classifier.Recognition> data = json.fromJson(result, new TypeToken<List<Classifier.Recognition>>()
|
||||
{
|
||||
}.getType());
|
||||
if (data.size() <= 0)
|
||||
return encoder.GenerateCommand(Commands.TRAFFIC_SIGN_FAILED, (byte) 0x00, (byte) 0x00, (byte) 0x00);
|
||||
else
|
||||
{
|
||||
int max_index = 0;
|
||||
double max_confidence = 0.0;
|
||||
for (int i = 0; i < data.size(); i++)
|
||||
{
|
||||
if ((data.get(i) != null) && (data.get(i).getConfidence() > max_confidence))
|
||||
{
|
||||
max_index = i;
|
||||
max_confidence = ((Classifier.Recognition) data.get(i)).getConfidence();
|
||||
}
|
||||
}
|
||||
encoder.AddMainCommand(Commands.TRAFFIC_SIGN_SUCCESS);
|
||||
switch (data.get(max_index).getTitle())
|
||||
{
|
||||
case "go_straight":
|
||||
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_STRAIGHT, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
case "no_turn":
|
||||
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_NO_ENTRY, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
case "turn_around":
|
||||
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_U_TURN, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
case "turn_left":
|
||||
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_TURN_LEFT, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
case "turn_right":
|
||||
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_TURN_RIGHT, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
case "no_straight":
|
||||
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_NO_STRAIGHT, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
default:
|
||||
encoder.AddMainCommand(Commands.TRAFFIC_SIGN_FAILED);
|
||||
break;
|
||||
}
|
||||
return encoder.GenerateCommand();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return encoder.GenerateCommand(Commands.TRAFFIC_SIGN_FAILED, (byte) 0x00, (byte) 0x00, (byte) 0x00);
|
||||
}
|
||||
}
|
||||
|
||||
//识别静态文本
|
||||
private void OCRRecognizeText()
|
||||
@@ -478,10 +540,61 @@ public class MainActivity extends AppCompatActivity
|
||||
{
|
||||
CommandEncoder encoder = new CommandEncoder();
|
||||
//使用开源AI模型识别车型
|
||||
Gson json = new Gson();
|
||||
String result = VID_Detector.processImage(currImage);
|
||||
ToastLog("Vehicle: " + result, false, true);
|
||||
try
|
||||
{
|
||||
List<Classifier.Recognition> data = json.fromJson(result, new TypeToken<List<Classifier.Recognition>>()
|
||||
{
|
||||
}.getType());
|
||||
if (data.size() <= 0)
|
||||
return encoder.GenerateCommand(Commands.VEHICLE_FAILURE, (byte) 0x00, (byte) 0x00, (byte) 0x00);
|
||||
else
|
||||
{
|
||||
int max_index = 0;
|
||||
double max_confidence = 0.0;
|
||||
for (int i = 0; i < data.size(); i++)
|
||||
{
|
||||
if ((data.get(i) != null) && (data.get(i).getConfidence() > max_confidence))
|
||||
{
|
||||
max_index = i;
|
||||
max_confidence = ((Classifier.Recognition) data.get(i)).getConfidence();
|
||||
}
|
||||
}
|
||||
encoder.AddMainCommand(Commands.VEHICLE_SUCCESS);
|
||||
switch (data.get(max_index).getTitle())
|
||||
{
|
||||
case "bike":
|
||||
encoder.AddData(Commands.VEHICLE_TYPE_BIKE, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
case "motor":
|
||||
encoder.AddData(Commands.VEHICLE_TYPE_MOTOR, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
case "car":
|
||||
encoder.AddData(Commands.VEHICLE_TYPE_CAR, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
case "truck":
|
||||
encoder.AddData(Commands.VEHICLE_TYPE_TRUCK, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
case "van":
|
||||
encoder.AddData(Commands.VEHICLE_TYPE_VAN, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
case "bus":
|
||||
encoder.AddData(Commands.VEHICLE_TYPE_BUS, (byte) 0x00, (byte) 0x00);
|
||||
break;
|
||||
default:
|
||||
encoder.AddMainCommand(Commands.VEHICLE_FAILURE);
|
||||
break;
|
||||
}
|
||||
return encoder.GenerateCommand();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return encoder.GenerateCommand(Commands.VEHICLE_FAILURE, (byte) 0x00, (byte) 0x00, (byte) 0x00);
|
||||
}
|
||||
}
|
||||
|
||||
//数组转字符串,仅用于调试输出
|
||||
private String ByteArray2String(byte[] arr)
|
||||
@@ -657,7 +770,6 @@ public class MainActivity extends AppCompatActivity
|
||||
CommandEncoder encoder = new CommandEncoder();
|
||||
dtc_client.ThreadSend(encoder.GenerateCommand(Commands.TFT_PAGE_DOWN, (byte) 0, (byte) 0, (byte) 0));
|
||||
ToastLog("TFT Page Down Command Send.", false, true);
|
||||
context.finish();
|
||||
});
|
||||
|
||||
context.findViewById(R.id.btn_movement_control).setOnClickListener(view -> startActivity(new Intent(this, MovementController.class)));
|
||||
@@ -688,7 +800,7 @@ public class MainActivity extends AppCompatActivity
|
||||
|
||||
context.findViewById(R.id.btn_os_vehicle).setOnClickListener(view ->
|
||||
{
|
||||
String res = TS_Detector.processImage(currImage);
|
||||
String res = VID_Detector.processImage(currImage);
|
||||
ToastLog("Vehicle Result: " + res, false, false);
|
||||
context.finish();
|
||||
});
|
||||
|
||||
@@ -36,6 +36,11 @@ import java.util.Map;
|
||||
|
||||
public class ShapeDetector
|
||||
{
|
||||
static
|
||||
{
|
||||
System.loadLibrary("opencv_java4");
|
||||
}
|
||||
|
||||
//目标类的简写名称
|
||||
private static final String TAG = ShapeDetector.class.getSimpleName();
|
||||
//轮廓绘制/轮廓统计
|
||||
@@ -114,7 +119,8 @@ public class ShapeDetector
|
||||
*/
|
||||
public void shapePicProcess(Bitmap inputBitmap)
|
||||
{
|
||||
if (inputBitmap == null) return;
|
||||
if (inputBitmap == null)
|
||||
return;
|
||||
/* openCV创建用来存储图像信息的内存对象 */
|
||||
Mat srcMat = new Mat();
|
||||
/* 转化为Mat对象 */
|
||||
@@ -133,6 +139,7 @@ public class ShapeDetector
|
||||
return;
|
||||
ColorCounts.clear();
|
||||
/* 保存用 */
|
||||
BitmapProcess.getInstance();
|
||||
BitmapProcess.saveBitmap("TFTAutoCutter", srcMat);
|
||||
/* 颜色形状分析 */
|
||||
Identify(srcMat, ColorHSV.yellowHSV1, "黄色");
|
||||
|
||||
@@ -33,6 +33,11 @@ import java.util.Locale;
|
||||
|
||||
public class BitmapProcess
|
||||
{
|
||||
static
|
||||
{
|
||||
System.loadLibrary("opencv_java4");
|
||||
}
|
||||
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
private static BitmapProcess mInstance;
|
||||
private Context mContext;
|
||||
@@ -82,7 +87,8 @@ public class BitmapProcess
|
||||
*/
|
||||
public static String saveBitmap(String name, Bitmap bm)
|
||||
{
|
||||
if (bm == null) return "错误,没有图片!";
|
||||
if (bm == null)
|
||||
return "错误,没有图片!";
|
||||
return Build.VERSION.SDK_INT < 29 ? saveImageOld(name, bm) : mInstance.saveImageNew(name, bm);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Copyright (c) 2023. UnknownNetworkService Group
|
||||
* This file is created by UnknownObject at 2023 - 6 - 17
|
||||
*/
|
||||
|
||||
package com.uns.maincar.tools;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.Environment;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
|
||||
public class ImageSaver
|
||||
{
|
||||
private final String main_storage_path = Environment.getExternalStorageDirectory().getPath() + File.separator + "MainCar";
|
||||
private final String storage_path = main_storage_path + File.separator + "Temp_OCR_Image";
|
||||
private String saved_file;
|
||||
|
||||
private boolean PrepareDirectory()
|
||||
{
|
||||
try
|
||||
{
|
||||
File main_dir = new File(main_storage_path);
|
||||
File cl_dir = new File(storage_path);
|
||||
if (!main_dir.exists())
|
||||
if (!main_dir.mkdirs())
|
||||
return false;
|
||||
if (!cl_dir.exists())
|
||||
if (!cl_dir.mkdirs())
|
||||
return false;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean CopyImage(Bitmap img, String storage_path, String file_name)
|
||||
{
|
||||
try
|
||||
{
|
||||
saved_file = storage_path + File.separator + file_name;
|
||||
File dir = new File(storage_path);
|
||||
File file = new File(saved_file);
|
||||
if (!dir.exists())
|
||||
{
|
||||
if (!dir.mkdirs())
|
||||
return false;
|
||||
}
|
||||
if (file.exists())
|
||||
if (!file.delete())
|
||||
return false;
|
||||
FileOutputStream fos = new FileOutputStream(saved_file);
|
||||
img.compress(Bitmap.CompressFormat.JPEG, 100, fos);
|
||||
fos.flush();
|
||||
fos.close();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean SaveImage(Bitmap img, String file_name)
|
||||
{
|
||||
if (PrepareDirectory())
|
||||
return CopyImage(img, storage_path, file_name);
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
public String GetSavedFilePath()
|
||||
{
|
||||
return saved_file;
|
||||
}
|
||||
}
|
||||
@@ -218,7 +218,7 @@
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<Button
|
||||
@@ -245,4 +245,18 @@
|
||||
android:layout_weight="1"
|
||||
android:text="黄色\n二维码识别" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_python_ocr"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="3dp"
|
||||
android:layout_weight="1"
|
||||
android:text="基于Python的OCR" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
+3
@@ -7,3 +7,6 @@ generate_cxx_metadata completed in 52ms
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
generate_cxx_metadata 24ms
|
||||
|
||||
|
||||
+2
@@ -1,2 +1,4 @@
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
|
||||
+2
@@ -1,2 +1,4 @@
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
|
||||
+3
-3
@@ -11,7 +11,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 816914465
|
||||
"memoizedHashCode": 2083485280
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -25,7 +25,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 1891328276
|
||||
"memoizedHashCode": -1137068205
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -39,6 +39,6 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -310096087
|
||||
"memoizedHashCode": 956474728
|
||||
}
|
||||
]
|
||||
+3
-3
@@ -11,7 +11,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -124082499
|
||||
"memoizedHashCode": -724465594
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -25,7 +25,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 1118177264
|
||||
"memoizedHashCode": 517794169
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -39,6 +39,6 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 802523847
|
||||
"memoizedHashCode": 202140752
|
||||
}
|
||||
]
|
||||
+8
@@ -21,3 +21,11 @@ generate_cxx_metadata completed in 643ms
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
|
||||
+11
@@ -203,3 +203,14 @@ generate_cxx_metadata
|
||||
create-invalidation-state 24ms
|
||||
generate_cxx_metadata completed in 29ms
|
||||
|
||||
# C/C++ build system timings
|
||||
generate_cxx_metadata
|
||||
create-invalidation-state 18ms
|
||||
generate_cxx_metadata completed in 23ms
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
|
||||
+3
-3
@@ -11,7 +11,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 2061007653
|
||||
"memoizedHashCode": 1460624558
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -25,7 +25,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -301269928
|
||||
"memoizedHashCode": -901653023
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -39,6 +39,6 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 497529435
|
||||
"memoizedHashCode": -102853660
|
||||
}
|
||||
]
|
||||
+3
-3
@@ -11,7 +11,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 1982844983
|
||||
"memoizedHashCode": 1382461888
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -25,7 +25,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 1228193880
|
||||
"memoizedHashCode": 627810785
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -39,6 +39,6 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 1645904618
|
||||
"memoizedHashCode": 1045521523
|
||||
}
|
||||
]
|
||||
+3
-3
@@ -11,7 +11,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -464563815
|
||||
"memoizedHashCode": -1242221650
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -25,7 +25,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 1657535573
|
||||
"memoizedHashCode": 879877738
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -39,6 +39,6 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -1591574367
|
||||
"memoizedHashCode": 1925735094
|
||||
}
|
||||
]
|
||||
+3
-3
@@ -11,7 +11,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -1649121483
|
||||
"memoizedHashCode": 1868187978
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -25,7 +25,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 1396630513
|
||||
"memoizedHashCode": 618972678
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -39,6 +39,6 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -722515137
|
||||
"memoizedHashCode": -1500172972
|
||||
}
|
||||
]
|
||||
+6
@@ -9,3 +9,9 @@ generate_cxx_metadata completed in 18ms
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
|
||||
+5
@@ -112,3 +112,8 @@ generate_cxx_metadata completed in 23ms
|
||||
|
||||
# C/C++ build system timings
|
||||
|
||||
# C/C++ build system timings
|
||||
generate_cxx_metadata
|
||||
create-invalidation-state 21ms
|
||||
generate_cxx_metadata completed in 26ms
|
||||
|
||||
|
||||
+3
-3
@@ -11,7 +11,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 2049212457
|
||||
"memoizedHashCode": 1448829362
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -25,7 +25,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 1697297893
|
||||
"memoizedHashCode": 1096914798
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -39,6 +39,6 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 485734239
|
||||
"memoizedHashCode": -114648856
|
||||
}
|
||||
]
|
||||
+3
-3
@@ -11,7 +11,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -1338213337
|
||||
"memoizedHashCode": -2115871172
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -25,7 +25,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -392200417
|
||||
"memoizedHashCode": -1169858252
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -39,6 +39,6 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -1675153702
|
||||
"memoizedHashCode": 1842155759
|
||||
}
|
||||
]
|
||||
@@ -11,6 +11,6 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 850788318
|
||||
"memoizedHashCode": -1235839491
|
||||
}
|
||||
]
|
||||
@@ -22,3 +22,15 @@ create_cxx_tasks
|
||||
create-initial-cxx-model completed in 95ms
|
||||
create_cxx_tasks completed in 95ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 39ms
|
||||
create-module-model completed in 40ms
|
||||
create-module-model
|
||||
create-cmake-model 37ms
|
||||
create-module-model completed in 39ms
|
||||
create-initial-cxx-model completed in 91ms
|
||||
create_cxx_tasks completed in 92ms
|
||||
|
||||
|
||||
@@ -22,3 +22,15 @@ create_cxx_tasks
|
||||
create-initial-cxx-model completed in 83ms
|
||||
create_cxx_tasks completed in 83ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 39ms
|
||||
create-module-model completed in 40ms
|
||||
create-module-model
|
||||
create-cmake-model 40ms
|
||||
create-module-model completed in 41ms
|
||||
create-initial-cxx-model completed in 97ms
|
||||
create_cxx_tasks completed in 98ms
|
||||
|
||||
|
||||
@@ -190,3 +190,51 @@ create_cxx_tasks
|
||||
create-initial-cxx-model completed in 94ms
|
||||
create_cxx_tasks completed in 94ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 36ms
|
||||
create-module-model completed in 38ms
|
||||
create-module-model
|
||||
create-cmake-model 51ms
|
||||
create-module-model completed in 54ms
|
||||
create-initial-cxx-model completed in 117ms
|
||||
create_cxx_tasks completed in 118ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 37ms
|
||||
create-module-model completed in 39ms
|
||||
create-module-model
|
||||
create-cmake-model 38ms
|
||||
create-module-model completed in 39ms
|
||||
create-initial-cxx-model completed in 92ms
|
||||
create_cxx_tasks completed in 92ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 38ms
|
||||
create-module-model completed in 40ms
|
||||
create-module-model
|
||||
create-cmake-model 37ms
|
||||
create-module-model completed in 37ms
|
||||
create-initial-cxx-model completed in 89ms
|
||||
create_cxx_tasks completed in 89ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 34ms
|
||||
create-module-model completed in 37ms
|
||||
create-module-model
|
||||
create-cmake-model 36ms
|
||||
create-module-model completed in 39ms
|
||||
create-initial-cxx-model completed in 87ms
|
||||
create_cxx_tasks completed in 87ms
|
||||
|
||||
|
||||
@@ -1163,3 +1163,77 @@ create_cxx_tasks
|
||||
create-initial-cxx-model completed in 97ms
|
||||
create_cxx_tasks completed in 99ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 37ms
|
||||
create-module-model completed in 39ms
|
||||
create-module-model
|
||||
create-cmake-model 36ms
|
||||
create-module-model completed in 39ms
|
||||
create-initial-cxx-model completed in 97ms
|
||||
create_cxx_tasks completed in 98ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 36ms
|
||||
create-module-model completed in 38ms
|
||||
create-module-model
|
||||
create-cmake-model 36ms
|
||||
create-module-model completed in 38ms
|
||||
create-initial-cxx-model completed in 91ms
|
||||
create_cxx_tasks completed in 93ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 43ms
|
||||
create-module-model completed in 46ms
|
||||
create-module-model
|
||||
create-cmake-model 37ms
|
||||
create-module-model completed in 39ms
|
||||
create-initial-cxx-model completed in 96ms
|
||||
create_cxx_tasks completed in 97ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 37ms
|
||||
create-module-model completed in 41ms
|
||||
create-module-model
|
||||
create-cmake-model 37ms
|
||||
create-module-model completed in 39ms
|
||||
[gap of 10ms]
|
||||
create-initial-cxx-model completed in 100ms
|
||||
create_cxx_tasks completed in 102ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 36ms
|
||||
create-module-model completed in 39ms
|
||||
create-module-model
|
||||
create-cmake-model 35ms
|
||||
create-module-model completed in 36ms
|
||||
[gap of 11ms]
|
||||
create-initial-cxx-model completed in 95ms
|
||||
create_cxx_tasks completed in 97ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 38ms
|
||||
create-module-model completed in 41ms
|
||||
create-module-model
|
||||
create-cmake-model 38ms
|
||||
create-module-model completed in 40ms
|
||||
create-initial-cxx-model completed in 99ms
|
||||
create_cxx_tasks completed in 100ms
|
||||
|
||||
|
||||
@@ -10,3 +10,15 @@ create_cxx_tasks
|
||||
create-initial-cxx-model completed in 81ms
|
||||
create_cxx_tasks completed in 81ms
|
||||
|
||||
# C/C++ build system timings
|
||||
create_cxx_tasks
|
||||
create-initial-cxx-model
|
||||
create-module-model
|
||||
create-cmake-model 39ms
|
||||
create-module-model completed in 41ms
|
||||
create-module-model
|
||||
create-cmake-model 35ms
|
||||
create-module-model completed in 38ms
|
||||
create-initial-cxx-model completed in 86ms
|
||||
create_cxx_tasks completed in 87ms
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -1660375688
|
||||
"memoizedHashCode": -393804873
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -25,7 +25,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -868187585
|
||||
"memoizedHashCode": 398383230
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -39,7 +39,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": -163726392
|
||||
"memoizedHashCode": 1102844423
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -53,7 +53,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 1699087678
|
||||
"memoizedHashCode": -1329308803
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -67,7 +67,7 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 806398096
|
||||
"memoizedHashCode": 2072968911
|
||||
},
|
||||
{
|
||||
"level_": 0,
|
||||
@@ -81,6 +81,6 @@
|
||||
"fieldsDescending": {}
|
||||
},
|
||||
"memoizedSize": -1,
|
||||
"memoizedHashCode": 1142378315
|
||||
"memoizedHashCode": -1886018166
|
||||
}
|
||||
]
|
||||
+1
-1
@@ -1 +1 @@
|
||||
#Sat Sep 24 22:46:46 CST 2022
|
||||
#Sat Jun 17 20:58:02 CST 2023
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user