Skip to content

Commit 2759257

Browse files
biojppmingydotnet
authored andcommitted
rapidyaml: Rename ryml2evt/ys2evt to ysparse
1 parent a2ffe16 commit 2759257

7 files changed

Lines changed: 93 additions & 98 deletions

File tree

rapidyaml/native/org_rapidyaml_Rapidyaml.cpp

Lines changed: 25 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -17,62 +17,56 @@ Java_org_rapidyaml_Rapidyaml_ysparse_1timing_1set(JNIEnv *, jobject, jboolean ye
1717
}
1818

1919
JNIEXPORT jlong JNICALL
20-
Java_org_rapidyaml_Rapidyaml_ys2evt_1init(JNIEnv *env, jobject)
20+
Java_org_rapidyaml_Rapidyaml_ysparse_1init(JNIEnv *env, jobject)
2121
{
22-
Ryml2Evt *obj = ys2evt_init();
22+
ysparse *obj = ysparse_init();
2323
return (jlong)obj;
2424
}
2525

2626

2727
JNIEXPORT void JNICALL
28-
Java_org_rapidyaml_Rapidyaml_ys2evt_1destroy(JNIEnv *, jobject, jlong obj)
28+
Java_org_rapidyaml_Rapidyaml_ysparse_1destroy(JNIEnv *, jobject, jlong obj)
2929
{
30-
ys2evt_destroy((Ryml2Evt*)obj);
30+
ysparse_destroy((ysparse*)obj);
3131
}
3232

3333

