Skip to content

Commit 4ea6962

Browse files
committed
LOG TIME improvements
1 parent 70e8238 commit 4ea6962

File tree

4 files changed

+35
-12
lines changed

4 files changed

+35
-12
lines changed

BackendAst/DAstTypeDefinition.fs

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -240,15 +240,16 @@ let createEnumerated (r:Asn1AcnAst.AstRoot) (lm:LanguageMacros) (t:Asn1AcnAst.A
240240
let define_subType_enumerated = lm.typeDef.Define_subType_enumerated
241241
let define_new_enumerated_private = lm.typeDef.Define_new_enumerated_private
242242
let define_subType_enumerated_private = lm.typeDef.Define_subType_enumerated_private
243-
let orderedItems = o.items |> List.sortBy(fun i -> i.definitionValue)
244-
let arrsEnumNames = orderedItems |> List.map( fun i -> lm.lg.getNamedItemBackendName None i)
245-
let arrsEnumNamesAndValues = orderedItems |> List.map(fun i -> define_new_enumerated_item td (lm.lg.getNamedItemBackendName None i) i.definitionValue)
246-
let macros = orderedItems |> List.map( fun i -> define_new_enumerated_item_macro td (ToC i.Name.Value) (lm.lg.getNamedItemBackendName None i) )
247-
let nIndexMax = BigInteger ((Seq.length o.items)-1)
248-
let arrsValidEnumNames = o.validItems |> List.sortBy(fun i -> i.definitionValue) |> List.map( fun i -> lm.lg.getNamedItemBackendName None i)
243+
let orderedItems = TL "CR_EN_01" (fun () -> o.items |> List.sortBy(fun i -> i.definitionValue))
244+
let arrsEnumNames = TL "CR_EN_02" (fun () -> orderedItems |> List.map( fun i -> lm.lg.getNamedItemBackendName None i))
245+
let arrsEnumNamesAndValues = TL "CR_EN_03" (fun () -> orderedItems |> List.map(fun i -> define_new_enumerated_item td (lm.lg.getNamedItemBackendName None i) i.definitionValue))
246+
let macros = TL "CR_EN_04" (fun () -> orderedItems |> List.map( fun i -> define_new_enumerated_item_macro td (ToC i.Name.Value) (lm.lg.getNamedItemBackendName None i) ))
247+
let nIndexMax = TL "CR_EN_05" (fun () -> BigInteger ((Seq.length o.items)-1))
248+
let arrsValidEnumNames = TL "CR_EN_06" (fun () -> o.validItems |> List.sortBy(fun i -> i.definitionValue) |> List.map( fun i -> lm.lg.getNamedItemBackendName None i))
249249

250250
match td.kind with
251251
| NonPrimitiveNewTypeDefinition ->
252+
TL "CR_EN_07" (fun () ->
252253
let completeDefinition = define_new_enumerated td arrsEnumNames arrsEnumNamesAndValues nIndexMax macros
253254
let privateDefinition =
254255
match r.args.isEnumEfficientEnabled o.items.Length with
@@ -258,9 +259,9 @@ let createEnumerated (r:Asn1AcnAst.AstRoot) (lm:LanguageMacros) (t:Asn1AcnAst.A
258259
match System.String.IsNullOrWhiteSpace ret with
259260
| true -> None
260261
| false -> Some ret
261-
262-
Some (completeDefinition, privateDefinition)
262+
Some (completeDefinition, privateDefinition))
263263
| NonPrimitiveNewSubTypeDefinition subDef ->
264+
TL "CR_EN_08" (fun () ->
264265
let otherProgramUnit = if td.programUnit = subDef.programUnit then None else (Some subDef.programUnit)
265266
let completeDefinition = define_subType_enumerated td subDef otherProgramUnit
266267
let privateDefinition =
@@ -271,7 +272,7 @@ let createEnumerated (r:Asn1AcnAst.AstRoot) (lm:LanguageMacros) (t:Asn1AcnAst.A
271272
match System.String.IsNullOrWhiteSpace ret with
272273
| true -> None
273274
| false -> Some ret
274-
Some (completeDefinition, privateDefinition)
275+
Some (completeDefinition, privateDefinition))
275276
| NonPrimitiveReference2OtherType -> None
276277

277278
let internal getChildDefinition (childDefinition:TypeDefinitionOrReference) =
@@ -546,20 +547,23 @@ let createEnumerated_u (r:Asn1AcnAst.AstRoot) (lm:LanguageMacros) (t:Asn1AcnAst
546547
let td = lm.lg.getEnumTypeDefinition o.typeDef
547548
match td.kind with
548549
| NonPrimitiveNewTypeDefinition ->
550+
TL "CR_EN_U_01" (fun () ->
549551
let (aaa, priv) =
550552
match createEnumerated r lm t o us with
551553
| Some (a, b) -> Some a, b
552554
| None -> None, None
553-
TypeDefinition {TypeDefinition.typedefName = td.typeName; typedefBody = (fun () -> aaa.Value); privateTypeDefinition=priv; baseType=None}
555+
TypeDefinition {TypeDefinition.typedefName = td.typeName; typedefBody = (fun () -> aaa.Value); privateTypeDefinition=priv; baseType=None})
554556
| NonPrimitiveNewSubTypeDefinition subDef ->
557+
TL "CR_EN_U_02" (fun () ->
555558
let (aaa, priv) =
556559
match createEnumerated r lm t o us with
557560
| Some (a, b) -> Some a, b
558561
| None -> None, None
559562
let baseType = {ReferenceToExistingDefinition.programUnit = (if subDef.programUnit = programUnit then None else Some subDef.programUnit); typedefName=subDef.typeName ; definedInRtl = false}
560-
TypeDefinition {TypeDefinition.typedefName = td.typeName; typedefBody = (fun () -> aaa.Value); privateTypeDefinition=priv; baseType=Some baseType}
563+
TypeDefinition {TypeDefinition.typedefName = td.typeName; typedefBody = (fun () -> aaa.Value); privateTypeDefinition=priv; baseType=Some baseType})
561564
| NonPrimitiveReference2OtherType ->
562-
ReferenceToExistingDefinition {ReferenceToExistingDefinition.programUnit = (if td.programUnit = programUnit then None else Some td.programUnit); typedefName= td.typeName; definedInRtl = false}
565+
TL "CR_EN_U_03" (fun () ->
566+
ReferenceToExistingDefinition {ReferenceToExistingDefinition.programUnit = (if td.programUnit = programUnit then None else Some td.programUnit); typedefName= td.typeName; definedInRtl = false})
563567

564568

565569
let createSequenceOf_u (r:Asn1AcnAst.AstRoot) (lm:LanguageMacros) (t:Asn1AcnAst.Asn1Type) (o:Asn1AcnAst.SequenceOf) (childType: DAst.Asn1Type) (us:State) =

CommonTypes/CommonTypes.fsproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
<RuntimeIdentifiers>win-x64;linux-x64;osx-x64</RuntimeIdentifiers>
77
</PropertyGroup>
88

9+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
10+
<!--
11+
<DefineConstants>$(DefineConstants);LOG_TIMING</DefineConstants>
12+
-->
13+
</PropertyGroup>
14+
915
<ItemGroup>
1016
<Compile Include="FsUtils.fs" />
1117
<Compile Include="RemoveUnusedRtlFunction.fs" />

CommonTypes/FsUtils.fs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,12 @@ open System.IO
2424
open System.Diagnostics
2525
open System.Collections.Generic
2626

27+
//to enabe log timing, go to project properties, build, and add LOG_TIMING to conditional compilation symbols
2728

29+
#if LOG_TIMING
30+
#warning "Timing is enabled"
2831
let subsystems: Dictionary<String, int*TimeSpan> = new Dictionary<String, int*TimeSpan>()
32+
2933
let TL subSystem func =
3034
let stopwatch = Stopwatch.StartNew()
3135
let ret = func ()
@@ -58,6 +62,13 @@ let TL_report () =
5862
printfn "%s" bbb
5963

6064

65+
#else
66+
let TL subSystem func = func ()
67+
let TL_report () = ()
68+
#endif
69+
70+
71+
6172
type OptionBuilder() =
6273
member x.Bind(opt, f) =
6374
match opt with

asn1scc/asn1scc.fsproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
<RuntimeIdentifiers>win-x64;linux-x64;osx-x64</RuntimeIdentifiers>
77
</PropertyGroup>
88

9+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'" />
10+
911

1012
<ItemGroup>
1113
<EmbeddedResource Include="..\asn1scala\src\main\scala\asn1scala\asn1jvm.scala">

0 commit comments

Comments
 (0)