summaryrefslogtreecommitdiff
path: root/benches
diff options
context:
space:
mode:
Diffstat (limited to 'benches')
-rw-r--r--benches/language-transformer.bench.js254
1 files changed, 186 insertions, 68 deletions
diff --git a/benches/language-transformer.bench.js b/benches/language-transformer.bench.js
index 9d312fb7..8212ae86 100644
--- a/benches/language-transformer.bench.js
+++ b/benches/language-transformer.bench.js
@@ -29,76 +29,194 @@ const descriptor = parseJson(fs.readFileSync(path.join(dirname, '..', 'ext', 'da
const languageTransformer = new LanguageTransformer();
languageTransformer.addDescriptor(descriptor);
-describe('Language transformer basic tests', () => {
- const adjectiveInflections = [
- '愛しい',
- '愛しそう',
- '愛しすぎる',
- '愛しかったら',
- '愛しかったり',
- '愛しくて',
- '愛しく',
- '愛しくない',
- '愛しさ',
- '愛しかった',
- '愛しくありません',
- '愛しくありませんでした',
- '愛しき'
- ];
+describe('language transformer', () => {
+ describe('basic tests', () => {
+ const adjectiveInflections = [
+ '愛しい',
+ '愛しそう',
+ '愛しすぎる',
+ '愛しかったら',
+ '愛しかったり',
+ '愛しくて',
+ '愛しく',
+ '愛しくない',
+ '愛しさ',
+ '愛しかった',
+ '愛しくありません',
+ '愛しくありませんでした',
+ '愛しき'
+ ];
- const verbInflections = [
- '食べる',
- '食べます',
- '食べた',
- '食べました',
- '食べて',
- '食べられる',
- '食べられる',
- '食べさせる',
- '食べさせられる',
- '食べろ',
- '食べない',
- '食べません',
- '食べなかった',
- '食べませんでした',
- '食べなくて',
- '食べられない',
- '食べられない',
- '食べさせない',
- '食べさせられない',
- '食べ',
- '食べれば',
- '食べちゃう',
- '食べちまう',
- '食べなさい',
- '食べそう',
- '食べすぎる',
- '食べたい',
- '食べたら',
- '食べたり',
- '食べず',
- '食べぬ',
- '食べ',
- '食べましょう',
- '食べよう',
- '食べとく',
- '食べている',
- '食べておる',
- '食べてる',
- '食べとる',
- '食べてしまう'
- ];
+ const verbInflections = [
+ '食べる',
+ '食べます',
+ '食べた',
+ '食べました',
+ '食べて',
+ '食べられる',
+ '食べられる',
+ '食べさせる',
+ '食べさせられる',
+ '食べろ',
+ '食べない',
+ '食べません',
+ '食べなかった',
+ '食べませんでした',
+ '食べなくて',
+ '食べられない',
+ '食べられない',
+ '食べさせない',
+ '食べさせられない',
+ '食べ',
+ '食べれば',
+ '食べちゃう',
+ '食べちまう',
+ '食べなさい',
+ '食べそう',
+ '食べすぎる',
+ '食べたい',
+ '食べたら',
+ '食べたり',
+ '食べず',
+ '食べぬ',
+ '食べ',
+ '食べましょう',
+ '食べよう',
+ '食べとく',
+ '食べている',
+ '食べておる',
+ '食べてる',
+ '食べとる',
+ '食べてしまう'
+ ];
- const inflectionCombinations = [
- '抱き抱えていなければ',
- '抱きかかえていなければ',
- '打ち込んでいませんでした',
- '食べさせられたくなかった'
- ];
+ const inflectionCombinations = [
+ '抱き抱えていなければ',
+ '抱きかかえていなければ',
+ '打ち込んでいませんでした',
+ '食べさせられたくなかった'
+ ];
- bench('transformations', () => {
- for (const transform of [...adjectiveInflections, ...verbInflections, ...inflectionCombinations]) {
- languageTransformer.transform(transform);
- }
+ const kuruInflections = [
+ 'くる',
+ 'きます',
+ 'きた',
+ 'きました',
+ 'きて',
+ 'こられる',
+ 'こられる',
+ 'こさせる',
+ 'こさせられる',
+ 'こい',
+ 'こない',
+ 'きません',
+ 'こなかった',
+ 'きませんでした',
+ 'こなくて',
+ 'こられない',
+ 'こられない',
+ 'こさせない',
+ 'こさせられない',
+ 'くるな',
+ 'きまして',
+ 'くれば',
+ 'きちゃう',
+ 'きちまう',
+ 'きなさい',
+ 'きそう',
+ 'きすぎる',
+ 'きたい',
+ 'きたら',
+ 'きたり',
+ 'こず',
+ 'こぬ',
+ 'こざる',
+ 'こねば',
+ 'き',
+ 'きましょう',
+ 'こよう',
+ 'きとく',
+ 'きている',
+ 'きておる',
+ 'きてる',
+ 'きとる',
+ 'きてしまう'
+ ];
+
+ const suruInflections = [
+ 'する',
+ 'します',
+ 'した',
+ 'しました',
+ 'して',
+ 'できる',
+ '出来る',
+ 'せられる',
+ 'される',
+ 'させる',
+ 'せさせる',
+ 'させられる',
+ 'せさせられる',
+ 'しろ',
+ 'しない',
+ 'しません',
+ 'しなかった',
+ 'しませんでした',
+ 'しなくて',
+ 'せられない',
+ 'されない',
+ 'させない',
+ 'せさせない',
+ 'させられない',
+ 'せさせられない',
+ 'するな',
+ 'しまして',
+ 'すれば',
+ 'しちゃう',
+ 'しちまう',
+ 'しなさい',
+ 'しそう',
+ 'しすぎる',
+ 'したい',
+ 'したら',
+ 'したり',
+ 'せず',
+ 'せぬ',
+ 'せざる',
+ 'せねば',
+ 'しましょう',
+ 'しよう',
+ 'しとく',
+ 'している',
+ 'しておる',
+ 'してる',
+ 'しとる',
+ 'してしまう'
+ ];
+
+ const kansaibenInflections = [
+ 'よろしゅう',
+ 'よろしゅうて',
+ 'よろしゅうない',
+ '買わへん',
+ '買わへんかった',
+ '買うて',
+ '買うた',
+ '買うたら'
+ ];
+
+ const basicTransformations = [...adjectiveInflections, ...verbInflections, ...inflectionCombinations];
+ bench(`transformations (n=${basicTransformations.length})`, () => {
+ for (const transform of basicTransformations) {
+ languageTransformer.transform(transform);
+ }
+ });
+
+ const transformationsFull = [...basicTransformations, ...kuruInflections, ...suruInflections, ...kansaibenInflections];
+ bench(`transformations-full (n=${transformationsFull.length})`, () => {
+ for (const transform of transformationsFull) {
+ languageTransformer.transform(transform);
+ }
+ });
});
});