mirror of
https://github.com/ianstormtaylor/slate.git
synced 2025-08-20 14:11:35 +02:00
Benchmark consistence && Allow users to select benches to run (#1765)
* Use slate rather than relative path * Move benchmark to one dir * Use slate-* instead of relative path * Before and After Function * Remove un-necessary cross-env * Hard fix * Lint the hard fix * Reset memory in bench() * Working on Benchmark Frameworks * Rename to slate-dev-benchmark * Add packages * Fix prettier bug * Benchmark framework is in working * Do not log in test * max times test * mute logger in test * add hr time * Better support for maxTime; add support of split runs to save memory space * Fix maxTries * Add global.gc * Global gc for each bench * Better test interface * Test max-time * Test max-time done * Add Benchmark among packages * Starting to get benchmark running * Pure Node lib * Change babelrc for pure Node benchmark * Moving Benchmarks * Get benchmark and test running * Get benchmark for slate-html-serializer * add slate-react * add slate/changes * all benchmarks are converted * Run benchmark by yarn * Run benchmark with expose-gc * Annotate Bench.js * Do not bundle slate-dev-benchmark in rollup * Add annotation * Allow config file to enable part benchmark compare * Add config for compare * support compare.js * Do not re-allocate memory; due to a large heap taken influence result * Render with Decorations * get active marks at range * Fix bug in showing percents * Fix percent showing bug * chore: add more benches * Better output of benchmark * Fix linting * decoration and normal as different benchmark test * Fix deserialize benchmark * README.md * Fix Readme.md * README.md * block-spacing config * safer user config loading * use package.json to load package in test * Consistent linting * move components to parent directory * Annotation styling in package * margin line before multi-line block * Fix naive bug * Fix naive bug * Fix a blank line * only log user and hr * Better name * Better annotation for runBundleTasks * Fix typo * Better logger * Move async to test * Omit skip * Only log the user space time * Single line async sleep * file name fix * Fix annotation * Better output of compare * Remove get-characters(-at-range) benchmarks * Restore emoji * Capitalize types * Remove compare to another area * Add grep and config interface * Linting files * Linting benchmarks * Linting benchmarks * Update yarn.lock
This commit is contained in:
committed by
Ian Storm Taylor
parent
09c93a6cd4
commit
8f9bfdac2b
@@ -1,39 +0,0 @@
|
||||
/* global suite, set, bench */
|
||||
|
||||
import fs from 'fs'
|
||||
import { basename, extname, resolve } from 'path'
|
||||
|
||||
/**
|
||||
* Benchmarks.
|
||||
*/
|
||||
|
||||
const categoryDir = resolve(__dirname)
|
||||
const categories = fs
|
||||
.readdirSync(categoryDir)
|
||||
.filter(c => c[0] != '.' && c != 'index.js')
|
||||
|
||||
categories.forEach(category => {
|
||||
suite(category, () => {
|
||||
set('iterations', 50)
|
||||
set('mintime', 1000)
|
||||
|
||||
const benchmarkDir = resolve(categoryDir, category)
|
||||
const benchmarks = fs
|
||||
.readdirSync(benchmarkDir)
|
||||
.filter(b => b[0] != '.' && !!~b.indexOf('.js'))
|
||||
.map(b => basename(b, extname(b)))
|
||||
|
||||
benchmarks.forEach(benchmark => {
|
||||
const dir = resolve(benchmarkDir, benchmark)
|
||||
const module = require(dir)
|
||||
const fn = module.default
|
||||
let { input, before, after } = module
|
||||
if (before) input = before(input)
|
||||
|
||||
bench(benchmark, () => {
|
||||
fn(input)
|
||||
if (after) after()
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
@@ -1,29 +0,0 @@
|
||||
/** @jsx h */
|
||||
/* eslint-disable react/jsx-key */
|
||||
|
||||
import React from 'react'
|
||||
import ReactDOM from 'react-dom/server'
|
||||
import h from '../../test/helpers/h'
|
||||
import { Editor } from '../..'
|
||||
|
||||
export default function(value) {
|
||||
const el = React.createElement(Editor, { value })
|
||||
ReactDOM.renderToStaticMarkup(el)
|
||||
}
|
||||
|
||||
export const input = (
|
||||
<value>
|
||||
<document>
|
||||
{Array.from(Array(10)).map(() => (
|
||||
<quote>
|
||||
<paragraph>
|
||||
<paragraph>
|
||||
This is editable <b>rich</b> text, <i>much</i> better than a
|
||||
textarea!
|
||||
</paragraph>
|
||||
</paragraph>
|
||||
</quote>
|
||||
))}
|
||||
</document>
|
||||
</value>
|
||||
)
|
Reference in New Issue
Block a user