createBuffer.bench.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { bench, describe } from 'vitest'
  2. import { createBuffer } from '../src/render'
  3. describe('createBuffer', () => {
  4. let stringBuffer = createBuffer()
  5. bench(
  6. 'string only',
  7. () => {
  8. for (let i = 0; i < 10; i += 1) {
  9. stringBuffer.push('hello')
  10. }
  11. },
  12. {
  13. setup() {
  14. stringBuffer = createBuffer()
  15. },
  16. },
  17. )
  18. let stringNestedBuffer = createBuffer()
  19. bench(
  20. 'string with nested',
  21. () => {
  22. for (let i = 0; i < 10; i += 1) {
  23. if (i % 3 === 0) {
  24. stringNestedBuffer.push('hello')
  25. } else {
  26. const buffer = createBuffer()
  27. buffer.push('hello')
  28. stringNestedBuffer.push(buffer.getBuffer())
  29. }
  30. }
  31. },
  32. {
  33. setup() {
  34. stringNestedBuffer = createBuffer()
  35. },
  36. },
  37. )
  38. bench(
  39. 'string with nested async',
  40. () => {
  41. for (let i = 0; i < 10; i += 1) {
  42. if (i % 3 === 0) {
  43. const buffer = createBuffer()
  44. buffer.push('hello')
  45. stringNestedBuffer.push(Promise.resolve(buffer.getBuffer()))
  46. } else {
  47. const buffer = createBuffer()
  48. buffer.push('hello')
  49. stringNestedBuffer.push(buffer.getBuffer())
  50. }
  51. }
  52. },
  53. {
  54. setup() {
  55. stringNestedBuffer = createBuffer()
  56. },
  57. },
  58. )
  59. })