| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
fix: fixed bug of CFunc ref call when multi version super ty Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 9 天前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: java impl wrappers implementation for java ffi Signed-off-by: dmitriy sokolov <sokolov.dmitriy@huawei-partners.com> | 1 个月前 | |
fix: fix diff order of fileId and files in package ast If the order of files in the fileID does not match that of the ast nodes of the package, it will lead to semantic errors and cause the diagnosis that the variables are not initialized. Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 10 天前 | |
!1901 merge fix_native_ffi_java_get_env_calls_optimization into main fix: minimize get jni env calls for java mirrors Created-by: deed Commit-by: dmitriy sokolov Merged-by: CangjiePL Description: ## Change Details (Required) This PR is part of series of PRs that target Java FFI performance with cangjie. In this pr: added memoization on "get jni env" call result on @JavaMirror members like method, member variable, mirror constructor. This allows minimize such calls in runtime. ## Change Type (Required) Please describe the type of changes in this Pull Request (reason). **Simply save and click the checkbox, or when editing, change [ ] to [x] for the relevant item.** - [ ] Feature - [x] Bugfix - [ ] Build Process or Auxiliary Tool Changes - [ ] Documentation Update ## Self-Check of Changes (Required) **Please do not modify or delete the following options. Simply save and click the checkbox, or when editing, change [ ] to [x] for the relevant item.** ### Platform Differences: - [x] No difference - [ ] Difference - [ ] Windows - [ ] Linux - [ ] macOS - [ ] Other (Please explain the reasons below) ### Affected Components: - [x] cjc (Cangjie Compiler) - [ ] LSP (Cangjie Language Server) - [ ] cjfmt (Cangjie Formatter) - [ ] cjlint (Cangjie Lint Tool) - [ ] stdx (Cangjie Standard Library Extensions) - [ ] Other (Please explain the reasons below) ### Local Compilation Verification Results: - [x] Cangjie Compiler compiled successfully - [x] Cangjie Runtime compiled successfully - [x] Cangjie Standard Library compiled successfully - [ ] Not applicable (select this option for auxiliary tool changes or documentation updates) ### Local Test Case Verification Results: - [x] Pass. Please provide screenshots below. - [ ] Not applicable. Please explain the reasons below.  ## Related Issues (Required) [#998](https://gitcode.com/Cangjie/cangjie_compiler/issues/998) ## Comparison ### On integration tests Total calls to Java_CFFI_get_env() within all CJMP/java/integration tests (69 tests) Before opimization: **2992** After opimization: **1984** Note: integration tests are mostly targeting @JavaImpl classes, actual numbers for mirrors should be lower. ### On bechmarks Despite the fact total calls count is reduced, overall performance of java calls in @JavaMirror is not changed significantly because of Java_CFFI_get_env() is quite fast. On benchmarks, I see the following picture (No real impact on current numbers): Before optimization: CJ->Java static Iter=0 time 7992 ms; per call: 3996 4023 3973 4096 4191 AVG 4056 ns CJ->Java static Iter=100 time 8767 ms; per call: 4383 4741 4435 4572 4476 AVG 4522 ns CJ->Java static Iter=200 time 10703 ms; per call: 5351 4939 4985 5023 5157 AVG 5091 ns CJ->Java instance Iter=0 time 6984 ms; per call: 3492 2964 3537 2955 3518 AVG 3293 ns CJ->Java instance Iter=100 time 6874 ms; per call: 3437 4035 3427 3428 4014 AVG 3668 ns CJ->Java instance Iter=200 time 7800 ms; per call: 3900 4505 3897 4462 3897 AVG 4132 ns After optimization: CJ->Java static Iter=0 time 7870 ms; per call: 3935 3924 4099 3808 4101 AVG 3973 ns CJ->Java static Iter=100 time 8563 ms; per call: 4281 4362 4735 4475 4407 AVG 4452 ns CJ->Java static Iter=200 time 9778 ms; per call: 4889 5333 4914 4952 5116 AVG 5041 ns CJ->Java instance Iter=0 time 5851 ms; per call: 2925 3470 2961 3511 2941 AVG 3161 ns CJ->Java instance Iter=100 time 7955 ms; per call: 3977 3396 3390 4005 3398 AVG 3633 ns CJ->Java instance Iter=200 time 8889 ms; per call: 4444 3869 4451 3875 3880 AVG 4104 ns Nevertheless, profiling method calls, I can see (insignificant) performance impromement. The following is related to java instance benchmark. Before optimization: Java_CFFI_get_env: 3946 samples mirror method call: 86k samples  After optimization: Java_CFFI_get_env: 1698 samples mirror method call: 86k samples  See merge request: Cangjie/cangjie_compiler!1901 | 4 天前 | |
fix: fix a heap-size-overflow question Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 19 天前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
fix(sema): preserve result-constrained candidates Signed-off-by: wyq1213 <wangyinqiang2@huawei.com> | 24 天前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
initial commit | 11 个月前 | |
initial commit | 11 个月前 | |
refactor: refector plugin checker dir Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 5 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
initial commit | 11 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
fix: fix search result mistake Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 6 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
fix: fix diff order of fileId and files in package ast If the order of files in the fileID does not match that of the ast nodes of the package, it will lead to semantic errors and cause the diagnosis that the variables are not initialized. Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 10 天前 | |
initial commit | 11 个月前 | |
feat: add some new features add --link-option to pass single linker argument add --profile-compile-time and --profile-compile-memory for build performance profiling add --emit-chir to output CHIR serialized data add experimental --plugin for CHIR compiler plugins add warning on unused imports fix private same-name type conflict in same pakcage Signed-off-by: wyq1213 <wangyinqiang2@huawei.com> | 9 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
initial commit | 11 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
initial commit | 11 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
initial commit | 11 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
initial commit | 11 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
initial commit | 11 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
initial commit | 11 个月前 | |
fix: fix diff order of fileId and files in package ast If the order of files in the fileID does not match that of the ast nodes of the package, it will lead to semantic errors and cause the diagnosis that the variables are not initialized. Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 10 天前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
initial commit | 11 个月前 | |
fix: optimize sema performance Signed-off-by: hljyaozhen <yaozhen12@h-partners.com> | 5 个月前 | |
initial commit | 11 个月前 | |
fix: fix diff order of fileId and files in package ast If the order of files in the fileID does not match that of the ast nodes of the package, it will lead to semantic errors and cause the diagnosis that the variables are not initialized. Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 10 天前 | |
fix: fix diff order of fileId and files in package ast If the order of files in the fileID does not match that of the ast nodes of the package, it will lead to semantic errors and cause the diagnosis that the variables are not initialized. Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 10 天前 | |
initial commit | 11 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
fix: fix diff order of fileId and files in package ast If the order of files in the fileID does not match that of the ast nodes of the package, it will lead to semantic errors and cause the diagnosis that the variables are not initialized. Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 10 天前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
fix: fix diff order of fileId and files in package ast If the order of files in the fileID does not match that of the ast nodes of the package, it will lead to semantic errors and cause the diagnosis that the variables are not initialized. Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 10 天前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
fix: add prefix ref of static call in CFunc Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 16 天前 | |
feat: sync dev to main Signed-off-by: weinw <weiningwei@h-partners.com> | 1 个月前 | |
fix: skip runtime type check when target type is Nothing skip runtime type check when target type is Nothing Signed-off-by: huohuixin <huohuixin@huawei.com> | 4 天前 | |
fix(sema): preserve result-constrained candidates Signed-off-by: wyq1213 <wangyinqiang2@huawei.com> | 24 天前 | |
fix: fix diff order of fileId and files in package ast If the order of files in the fileID does not match that of the ast nodes of the package, it will lead to semantic errors and cause the diagnosis that the variables are not initialized. Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 10 天前 | |
fix: fix diff order of fileId and files in package ast If the order of files in the fileID does not match that of the ast nodes of the package, it will lead to semantic errors and cause the diagnosis that the variables are not initialized. Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 10 天前 | |
fix: fixed cyclic substitution bug of IsSubtype Signed-off-by: Augus_Jan <zhanguozheng.829268@huawei.com> | 1 个月前 | |
feat: java impl wrappers implementation for java ffi Signed-off-by: dmitriy sokolov <sokolov.dmitriy@huawei-partners.com> | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 9 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 10 天前 | ||
| 4 天前 | ||
| 19 天前 | ||
| 1 个月前 | ||
| 24 天前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 6 个月前 | ||
| 1 个月前 | ||
| 10 天前 | ||
| 11 个月前 | ||
| 9 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 10 天前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 5 个月前 | ||
| 11 个月前 | ||
| 10 天前 | ||
| 10 天前 | ||
| 11 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 10 天前 | ||
| 1 个月前 | ||
| 10 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 1 个月前 | ||
| 4 天前 | ||
| 24 天前 | ||
| 10 天前 | ||
| 10 天前 | ||
| 1 个月前 | ||
| 1 个月前 |