Skip to content

Commit

Permalink
Bench updates (FooSoft#649)
Browse files Browse the repository at this point in the history
* update bench

* add bench
  • Loading branch information
Casheeew authored Feb 7, 2024
1 parent dc22c02 commit 356adeb
Showing 1 changed file with 186 additions and 68 deletions.
254 changes: 186 additions & 68 deletions benches/language-transformer.bench.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
});
});
});

0 comments on commit 356adeb

Please sign in to comment.