3434
JNIEXPORT jint JNICALL
35-
Java_org_rapidyaml_Rapidyaml_ys2evt_1parse(JNIEnv *env, jobject,
35+
Java_org_rapidyaml_Rapidyaml_ysparse_1parse(JNIEnv *env, jobject,
3636
jlong obj, jstring jfilename,
3737
jbyteArray src, jint src_len,
3838
jintArray dst, jint dst_len)
3939
{
40-
TIMED_SECTION("jni_ys2evt_parse", (size_type)src_len);
40+
TIMED_SECTION("jni:ysparse", (size_type)src_len);
4141
jbyte* src_ = nullptr;
4242
int* dst_ = nullptr;
4343
const char *filename = nullptr;
4444
jboolean dst_is_copy = false;
4545
jboolean src_is_copy = false;
4646
{
47-
TIMED_SECTION("jni_ys2evt_parse/get_jni", (size_type)src_len);
47+
TIMED_SECTION("jni:ysparse/get_jni", (size_type)src_len);
48+
// this is __S__L__O__W__
49+
// https://stackoverflow.com/questions/43763129/jni-is-getintarrayelements-always-linear-in-time
50+
// https://stackoverflow.com/questions/7395695/how-to-convert-from-bytebuffer-to-integer-and-string
4851
{
49-
TIMED_SECTION("jni_ys2evt_parse/GetByteArray(src)");
52+
TIMED_SECTION("jni:ysparse/GetByteArray(src)");
5053
src_ = env->GetByteArrayElements(src, &src_is_copy);
5154
}
5255
{
53-
// TODO this is __S__L__O__W__
54-
//
55-
// the problem is with GetIntArrayElements(). we should
56-
// use GetDirectBufferAddress(), but that requires a ByteBuffer->jobject
57-
// instead of a int[]->jintArray
58-
//
59-
// see:
60-
// https://stackoverflow.com/questions/43763129/jni-is-getintarrayelements-always-linear-in-time
61-
// https://stackoverflow.com/questions/7395695/how-to-convert-from-bytebuffer-to-integer-and-string
62-
TIMED_SECTION("jni_ys2evt_parse/GetIntArray(dst)");
56+
TIMED_SECTION("jni:ysparse/GetIntArray(dst)");
6357
dst_ = env->GetIntArrayElements(dst, &dst_is_copy);
6458
}
6559
{
66-
TIMED_SECTION("jni_ys2evt_parse/GetStringUTFChars()");
60+
TIMED_SECTION("jni:ysparse/GetStringUTFChars()");
6761
filename = env->GetStringUTFChars(jfilename, 0);
6862
}
6963
}
7064
int rc = 0;
7165
{
72-
TIMED_SECTION("jni_ys2evt_parse/call_parse", (size_type)src_len);
66+
TIMED_SECTION("jni:ysparse/parse", (size_type)src_len);
7367
try
7468
{
75-
rc = ys2evt_parse((Ryml2Evt*)obj, filename,
69+
rc = ysparse_parse((ysparse*)obj, filename,
7670
(char*)src_, src_len,
7771
dst_, dst_len);
7872
}
@@ -86,18 +80,18 @@ Java_org_rapidyaml_Rapidyaml_ys2evt_1parse(JNIEnv *env, jobject,
8680
}
8781
}
8882
{
89-
TIMED_SECTION("jni_ys2evt_parse/release");
83+
TIMED_SECTION("jni:ysparse/release");
84+
// __S__L__O__W__
9085
{
91-
TIMED_SECTION("jni_ys2evt_parse/ReleaseByteArray(src)");
86+
TIMED_SECTION("jni:ysparse/ReleaseByteArray(src)");
9287
env->ReleaseByteArrayElements(src, src_, 0);
9388
}
9489
{
95-
// TODO __S__L__O__W__
96-
TIMED_SECTION("jni_ys2evt_parse/ReleaseIntArray(dst)");
90+
TIMED_SECTION("jni:ysparse/ReleaseIntArray(dst)");
9791
env->ReleaseIntArrayElements(dst, dst_, 0);
9892
}
9993
{
100-
TIMED_SECTION("jni_ys2evt_parse/ReleaseStringUTFChars()");
94+
TIMED_SECTION("jni:ysparse/ReleaseStringUTFChars()");
10195
env->ReleaseStringUTFChars(jfilename, filename);
10296
}
10397
}
@@ -106,17 +100,17 @@ Java_org_rapidyaml_Rapidyaml_ys2evt_1parse(JNIEnv *env, jobject,
106100

107101

108102
JNIEXPORT jint JNICALL
109-
Java_org_rapidyaml_Rapidyaml_ys2evt_1parse_1buf(JNIEnv *env, jobject,
103+
Java_org_rapidyaml_Rapidyaml_ysparse_1parse_1buf(JNIEnv *env, jobject,
110104
jlong obj, jstring jfilename,
111105
jobject src, jint src_len,
112106
jobject dst, jint dst_len)
113107
{
114-
TIMED_SECTION("jni_ys2evt_parse", (size_type)src_len);
108+
TIMED_SECTION("jni:ysparse_buf", (size_type)src_len);
115109
char* src_ = nullptr;
116110
int* dst_ = nullptr;
117111
const char *filename = nullptr;
118112
{
119-
TIMED_SECTION("jni_ys2evt_parse/get_jni", (size_type)src_len);
113+
TIMED_SECTION("jni:ysparse_buf/get_jni", (size_type)src_len);
120114
src_ = (char*)env->GetDirectBufferAddress(src);
121115
dst_ = (int*)env->GetDirectBufferAddress(dst);
122116
filename = env->GetStringUTFChars(jfilename, 0);
@@ -126,10 +120,10 @@ Java_org_rapidyaml_Rapidyaml_ys2evt_1parse_1buf(JNIEnv *env, jobject,
126120
throw_runtime_exception(env, "null pointer: dst");
127121
}
128122
{
129-
TIMED_SECTION("jni_ys2evt_parse/call_parse", (size_type)src_len);
123+
TIMED_SECTION("jni:ysparse_buf/parse", (size_type)src_len);
130124
try
131125
{
132-
return ys2evt_parse((Ryml2Evt*)obj, filename, src_, src_len, dst_, dst_len);
126+
return ysparse_parse((ysparse*)obj, filename, src_, src_len, dst_, dst_len);
133127
}
134128
catch (YsParseError const& exc)
135129
{

rapidyaml/native/org_rapidyaml_Rapidyaml.h

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rapidyaml/native/ysparse_common.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,15 @@ struct timed_section
5252
name = n;
5353
len = len_;
5454
start = myclock::now();
55+
//fprintf(stderr, "%10s : %s...\n", " ", name);
5556
}
5657
}
5758
C4_NO_INLINE ~timed_section()
5859
{
5960
if(ysparse_timing_get())
6061
{
6162
const std::chrono::duration<float, std::milli> t = myclock::now() - start;
62-
fprintf(stderr, "%.6fms: %s", t.count(), name);
63+
fprintf(stderr, "%10.6fms: %s", t.count(), name);
6364
if(len)
6465
fprintf(stderr, " %.3fMB/s", (float)len / t.count() * 1.e-3);
6566
fprintf(stderr, "\n");

rapidyaml/native/ysparse_evt.cpp

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ extern "C" {
1010
// https://stackoverflow.com/questions/4138168/what-happens-when-i-throw-a-c-exception-from-a-native-java-method
1111

1212
namespace {
13-
C4_NORETURN void ys2evt_parse_error(const char* msg, size_t msg_len, Location location, void *user_data)
13+
C4_NORETURN void ysparse_error(const char* msg, size_t msg_len, Location location, void *user_data)
1414
{
1515
YsParseError exc;
1616
exc.location = location;
@@ -19,43 +19,43 @@ C4_NORETURN void ys2evt_parse_error(const char* msg, size_t msg_len, Location lo
1919
}
2020
} // anon namespace
2121

22-
RYML_EXPORT Ryml2Evt *ys2evt_init()
22+
RYML_EXPORT ysparse *ysparse_init()
2323
{
24-
TIMED_SECTION("ys2evt_init");
24+
TIMED_SECTION("cpp:ysparse_init");
2525
Callbacks cb = {};
26-
cb.m_error = &ys2evt_parse_error;
26+
cb.m_error = &ysparse_error;
2727
set_callbacks(cb);
28-
Ryml2Evt *ryml2evt = _RYML_CB_ALLOC(get_callbacks(), Ryml2Evt, 1);
28+
ysparse *ryml2evt = _RYML_CB_ALLOC(get_callbacks(), ysparse, 1);
2929
_RYML_CB_CHECK(get_callbacks(), ryml2evt != nullptr);
30-
new ((void*)ryml2evt) Ryml2Evt();
30+
new ((void*)ryml2evt) ysparse();
3131
return ryml2evt;
3232
}
3333

34-
RYML_EXPORT void ys2evt_destroy(Ryml2Evt *ryml2evt)
34+
RYML_EXPORT void ysparse_destroy(ysparse *obj)
3535
{
36-
TIMED_SECTION("ys2evt_destroy");
37-
ryml2evt->~Ryml2Evt();
38-
_RYML_CB_FREE(get_callbacks(), ryml2evt, Ryml2Evt, 1);
36+
TIMED_SECTION("cpp:ysparse_destroy");
37+
obj->~ysparse();
38+
_RYML_CB_FREE(get_callbacks(), obj, ysparse, 1);
3939
}
4040

41-
RYML_EXPORT size_type ys2evt_parse(Ryml2Evt *ryml2evt,
42-
const char *filename,
43-
char *ys, size_type ys_size,
44-
evt::DataType *events, size_type evt_size)
41+
RYML_EXPORT size_type ysparse_parse(ysparse *obj,
42+
const char *filename,
43+
char *ys, size_type ys_size,
44+
evt::DataType *events, size_type evt_size)
4545
{
46-
TIMED_SECTION("ys2evt_parse", ys_size);
46+
TIMED_SECTION("cpp:ysparse", ys_size);
4747
csubstr filename_ = filename ? to_csubstr(filename) : csubstr{};
4848
substr ys_(ys, (size_t)ys_size);
4949
{
50-
TIMED_SECTION("reset + reserve");
51-
ryml2evt->reset(ys_, events, evt_size);
52-
ryml2evt->m_handler.reserve(256u);
50+
TIMED_SECTION("cpp:ysparse/reset");
51+
obj->reset(ys_, events, evt_size);
52+
obj->m_handler.reserve(256u);
5353
}
5454
{
55-
TIMED_SECTION("parse_in_place", ys_size);
56-
ryml2evt->m_parser.parse_in_place_ev(filename_, ys_);
55+
TIMED_SECTION("cpp:ysparse/parse", ys_size);
56+
obj->m_parser.parse_in_place_ev(filename_, ys_);
5757
}
58-
return (size_type)ryml2evt->m_handler.m_evt_curr;
58+
return (size_type)obj->m_handler.m_evt_curr;
5959
}
6060

6161
#if defined(__cplusplus)

rapidyaml/native/ysparse_evt.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
extern "C" {
1010
#endif
1111

12-
struct RYML_EXPORT Ryml2Evt
12+
struct RYML_EXPORT ysparse
1313
{
1414
ys::EventHandlerEvt m_handler;
1515
c4::yml::ParseEngine<ys::EventHandlerEvt> m_parser;
16-
Ryml2Evt()
16+
ysparse()
1717
: m_handler()
1818
, m_parser(&m_handler)
1919
{
@@ -29,10 +29,10 @@ struct RYML_EXPORT Ryml2Evt
2929
//-----------------------------------------------------------------------------
3030

3131
/** Initialize the resources */
32-
RYML_EXPORT Ryml2Evt *ys2evt_init();
32+
RYML_EXPORT ysparse *ysparse_init();
3333

3434
/** Destroy the resources */
35-
RYML_EXPORT void ys2evt_destroy(Ryml2Evt *ryml2evt);
35+
RYML_EXPORT void ysparse_destroy(ysparse *ryml2evt);
3636

3737
/** Parse YAML in the string `ys` of size `ys_size`, and write the
3838
* result into the array of (integer) events `evt` of size
@@ -82,10 +82,10 @@ RYML_EXPORT void ys2evt_destroy(Ryml2Evt *ryml2evt);
8282
* in-place in the input string, and the extra integers will pertain
8383
* to the resulting filtered string.
8484
*/
85-
RYML_EXPORT size_type ys2evt_parse(Ryml2Evt *ryml2evt,
86-
const char *filename,
87-
char *ys, size_type ys_size,
88-
evt::DataType *evt, size_type evt_size);
85+
RYML_EXPORT size_type ysparse_parse(ysparse *ryml2evt,
86+
const char *filename,
87+
char *ys, size_type ys_size,
88+
evt::DataType *evt, size_type evt_size);
8989

9090
#if defined(__cplusplus)
9191
}

0 commit comments

Comments
 (0)