Skip to content

Commit

Permalink
Performance (mckaywrigley#602)
Browse files Browse the repository at this point in the history
  • Loading branch information
anthonypuppo committed Apr 19, 2023
1 parent 24068ea commit c959264
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 4 deletions.
4 changes: 2 additions & 2 deletions components/Chat/Chat.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ import HomeContext from '@/pages/api/home/home.context';
import Spinner from '../Spinner';
import { ChatInput } from './ChatInput';
import { ChatLoader } from './ChatLoader';
import { ChatMessage } from './ChatMessage';
import { ErrorMessageDiv } from './ErrorMessageDiv';
import { ModelSelect } from './ModelSelect';
import { SystemPrompt } from './SystemPrompt';
import { TemperatureSlider } from './Temperature';
import { MemoizedChatMessage } from './MemoizedChatMessage';

interface Props {
stopConversationRef: MutableRefObject<boolean>;
Expand Down Expand Up @@ -464,7 +464,7 @@ export const Chat = memo(({ stopConversationRef }: Props) => {
)}

{selectedConversation?.messages.map((message, index) => (
<ChatMessage
<MemoizedChatMessage
key={index}
message={message}
messageIndex={index}
Expand Down
2 changes: 1 addition & 1 deletion components/Chat/ChatMessage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import rehypeMathjax from 'rehype-mathjax';
import remarkGfm from 'remark-gfm';
import remarkMath from 'remark-math';

interface Props {
export interface Props {
message: Message;
messageIndex: number;
onEdit?: (editedMessage: Message) => void
Expand Down
9 changes: 9 additions & 0 deletions components/Chat/MemoizedChatMessage.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { FC, memo } from "react";
import { ChatMessage, Props } from "./ChatMessage";

export const MemoizedChatMessage: FC<Props> = memo(
ChatMessage,
(prevProps, nextProps) => (
prevProps.message.content === nextProps.message.content
)
);
7 changes: 6 additions & 1 deletion components/Markdown/MemoizedReactMarkdown.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import { FC, memo } from 'react';
import ReactMarkdown, { Options } from 'react-markdown';

export const MemoizedReactMarkdown: FC<Options> = memo(ReactMarkdown);
export const MemoizedReactMarkdown: FC<Options> = memo(
ReactMarkdown,
(prevProps, nextProps) => (
prevProps.children === nextProps.children
)
);

0 comments on commit c959264

Please sign in to comment.